├── .BuildProject ├── .gitattributes ├── .gitignore ├── .nuget └── packages.config ├── Apache-2.0.licenseheader ├── AssemblyInfoShared.cs ├── Build-OneClick.cmd ├── Build.cmd ├── Build ├── Build.csproj ├── Customizations │ ├── DisableDependDB.targets │ ├── Local │ │ └── Configuration.targets │ ├── PatchNuGetOutput.targets │ ├── Projects.props │ ├── Properties.props │ ├── Server │ │ └── Configuration.targets │ ├── Version.props │ └── releaseProcessScript.config ├── Remotion.Local.build ├── Remotion.Server.build ├── Remotion.build ├── packages.config └── teamcity.properties ├── Core.Net_3_5 ├── App_Packages │ ├── Remotion.JetBrains.Annotations.Sources.1.15.23.0 │ │ ├── AssertionConditionAttribute.cs │ │ ├── AssertionConditionType.cs │ │ ├── AssertionMethodAttribute.cs │ │ ├── BaseTypeRequiredAttribute.cs │ │ ├── CanBeNullAttribute.cs │ │ ├── CannotApplyEqualityOperatorAttribute.cs │ │ ├── ContractAnnotationAttribute.cs │ │ ├── ImplicitUseKindFlags.cs │ │ ├── ImplicitUseTargetFlags.cs │ │ ├── InstantHandleAttribute.cs │ │ ├── InvokerParameterNameAttribute.cs │ │ ├── LinqTunnelAttribute.cs │ │ ├── LocalizationRequiredAttribute.cs │ │ ├── MeansImplicitUseAttribute.cs │ │ ├── NoEnumerationAttribute.cs │ │ ├── NotNullAttribute.cs │ │ ├── NotifyPropertyChangedInvocatorAttribute.cs │ │ ├── PathReferenceAttribute.cs │ │ ├── PublicAPIAttribute.cs │ │ ├── PureAttribute.cs │ │ ├── ReSharperAnnotations Apache-2.0.licenseheader │ │ ├── StringFormatMethodAttribute.cs │ │ ├── TerminatesProgramAttribute.cs │ │ └── UsedImplicitlyAttribute.cs │ ├── Remotion.Utilities.ArgumentUtility.Sources.1.15.23.0 │ │ ├── ArgumentUtility.cs │ │ └── SharedSource Apache-2.0.licenseheader │ ├── Remotion.Utilities.Assertion.Sources.1.15.23.0 │ │ ├── Assertion.cs │ │ └── SharedSource Apache-2.0.licenseheader │ └── Remotion.Utilities.NullableTypeUtility.Sources.1.15.23.0 │ │ ├── NullableTypeUtility.cs │ │ └── SharedSource Apache-2.0.licenseheader ├── Clauses │ ├── ExpressionVisitors │ │ └── FormattingExpressionVisitor.cs │ └── Expressions │ │ └── ExtensionExpression.cs ├── Collections │ ├── NotifyCollectionChangedAction.cs │ ├── NotifyCollectionChangedEventArgs.cs │ └── ObservableCollection.cs ├── Core.Net_3_5.csproj ├── Parsing │ ├── ExpressionVisitor.cs │ ├── RelinqExpressionVisitor.NET_3_5.cs │ └── ThrowingExpressionVisitor.NET_3_5.cs ├── Utilities │ └── Lazy.cs └── packages.config ├── Core.Net_4_0 ├── App_Packages │ ├── Remotion.JetBrains.Annotations.Sources.1.15.23.0 │ │ ├── AssertionConditionAttribute.cs │ │ ├── AssertionConditionType.cs │ │ ├── AssertionMethodAttribute.cs │ │ ├── BaseTypeRequiredAttribute.cs │ │ ├── CanBeNullAttribute.cs │ │ ├── CannotApplyEqualityOperatorAttribute.cs │ │ ├── ContractAnnotationAttribute.cs │ │ ├── ImplicitUseKindFlags.cs │ │ ├── ImplicitUseTargetFlags.cs │ │ ├── InstantHandleAttribute.cs │ │ ├── InvokerParameterNameAttribute.cs │ │ ├── LinqTunnelAttribute.cs │ │ ├── LocalizationRequiredAttribute.cs │ │ ├── MeansImplicitUseAttribute.cs │ │ ├── NoEnumerationAttribute.cs │ │ ├── NotNullAttribute.cs │ │ ├── NotifyPropertyChangedInvocatorAttribute.cs │ │ ├── PathReferenceAttribute.cs │ │ ├── PublicAPIAttribute.cs │ │ ├── PureAttribute.cs │ │ ├── ReSharperAnnotations Apache-2.0.licenseheader │ │ ├── StringFormatMethodAttribute.cs │ │ ├── TerminatesProgramAttribute.cs │ │ └── UsedImplicitlyAttribute.cs │ ├── Remotion.Utilities.ArgumentUtility.Sources.1.15.23.0 │ │ ├── ArgumentUtility.cs │ │ └── SharedSource Apache-2.0.licenseheader │ ├── Remotion.Utilities.Assertion.Sources.1.15.23.0 │ │ ├── Assertion.cs │ │ └── SharedSource Apache-2.0.licenseheader │ └── Remotion.Utilities.NullableTypeUtility.Sources.1.15.23.0 │ │ ├── NullableTypeUtility.cs │ │ └── SharedSource Apache-2.0.licenseheader ├── Core.Net_4_0.csproj ├── Utilities │ ├── MethodInfoExtensions.cs │ ├── TypeExtensions.cs │ └── TypeInfo.cs └── packages.config ├── Core.Net_4_5 ├── App_Packages │ ├── Remotion.JetBrains.Annotations.Sources.1.15.23.0 │ │ ├── AssertionConditionAttribute.cs │ │ ├── AssertionConditionType.cs │ │ ├── AssertionMethodAttribute.cs │ │ ├── BaseTypeRequiredAttribute.cs │ │ ├── CanBeNullAttribute.cs │ │ ├── CannotApplyEqualityOperatorAttribute.cs │ │ ├── ContractAnnotationAttribute.cs │ │ ├── ImplicitUseKindFlags.cs │ │ ├── ImplicitUseTargetFlags.cs │ │ ├── InstantHandleAttribute.cs │ │ ├── InvokerParameterNameAttribute.cs │ │ ├── LinqTunnelAttribute.cs │ │ ├── LocalizationRequiredAttribute.cs │ │ ├── MeansImplicitUseAttribute.cs │ │ ├── NoEnumerationAttribute.cs │ │ ├── NotNullAttribute.cs │ │ ├── NotifyPropertyChangedInvocatorAttribute.cs │ │ ├── PathReferenceAttribute.cs │ │ ├── PublicAPIAttribute.cs │ │ ├── PureAttribute.cs │ │ ├── ReSharperAnnotations Apache-2.0.licenseheader │ │ ├── StringFormatMethodAttribute.cs │ │ ├── TerminatesProgramAttribute.cs │ │ └── UsedImplicitlyAttribute.cs │ ├── Remotion.Utilities.ArgumentUtility.Sources.1.15.23.0 │ │ ├── ArgumentUtility.cs │ │ └── SharedSource Apache-2.0.licenseheader │ ├── Remotion.Utilities.Assertion.Sources.1.15.23.0 │ │ ├── Assertion.cs │ │ └── SharedSource Apache-2.0.licenseheader │ └── Remotion.Utilities.NullableTypeUtility.Sources.1.15.23.0 │ │ ├── NullableTypeUtility.cs │ │ └── SharedSource Apache-2.0.licenseheader ├── Core.Net_4_5.csproj ├── Utilities │ ├── MethodInfoExtensions.cs │ ├── TypeExtensions.cs │ └── TypeInfo.cs └── packages.config ├── Core ├── App_Packages │ ├── Remotion.JetBrains.Annotations.Sources.1.15.23.0 │ │ ├── AssertionConditionAttribute.cs │ │ ├── AssertionConditionType.cs │ │ ├── AssertionMethodAttribute.cs │ │ ├── BaseTypeRequiredAttribute.cs │ │ ├── CanBeNullAttribute.cs │ │ ├── CannotApplyEqualityOperatorAttribute.cs │ │ ├── ContractAnnotationAttribute.cs │ │ ├── ImplicitUseKindFlags.cs │ │ ├── ImplicitUseTargetFlags.cs │ │ ├── InstantHandleAttribute.cs │ │ ├── InvokerParameterNameAttribute.cs │ │ ├── LinqTunnelAttribute.cs │ │ ├── LocalizationRequiredAttribute.cs │ │ ├── MeansImplicitUseAttribute.cs │ │ ├── NoEnumerationAttribute.cs │ │ ├── NotNullAttribute.cs │ │ ├── NotifyPropertyChangedInvocatorAttribute.cs │ │ ├── PathReferenceAttribute.cs │ │ ├── PublicAPIAttribute.cs │ │ ├── PureAttribute.cs │ │ ├── ReSharperAnnotations Apache-2.0.licenseheader │ │ ├── StringFormatMethodAttribute.cs │ │ ├── TerminatesProgramAttribute.cs │ │ └── UsedImplicitlyAttribute.cs │ ├── Remotion.Utilities.ArgumentUtility.Sources.1.15.23.0 │ │ ├── ArgumentUtility.cs │ │ └── SharedSource Apache-2.0.licenseheader │ ├── Remotion.Utilities.Assertion.Sources.1.15.23.0 │ │ ├── Assertion.cs │ │ └── SharedSource Apache-2.0.licenseheader │ └── Remotion.Utilities.NullableTypeUtility.Sources.1.15.23.0 │ │ ├── NullableTypeUtility.cs │ │ └── SharedSource Apache-2.0.licenseheader ├── Build.targets ├── Clauses │ ├── AdditionalFromClause.cs │ ├── CloneContext.cs │ ├── ExpressionVisitors │ │ ├── AccessorFindingExpressionVisitor.cs │ │ ├── CloningExpressionVisitor.cs │ │ ├── ReferenceReplacingExpressionVisitor.cs │ │ └── ReverseResolvingExpressionVisitor.cs │ ├── Expressions │ │ ├── IPartialEvaluationExceptionExpressionVisitor.cs │ │ ├── IVBSpecificExpressionVisitor.cs │ │ ├── PartialEvaluationExceptionExpression.cs │ │ ├── QuerySourceReferenceExpression.cs │ │ ├── SubQueryExpression.cs │ │ └── VBStringComparisonExpression.cs │ ├── FromClauseBase.cs │ ├── GroupJoinClause.cs │ ├── IBodyClause.cs │ ├── IClause.cs │ ├── IFromClause.cs │ ├── IQuerySource.cs │ ├── JoinClause.cs │ ├── MainFromClause.cs │ ├── OrderByClause.cs │ ├── Ordering.cs │ ├── OrderingDirection.cs │ ├── QuerySourceMapping.cs │ ├── ResultOperatorBase.cs │ ├── ResultOperators │ │ ├── AggregateFromSeedResultOperator.cs │ │ ├── AggregateResultOperator.cs │ │ ├── AllResultOperator.cs │ │ ├── AnyResultOperator.cs │ │ ├── AsQueryableResultOperator.cs │ │ ├── AverageResultOperator.cs │ │ ├── CastResultOperator.cs │ │ ├── ChoiceResultOperatorBase.cs │ │ ├── ConcatResultOperator.cs │ │ ├── ContainsResultOperator.cs │ │ ├── CountResultOperator.cs │ │ ├── DefaultIfEmptyResultOperator.cs │ │ ├── DistinctResultOperator.cs │ │ ├── ExceptResultOperator.cs │ │ ├── FirstResultOperator.cs │ │ ├── GroupResultOperator.cs │ │ ├── IntersectResultOperator.cs │ │ ├── LastResultOperator.cs │ │ ├── LongCountResultOperator.cs │ │ ├── MaxResultOperator.cs │ │ ├── MinResultOperator.cs │ │ ├── OfTypeResultOperator.cs │ │ ├── ReverseResultOperator.cs │ │ ├── SequenceFromSequenceResultOperatorBase.cs │ │ ├── SequenceTypePreservingResultOperatorBase.cs │ │ ├── SingleResultOperator.cs │ │ ├── SkipResultOperator.cs │ │ ├── SumResultOperator.cs │ │ ├── TakeResultOperator.cs │ │ ├── UnionResultOperator.cs │ │ └── ValueFromSequenceResultOperatorBase.cs │ ├── SelectClause.cs │ ├── StreamedData │ │ ├── IStreamedData.cs │ │ ├── IStreamedDataInfo.cs │ │ ├── StreamedScalarValueInfo.cs │ │ ├── StreamedSequence.cs │ │ ├── StreamedSequenceInfo.cs │ │ ├── StreamedSingleValueInfo.cs │ │ ├── StreamedValue.cs │ │ └── StreamedValueInfo.cs │ └── WhereClause.cs ├── Collections │ ├── ChangeResistantObservableCollectionEnumerator.cs │ ├── IndexValuePair.cs │ ├── MultiDictionaryExtensions.cs │ └── ObservableCollectionExtensions.cs ├── Core.csproj ├── Core.nuspec ├── DefaultQueryProvider.cs ├── Doc │ └── include │ │ ├── GettingStarted.aml │ │ └── NamespaceDoc.xml ├── IQueryExecutor.cs ├── IQueryModelVisitor.cs ├── Parsing │ ├── ExpressionVisitors │ │ ├── MemberBindings │ │ │ ├── FieldInfoBinding.cs │ │ │ ├── MemberBinding.cs │ │ │ ├── MethodInfoBinding.cs │ │ │ └── PropertyInfoBinding.cs │ │ ├── MultiReplacingExpressionVisitor.cs │ │ ├── PartialEvaluatingExpressionVisitor.cs │ │ ├── ReplacingExpressionVisitor.cs │ │ ├── SubQueryFindingExpressionVisitor.cs │ │ ├── Transformation │ │ │ ├── ExpressionTransformation.cs │ │ │ ├── ExpressionTransformerRegistry.cs │ │ │ ├── IExpressionTranformationProvider.cs │ │ │ ├── IExpressionTransformer.cs │ │ │ └── PredefinedTransformations │ │ │ │ ├── AttributeEvaluatingExpressionTransformer.cs │ │ │ │ ├── DictionaryEntryNewExpressionTransformer.cs │ │ │ │ ├── InvocationOfLambdaExpressionTransformer.cs │ │ │ │ ├── KeyValuePairNewExpressionTransformer.cs │ │ │ │ ├── MemberAddingNewExpressionTransformerBase.cs │ │ │ │ ├── MethodCallExpressionTransformerAttribute.cs │ │ │ │ ├── NullableValueTransformer.cs │ │ │ │ ├── TupleNewExpressionTransformer.cs │ │ │ │ ├── VBCompareStringExpressionTransformer.cs │ │ │ │ └── VBInformationIsNothingExpressionTransformer.cs │ │ ├── TransformingExpressionVisitor.cs │ │ ├── TransparentIdentifierRemovingExpressionVisitor.cs │ │ └── TreeEvaluation │ │ │ ├── EvaluatableExpressionFilterBase.cs │ │ │ ├── EvaluatableTreeFindingExpressionVisitor.cs │ │ │ ├── IEvaluatableExpressionFilter.cs │ │ │ ├── NullEvaluatableExpressionFilter.cs │ │ │ └── PartialEvaluationInfo.cs │ ├── ParserException.Obsolete.cs │ ├── RelinqExpressionVisitor.cs │ ├── Structure │ │ ├── ExpressionTreeParser.cs │ │ ├── ExpressionTreeProcessors │ │ │ ├── CompoundExpressionTreeProcessor.cs │ │ │ ├── NullExpressionTreeProcessor.cs │ │ │ ├── PartialEvaluatingExpressionTreeProcessor.cs │ │ │ └── TransformingExpressionTreeProcessor.cs │ │ ├── IExpressionTreeProcessor.cs │ │ ├── INodeTypeProvider.cs │ │ ├── IQueryParser.cs │ │ ├── IntermediateModel │ │ │ ├── AggregateExpressionNode.cs │ │ │ ├── AggregateFromSeedExpressionNode.cs │ │ │ ├── AllExpressionNode.cs │ │ │ ├── AnyExpressionNode.cs │ │ │ ├── AsQueryableExpressionNode.cs │ │ │ ├── AverageExpressionNode.cs │ │ │ ├── CastExpressionNode.cs │ │ │ ├── ClauseGenerationContext.cs │ │ │ ├── ConcatExpressionNode.cs │ │ │ ├── ContainsExpressionNode.cs │ │ │ ├── CountExpressionNode.cs │ │ │ ├── DefaultIfEmptyExpressionNode.cs │ │ │ ├── DistinctExpressionNode.cs │ │ │ ├── ExceptExpressionNode.cs │ │ │ ├── ExpressionNodeInstantiationException.cs │ │ │ ├── ExpressionResolver.cs │ │ │ ├── FirstExpressionNode.cs │ │ │ ├── GroupByExpressionNode.cs │ │ │ ├── GroupByWithResultSelectorExpressionNode.cs │ │ │ ├── GroupJoinExpressionNode.cs │ │ │ ├── IExpressionNode.cs │ │ │ ├── IQuerySourceExpressionNode.cs │ │ │ ├── IntersectExpressionNode.cs │ │ │ ├── JoinExpressionNode.cs │ │ │ ├── LastExpressionNode.cs │ │ │ ├── LongCountExpressionNode.cs │ │ │ ├── MainSourceExpressionNode.cs │ │ │ ├── MaxExpressionNode.cs │ │ │ ├── MethodCallExpressionNodeBase.cs │ │ │ ├── MethodCallExpressionNodeFactory.cs │ │ │ ├── MethodCallExpressionParseInfo.cs │ │ │ ├── MinExpressionNode.cs │ │ │ ├── OfTypeExpressionNode.cs │ │ │ ├── OrderByDescendingExpressionNode.cs │ │ │ ├── OrderByExpressionNode.cs │ │ │ ├── QuerySourceExpressionNodeUtility.cs │ │ │ ├── QuerySourceSetOperationExpressionNodeBase.cs │ │ │ ├── ResolvedExpressionCache.cs │ │ │ ├── ResultOperatorExpressionNodeBase.cs │ │ │ ├── ReverseExpressionNode.cs │ │ │ ├── SelectExpressionNode.cs │ │ │ ├── SelectManyExpressionNode.cs │ │ │ ├── SingleExpressionNode.cs │ │ │ ├── SkipExpressionNode.cs │ │ │ ├── SumExpressionNode.cs │ │ │ ├── SupportedMethodSpecifications.cs │ │ │ ├── TakeExpressionNode.cs │ │ │ ├── ThenByDescendingExpressionNode.cs │ │ │ ├── ThenByExpressionNode.cs │ │ │ ├── UnionExpressionNode.cs │ │ │ └── WhereExpressionNode.cs │ │ ├── MethodCallExpressionParser.cs │ │ ├── NodeTypeProviders │ │ │ ├── CompoundNodeTypeProvider.cs │ │ │ ├── MethodInfoBasedNodeTypeRegistry.cs │ │ │ ├── MethodNameBasedNodeTypeRegistry.cs │ │ │ └── NameBasedRegistrationInfo.cs │ │ └── QueryParser.cs │ ├── ThrowingExpressionVisitor.cs │ └── TupleExpressionBuilder.cs ├── Properties │ └── AssemblyInfo.cs ├── QueryModel.cs ├── QueryModelBuilder.cs ├── QueryModelVisitorBase.cs ├── QueryProviderBase.cs ├── QueryableBase.cs ├── Transformations │ └── SubQueryFromClauseFlattener.cs ├── UniqueIdentifierGenerator.cs ├── Utilities │ ├── ExpressionExtensions.cs │ ├── ItemTypeReflectionUtility.cs │ ├── ReflectionExtensions.cs │ ├── ReflectionUtility.cs │ └── StringUtility.cs ├── dotnet-install.ps1 ├── packages.config └── project.json ├── Development.Net_3_5.UnitTests ├── App_Packages │ ├── Remotion.JetBrains.Annotations.Sources.1.15.23.0 │ │ ├── AssertionConditionAttribute.cs │ │ ├── AssertionConditionType.cs │ │ ├── AssertionMethodAttribute.cs │ │ ├── BaseTypeRequiredAttribute.cs │ │ ├── CanBeNullAttribute.cs │ │ ├── CannotApplyEqualityOperatorAttribute.cs │ │ ├── ContractAnnotationAttribute.cs │ │ ├── ImplicitUseKindFlags.cs │ │ ├── ImplicitUseTargetFlags.cs │ │ ├── InstantHandleAttribute.cs │ │ ├── InvokerParameterNameAttribute.cs │ │ ├── LinqTunnelAttribute.cs │ │ ├── LocalizationRequiredAttribute.cs │ │ ├── MeansImplicitUseAttribute.cs │ │ ├── NoEnumerationAttribute.cs │ │ ├── NotNullAttribute.cs │ │ ├── NotifyPropertyChangedInvocatorAttribute.cs │ │ ├── PathReferenceAttribute.cs │ │ ├── PublicAPIAttribute.cs │ │ ├── PureAttribute.cs │ │ ├── ReSharperAnnotations Apache-2.0.licenseheader │ │ ├── StringFormatMethodAttribute.cs │ │ ├── TerminatesProgramAttribute.cs │ │ └── UsedImplicitlyAttribute.cs │ ├── Remotion.Utilities.ArgumentUtility.Sources.1.15.23.0 │ │ ├── ArgumentUtility.cs │ │ └── SharedSource Apache-2.0.licenseheader │ ├── Remotion.Utilities.EqualityUtility.Sources.1.15.23.0 │ │ ├── EqualityUtility.cs │ │ └── SharedSource Apache-2.0.licenseheader │ └── Remotion.Utilities.NullableTypeUtility.Sources.1.15.23.0 │ │ ├── NullableTypeUtility.cs │ │ └── SharedSource Apache-2.0.licenseheader ├── Development.Net_3_5.UnitTests.csproj ├── Utilities │ ├── Tuple.cs │ └── Tuple1.cs └── packages.config ├── Development.Net_3_5 ├── App_Packages │ ├── Remotion.JetBrains.Annotations.Sources.1.15.23.0 │ │ ├── AssertionConditionAttribute.cs │ │ ├── AssertionConditionType.cs │ │ ├── AssertionMethodAttribute.cs │ │ ├── BaseTypeRequiredAttribute.cs │ │ ├── CanBeNullAttribute.cs │ │ ├── CannotApplyEqualityOperatorAttribute.cs │ │ ├── ContractAnnotationAttribute.cs │ │ ├── ImplicitUseKindFlags.cs │ │ ├── ImplicitUseTargetFlags.cs │ │ ├── InstantHandleAttribute.cs │ │ ├── InvokerParameterNameAttribute.cs │ │ ├── LinqTunnelAttribute.cs │ │ ├── LocalizationRequiredAttribute.cs │ │ ├── MeansImplicitUseAttribute.cs │ │ ├── NoEnumerationAttribute.cs │ │ ├── NotNullAttribute.cs │ │ ├── NotifyPropertyChangedInvocatorAttribute.cs │ │ ├── PathReferenceAttribute.cs │ │ ├── PublicAPIAttribute.cs │ │ ├── PureAttribute.cs │ │ ├── StringFormatMethodAttribute.cs │ │ ├── TerminatesProgramAttribute.cs │ │ └── UsedImplicitlyAttribute.cs │ ├── Remotion.Utilities.ArgumentUtility.Sources.1.15.23.0 │ │ └── ArgumentUtility.cs │ ├── Remotion.Utilities.Assertion.Sources.1.15.23.0 │ │ ├── Assertion.cs │ │ └── SharedSource Apache-2.0.licenseheader │ └── Remotion.Utilities.NullableTypeUtility.Sources.1.15.23.0 │ │ ├── NullableTypeUtility.cs │ │ └── SharedSource Apache-2.0.licenseheader ├── Development.Net_3_5.csproj └── packages.config ├── Development.Net_4_0.UnitTests ├── Development.Net_4_0.UnitTests.csproj └── packages.config ├── Development.Net_4_0 ├── App_Packages │ ├── Remotion.JetBrains.Annotations.Sources.1.15.23.0 │ │ ├── AssertionConditionAttribute.cs │ │ ├── AssertionConditionType.cs │ │ ├── AssertionMethodAttribute.cs │ │ ├── BaseTypeRequiredAttribute.cs │ │ ├── CanBeNullAttribute.cs │ │ ├── CannotApplyEqualityOperatorAttribute.cs │ │ ├── ContractAnnotationAttribute.cs │ │ ├── ImplicitUseKindFlags.cs │ │ ├── ImplicitUseTargetFlags.cs │ │ ├── InstantHandleAttribute.cs │ │ ├── InvokerParameterNameAttribute.cs │ │ ├── LinqTunnelAttribute.cs │ │ ├── LocalizationRequiredAttribute.cs │ │ ├── MeansImplicitUseAttribute.cs │ │ ├── NoEnumerationAttribute.cs │ │ ├── NotNullAttribute.cs │ │ ├── NotifyPropertyChangedInvocatorAttribute.cs │ │ ├── PathReferenceAttribute.cs │ │ ├── PublicAPIAttribute.cs │ │ ├── PureAttribute.cs │ │ ├── StringFormatMethodAttribute.cs │ │ ├── TerminatesProgramAttribute.cs │ │ └── UsedImplicitlyAttribute.cs │ ├── Remotion.Utilities.ArgumentUtility.Sources.1.15.23.0 │ │ └── ArgumentUtility.cs │ ├── Remotion.Utilities.Assertion.Sources.1.15.23.0 │ │ ├── Assertion.cs │ │ └── SharedSource Apache-2.0.licenseheader │ └── Remotion.Utilities.NullableTypeUtility.Sources.1.15.23.0 │ │ ├── NullableTypeUtility.cs │ │ └── SharedSource Apache-2.0.licenseheader ├── Development.Net_4_0.csproj └── packages.config ├── Development.UnitTests ├── Development.UnitTests.csproj ├── Properties │ └── AssemblyInfo.cs ├── UnitTesting │ └── ExpressionTreeComparerTest.cs └── packages.config ├── Development ├── App_Packages │ ├── Remotion.JetBrains.Annotations.Sources.1.15.23.0 │ │ ├── AssertionConditionAttribute.cs │ │ ├── AssertionConditionType.cs │ │ ├── AssertionMethodAttribute.cs │ │ ├── BaseTypeRequiredAttribute.cs │ │ ├── CanBeNullAttribute.cs │ │ ├── CannotApplyEqualityOperatorAttribute.cs │ │ ├── ContractAnnotationAttribute.cs │ │ ├── ImplicitUseKindFlags.cs │ │ ├── ImplicitUseTargetFlags.cs │ │ ├── InstantHandleAttribute.cs │ │ ├── InvokerParameterNameAttribute.cs │ │ ├── LinqTunnelAttribute.cs │ │ ├── LocalizationRequiredAttribute.cs │ │ ├── MeansImplicitUseAttribute.cs │ │ ├── NoEnumerationAttribute.cs │ │ ├── NotNullAttribute.cs │ │ ├── NotifyPropertyChangedInvocatorAttribute.cs │ │ ├── PathReferenceAttribute.cs │ │ ├── PublicAPIAttribute.cs │ │ ├── PureAttribute.cs │ │ ├── StringFormatMethodAttribute.cs │ │ ├── TerminatesProgramAttribute.cs │ │ └── UsedImplicitlyAttribute.cs │ ├── Remotion.Utilities.ArgumentUtility.Sources.1.15.23.0 │ │ └── ArgumentUtility.cs │ ├── Remotion.Utilities.Assertion.Sources.1.15.23.0 │ │ ├── Assertion.cs │ │ └── SharedSource Apache-2.0.licenseheader │ └── Remotion.Utilities.NullableTypeUtility.Sources.1.15.23.0 │ │ ├── NullableTypeUtility.cs │ │ └── SharedSource Apache-2.0.licenseheader ├── Development.csproj ├── Development.nuspec ├── Properties │ └── AssemblyInfo.cs ├── UnitTesting │ ├── Clauses │ │ ├── Expressions │ │ │ ├── NonReducibleExtensionExpression.cs │ │ │ └── ReducibleExtensionExpression.cs │ │ └── StreamedData │ │ │ └── TestStreamedValueInfo.cs │ ├── ExpressionHelper.cs │ ├── ExpressionTreeComparer.cs │ ├── ExpressionTreeComparerBase.cs │ ├── Parsing │ │ ├── TestEvaluatableExpressionFilter.cs │ │ └── TestableExpressionVisitor.cs │ ├── Sandboxing │ │ ├── PermissionSets.cs │ │ ├── Sandbox.cs │ │ ├── SandboxTestRunner.cs │ │ ├── TestFailedException.cs │ │ ├── TestFixtureResult.cs │ │ └── TestResult.cs │ ├── StubQueryExecutor.cs │ ├── TestQueryModelVisitor.cs │ ├── TestQueryProvider.cs │ └── TestQueryable.cs └── packages.config ├── Generate-Snk.cmd ├── GitExtensions.settings ├── How to Contribute.txt ├── How to build.txt ├── NuGet.config ├── PerformanceTests ├── App.config ├── PerformanceTests.csproj ├── Program.cs ├── Properties │ └── AssemblyInfo.cs └── RunTest.ps1 ├── ReadMe.md ├── Relinq.dependdb.xml ├── Relinq.sln ├── Relinq.sln.DotSettings ├── Relinq.sln.rn.xml ├── UnitTests.Net_3_5 ├── App_Packages │ ├── Remotion.Development.UnitTesting.PrivateInvoke.Sources.1.15.23.0 │ │ ├── PrivateInvoke.cs │ │ └── SharedSource Apache-2.0.licenseheader │ ├── Remotion.Development.UnitTesting.Serializer.Sources.1.15.23.0 │ │ ├── Serializer.cs │ │ └── SharedSource Apache-2.0.licenseheader │ ├── Remotion.JetBrains.Annotations.Sources.1.15.23.0 │ │ ├── AssertionConditionAttribute.cs │ │ ├── AssertionConditionType.cs │ │ ├── AssertionMethodAttribute.cs │ │ ├── BaseTypeRequiredAttribute.cs │ │ ├── CanBeNullAttribute.cs │ │ ├── CannotApplyEqualityOperatorAttribute.cs │ │ ├── ContractAnnotationAttribute.cs │ │ ├── ImplicitUseKindFlags.cs │ │ ├── ImplicitUseTargetFlags.cs │ │ ├── InstantHandleAttribute.cs │ │ ├── InvokerParameterNameAttribute.cs │ │ ├── LinqTunnelAttribute.cs │ │ ├── LocalizationRequiredAttribute.cs │ │ ├── MeansImplicitUseAttribute.cs │ │ ├── NoEnumerationAttribute.cs │ │ ├── NotNullAttribute.cs │ │ ├── NotifyPropertyChangedInvocatorAttribute.cs │ │ ├── PathReferenceAttribute.cs │ │ ├── PublicAPIAttribute.cs │ │ ├── PureAttribute.cs │ │ ├── StringFormatMethodAttribute.cs │ │ ├── TerminatesProgramAttribute.cs │ │ └── UsedImplicitlyAttribute.cs │ ├── Remotion.Utilities.ArgumentUtility.Sources.1.15.23.0 │ │ └── ArgumentUtility.cs │ ├── Remotion.Utilities.Assertion.Sources.1.15.23.0 │ │ ├── Assertion.cs │ │ └── SharedSource Apache-2.0.licenseheader │ ├── Remotion.Utilities.EqualityUtility.Sources.1.15.23.0 │ │ ├── EqualityUtility.cs │ │ └── SharedSource Apache-2.0.licenseheader │ ├── Remotion.Utilities.ExceptionUtility.Sources.1.15.23.0 │ │ ├── ExceptionUtility.cs │ │ └── SharedSource Apache-2.0.licenseheader │ └── Remotion.Utilities.NullableTypeUtility.Sources.1.15.23.0 │ │ ├── NullableTypeUtility.cs │ │ └── SharedSource Apache-2.0.licenseheader ├── Clauses │ ├── ExpressionVisitors │ │ └── FormattingExpressionVisitorTest.cs │ └── Expressions │ │ ├── ExtensionExpressionIntegrationTest.cs │ │ └── ExtensionExpressionTest.cs ├── Collections │ └── ObservableCollectionTest.cs ├── Parsing │ └── ExpressionVisitorTests │ │ ├── ExpressionVisitorTest.cs │ │ ├── ExpressionVisitorTestBase.cs │ │ ├── ExpressionVisitor_BinaryExpressionsTest.cs │ │ └── ExpressionVisitor_SpecificExpressionsTest.cs ├── UnitTests.Net_3_5.csproj ├── Utilities │ ├── Tuple.cs │ ├── Tuple2.cs │ ├── Tuple3.cs │ └── Tuple4.cs └── packages.config ├── UnitTests.Net_4_0 ├── App_Packages │ ├── Remotion.Development.UnitTesting.PrivateInvoke.Sources.1.15.23.0 │ │ ├── PrivateInvoke.cs │ │ └── SharedSource Apache-2.0.licenseheader │ ├── Remotion.Development.UnitTesting.Serializer.Sources.1.15.23.0 │ │ ├── Serializer.cs │ │ └── SharedSource Apache-2.0.licenseheader │ ├── Remotion.JetBrains.Annotations.Sources.1.15.23.0 │ │ ├── AssertionConditionAttribute.cs │ │ ├── AssertionConditionType.cs │ │ ├── AssertionMethodAttribute.cs │ │ ├── BaseTypeRequiredAttribute.cs │ │ ├── CanBeNullAttribute.cs │ │ ├── CannotApplyEqualityOperatorAttribute.cs │ │ ├── ContractAnnotationAttribute.cs │ │ ├── ImplicitUseKindFlags.cs │ │ ├── ImplicitUseTargetFlags.cs │ │ ├── InstantHandleAttribute.cs │ │ ├── InvokerParameterNameAttribute.cs │ │ ├── LinqTunnelAttribute.cs │ │ ├── LocalizationRequiredAttribute.cs │ │ ├── MeansImplicitUseAttribute.cs │ │ ├── NoEnumerationAttribute.cs │ │ ├── NotNullAttribute.cs │ │ ├── NotifyPropertyChangedInvocatorAttribute.cs │ │ ├── PathReferenceAttribute.cs │ │ ├── PublicAPIAttribute.cs │ │ ├── PureAttribute.cs │ │ ├── StringFormatMethodAttribute.cs │ │ ├── TerminatesProgramAttribute.cs │ │ └── UsedImplicitlyAttribute.cs │ ├── Remotion.Utilities.ArgumentUtility.Sources.1.15.23.0 │ │ └── ArgumentUtility.cs │ ├── Remotion.Utilities.Assertion.Sources.1.15.23.0 │ │ ├── Assertion.cs │ │ └── SharedSource Apache-2.0.licenseheader │ ├── Remotion.Utilities.ExceptionUtility.Sources.1.15.23.0 │ │ ├── ExceptionUtility.cs │ │ └── SharedSource Apache-2.0.licenseheader │ └── Remotion.Utilities.NullableTypeUtility.Sources.1.15.23.0 │ │ ├── NullableTypeUtility.cs │ │ └── SharedSource Apache-2.0.licenseheader ├── UnitTests.Net_4_0.csproj ├── Utilities │ └── TypeInfoTest.cs └── packages.config ├── UnitTests.Net_4_5 ├── App_Packages │ ├── Remotion.Development.UnitTesting.PrivateInvoke.Sources.1.15.23.0 │ │ ├── PrivateInvoke.cs │ │ └── SharedSource Apache-2.0.licenseheader │ ├── Remotion.Development.UnitTesting.Serializer.Sources.1.15.23.0 │ │ ├── Serializer.cs │ │ └── SharedSource Apache-2.0.licenseheader │ ├── Remotion.JetBrains.Annotations.Sources.1.15.23.0 │ │ ├── AssertionConditionAttribute.cs │ │ ├── AssertionConditionType.cs │ │ ├── AssertionMethodAttribute.cs │ │ ├── BaseTypeRequiredAttribute.cs │ │ ├── CanBeNullAttribute.cs │ │ ├── CannotApplyEqualityOperatorAttribute.cs │ │ ├── ContractAnnotationAttribute.cs │ │ ├── ImplicitUseKindFlags.cs │ │ ├── ImplicitUseTargetFlags.cs │ │ ├── InstantHandleAttribute.cs │ │ ├── InvokerParameterNameAttribute.cs │ │ ├── LinqTunnelAttribute.cs │ │ ├── LocalizationRequiredAttribute.cs │ │ ├── MeansImplicitUseAttribute.cs │ │ ├── NoEnumerationAttribute.cs │ │ ├── NotNullAttribute.cs │ │ ├── NotifyPropertyChangedInvocatorAttribute.cs │ │ ├── PathReferenceAttribute.cs │ │ ├── PublicAPIAttribute.cs │ │ ├── PureAttribute.cs │ │ ├── StringFormatMethodAttribute.cs │ │ ├── TerminatesProgramAttribute.cs │ │ └── UsedImplicitlyAttribute.cs │ ├── Remotion.Utilities.ArgumentUtility.Sources.1.15.23.0 │ │ └── ArgumentUtility.cs │ ├── Remotion.Utilities.Assertion.Sources.1.15.23.0 │ │ ├── Assertion.cs │ │ └── SharedSource Apache-2.0.licenseheader │ ├── Remotion.Utilities.ExceptionUtility.Sources.1.15.23.0 │ │ ├── ExceptionUtility.cs │ │ └── SharedSource Apache-2.0.licenseheader │ └── Remotion.Utilities.NullableTypeUtility.Sources.1.15.23.0 │ │ ├── NullableTypeUtility.cs │ │ └── SharedSource Apache-2.0.licenseheader ├── UnitTests.Net_4_5.csproj └── packages.config ├── UnitTests ├── App_Packages │ ├── Remotion.Development.UnitTesting.PrivateInvoke.Sources.1.15.23.0 │ │ ├── PrivateInvoke.cs │ │ └── SharedSource Apache-2.0.licenseheader │ ├── Remotion.Development.UnitTesting.Serializer.Sources.1.15.23.0 │ │ ├── Serializer.cs │ │ └── SharedSource Apache-2.0.licenseheader │ ├── Remotion.JetBrains.Annotations.Sources.1.15.23.0 │ │ ├── AssertionConditionAttribute.cs │ │ ├── AssertionConditionType.cs │ │ ├── AssertionMethodAttribute.cs │ │ ├── BaseTypeRequiredAttribute.cs │ │ ├── CanBeNullAttribute.cs │ │ ├── CannotApplyEqualityOperatorAttribute.cs │ │ ├── ContractAnnotationAttribute.cs │ │ ├── ImplicitUseKindFlags.cs │ │ ├── ImplicitUseTargetFlags.cs │ │ ├── InstantHandleAttribute.cs │ │ ├── InvokerParameterNameAttribute.cs │ │ ├── LinqTunnelAttribute.cs │ │ ├── LocalizationRequiredAttribute.cs │ │ ├── MeansImplicitUseAttribute.cs │ │ ├── NoEnumerationAttribute.cs │ │ ├── NotNullAttribute.cs │ │ ├── NotifyPropertyChangedInvocatorAttribute.cs │ │ ├── PathReferenceAttribute.cs │ │ ├── PublicAPIAttribute.cs │ │ ├── PureAttribute.cs │ │ ├── StringFormatMethodAttribute.cs │ │ ├── TerminatesProgramAttribute.cs │ │ └── UsedImplicitlyAttribute.cs │ ├── Remotion.Utilities.ArgumentUtility.Sources.1.15.23.0 │ │ └── ArgumentUtility.cs │ ├── Remotion.Utilities.Assertion.Sources.1.15.23.0 │ │ ├── Assertion.cs │ │ └── SharedSource Apache-2.0.licenseheader │ ├── Remotion.Utilities.ExceptionUtility.Sources.1.15.23.0 │ │ ├── ExceptionUtility.cs │ │ └── SharedSource Apache-2.0.licenseheader │ └── Remotion.Utilities.NullableTypeUtility.Sources.1.15.23.0 │ │ ├── NullableTypeUtility.cs │ │ └── SharedSource Apache-2.0.licenseheader ├── Clauses │ ├── AdditionalFromClauseTest.cs │ ├── ExpressionVisitors │ │ ├── AccessorFindingExpressionVisitorTest.cs │ │ ├── IntegrationTests │ │ │ └── AccessorFindingExpressionTreeVisitorIntegrationTest.cs │ │ ├── ReferenceReplacingExpressionVisitorTest.cs │ │ └── ReverseResolvingExpressionVisitorTest.cs │ ├── Expressions │ │ ├── ExtensionExpressionTestHelper.cs │ │ ├── PartialEvaluationExceptionExpressionTest.cs │ │ ├── QuerySourceReferenceExpressionTest.cs │ │ ├── SubQueryExpressionTest.cs │ │ ├── TestDomain │ │ │ ├── ISpecificVisitor.cs │ │ │ ├── ReducibleExtensionExpression.cs │ │ │ ├── ReducibleExtensionExpressionNotOverridingReduce.cs │ │ │ ├── SpecificVisitor.cs │ │ │ ├── TestableExtensionExpression.cs │ │ │ └── TestableExtensionExpressionWithSpecificVisitor.cs │ │ └── VBStringComparisonExpressionTest.cs │ ├── FromClauseBaseTest.cs │ ├── GroupJoinClauseTest.cs │ ├── JoinClauseTest.cs │ ├── MainFromClauseTest.cs │ ├── OrderByClauseTest.cs │ ├── OrderingTest.cs │ ├── QuerySourceMappingTest.cs │ ├── ResultOperatorBaseTest.cs │ ├── ResultOperators │ │ ├── AggregateFromSeedResultOperatorTest.cs │ │ ├── AggregateResultOperatorTest.cs │ │ ├── AllResultOperatorTest.cs │ │ ├── AnyResultOperatorTest.cs │ │ ├── AsQueryableResultOperatorTest.cs │ │ ├── AverageResultOperatorTest.cs │ │ ├── CastResultOperatorTest.cs │ │ ├── ChoiceResultOperatorBaseTest.cs │ │ ├── ConcatResultOperatorTest.cs │ │ ├── ContainsResultOperatorTest.cs │ │ ├── CountResultOperatorTest.cs │ │ ├── DefaultIfEmptyResultOperatorTest.cs │ │ ├── DistinctResultOperatorTest.cs │ │ ├── ExceptResultOperatorTest.cs │ │ ├── FirstResultOperatorTest.cs │ │ ├── GroupResultOperatorTest.cs │ │ ├── IntersectResultOperatorTest.cs │ │ ├── LastResultOperatorTest.cs │ │ ├── LongCountResultOperatorTest.cs │ │ ├── MaxResultOperatorTest.cs │ │ ├── MinResultOperatorTest.cs │ │ ├── OfTypeResultOperatorTest.cs │ │ ├── ReverseResultOperatorTest.cs │ │ ├── SequenceFromSequenceResultOperatorBaseTest.cs │ │ ├── SequenceTypePreservingResultOperatorBaseTest.cs │ │ ├── SingleResultOperatorTest.cs │ │ ├── SkipResultOperatorTest.cs │ │ ├── SumResultOperatorTest.cs │ │ ├── TakeResultOperatorTest.cs │ │ ├── TestChoiceResultOperator.cs │ │ ├── TestResultOperator.cs │ │ ├── TestSequenceFromSequenceResultOperator.cs │ │ ├── TestSequenceTypePreservingResultOperator.cs │ │ ├── TestValueFromSequenceResultOperator.cs │ │ ├── UnionResultOperatorTest.cs │ │ └── ValueFromSequenceResultOperatorBaseTest.cs │ ├── SelectClauseTest.cs │ ├── StreamedData │ │ ├── StreamedScalarValueInfoTest.cs │ │ ├── StreamedSequenceInfoTest.cs │ │ ├── StreamedSequenceTest.cs │ │ ├── StreamedSingleValueInfoTest.cs │ │ └── StreamedValueTest.cs │ └── WhereClauseTest.cs ├── Collections │ ├── ChangeResistantObservableCollectionEnumeratorTest.cs │ ├── MultiDictionaryExtensionsTest.cs │ └── ObservableCollectionExtensionsTest.cs ├── DefaultQueryProviderTest.cs ├── ExpressionTreeNavigator.cs ├── Parsing │ ├── AnonymousType.cs │ ├── ExpressionTrees │ │ ├── ExpressionTree_Grammar.docx │ │ ├── OrderByThenBy.jpg │ │ ├── multiFromQueryWithProjection.jpg │ │ ├── multiFromWhereQuery.jpg │ │ ├── multiOrderbysThenBys.jpg │ │ ├── multiWhereQuery.jpg │ │ ├── orderByWhereQuery.jpg │ │ ├── reverseFromWhereQuery.jpg │ │ ├── reverseFromWhereQueryWithProjection.jpg │ │ ├── selectWhereQuery.jpg │ │ ├── simpleExplicitJoin.jpg │ │ ├── simpleImplicitJoin.jpg │ │ ├── simpleQuery.JPG │ │ ├── simpleQueryWithFieldProjection.jpg │ │ ├── simpleQueryWithNonEntityMemberAccess.jpg │ │ ├── simpleQueryWithProjection.JPG │ │ ├── simpleSelectManyQuery.jpg │ │ ├── simpleWhereQuery.jpg │ │ ├── threeFromQuery.jpg │ │ ├── threeFromWhereQuery.jpg │ │ └── whereFromWhereQuery.jpg │ ├── ExpressionVisitorTests │ │ ├── ExpressionInstanceCreator.cs │ │ ├── RelinqExpressionVisitorTest.cs │ │ ├── RelinqExpressionVisitorTestBase.cs │ │ ├── RelinqExpressionVisitor_NewExpressionsTest.cs │ │ ├── SimpleClass.cs │ │ ├── SpecialExpressionNode.cs │ │ └── TypeForNewExpression.cs │ ├── ExpressionVisitors │ │ ├── MemberBindings │ │ │ ├── FieldInfoBindingTest.cs │ │ │ ├── MemberBindingTest.cs │ │ │ ├── MemberBindingTestBase.cs │ │ │ ├── MethodInfoBindingTest.cs │ │ │ └── PropertyInfoBindingTest.cs │ │ ├── MultiReplacingExpressionVisitorTest.cs │ │ ├── PartialEvaluatingExpressionVisitorTest.cs │ │ ├── ReplacingExpressionVisitorTest.cs │ │ ├── SubQueryFindingExpressionVisitorTest.cs │ │ ├── Transformation │ │ │ ├── ExpressionTransformerRegistryTest.cs │ │ │ └── PredefinedTransformations │ │ │ │ ├── AttributeEvaluatingExpressionTransformerTest.cs │ │ │ │ ├── DictionaryEntryNewExpressionTransformerTest.cs │ │ │ │ ├── InvocationOfLambdaExpressionTransformerTest.cs │ │ │ │ ├── KeyValuePairNewExpressionTransformerTest.cs │ │ │ │ ├── MethodCallExpressionTransformerAttributeTest.cs │ │ │ │ ├── NullableValueTransformerTest.cs │ │ │ │ ├── TupleNewExpressionTransformerTest.cs │ │ │ │ ├── VBCompareStringExpressionTransformerTest.cs │ │ │ │ └── VBInformationIsNothingExpressionTransformerTest.cs │ │ ├── TransformingExpressionVisitorTest.cs │ │ ├── TransparentIdentifierRemovingExpressionVisitorTest.cs │ │ ├── TreeEvaluation │ │ │ ├── EvaluatableExpressionFilterBaseTest.cs │ │ │ └── EvaluatableTreeFindingExpressionVisitorTest.cs │ │ └── UnknownExpression.cs │ ├── NewExpressionIntegrationTest.cs │ ├── Structure │ │ ├── ExpressionTreeParserTest.cs │ │ ├── ExpressionTreeProcessors │ │ │ ├── CompoundExpressionTreeProcessorTest.cs │ │ │ ├── NullExpressionTreeProcessorTest.cs │ │ │ ├── PartialEvaluatingExpressionTreeProcessorTest.cs │ │ │ └── TransformingExpressionProcessorTest.cs │ │ ├── IntermediateModel │ │ │ ├── AggregateExpressionNodeTest.cs │ │ │ ├── AggregateFromSeedExpressionNodeTest.cs │ │ │ ├── AllExpressionNodeTest.cs │ │ │ ├── AnyExpressionNodeTest.cs │ │ │ ├── AsQueryableExpressionNodeTest.cs │ │ │ ├── AverageExpressionNodeTest.cs │ │ │ ├── CastExpressionNodeTest.cs │ │ │ ├── ClauseGenerationContextTest.cs │ │ │ ├── ConcatExpressionNodeTest.cs │ │ │ ├── ContainsExpressionNodeTest.cs │ │ │ ├── CountExpressionNodeTest.cs │ │ │ ├── DefaultIfEmptyExpressionNodeTest.cs │ │ │ ├── DistinctExpressionNodeTest.cs │ │ │ ├── ExceptExpressionNodeTest.cs │ │ │ ├── ExpressionNodeObjectMother.cs │ │ │ ├── ExpressionNodeTestBase.cs │ │ │ ├── ExpressionResolverTest.cs │ │ │ ├── FirstExpressionNodeTest.cs │ │ │ ├── GroupByExpressionNodeTest.cs │ │ │ ├── GroupByWithResultSelectorExpressionNodeTest.cs │ │ │ ├── GroupJoinExpressionNodeTest.cs │ │ │ ├── IntersectExpressionNodeTest.cs │ │ │ ├── JoinExpressionNodeTest.cs │ │ │ ├── LastExpressionNodeTest.cs │ │ │ ├── LongCountExpressionNodeTest.cs │ │ │ ├── MainSourceExpressionNodeTest.cs │ │ │ ├── MaxExpressionNodeTest.cs │ │ │ ├── MethodCallExpressionNodeBaseTest.cs │ │ │ ├── MethodCallExpressionNodeFactoryTest.cs │ │ │ ├── MinExpressionNodeTest.cs │ │ │ ├── OfTypeExpressionNodeTest.cs │ │ │ ├── OrderByDescendingExpressionNodeTest.cs │ │ │ ├── OrderByExpressionNodeTest.cs │ │ │ ├── QuerySourceExpressionNodeUtilityTest.cs │ │ │ ├── ResolvedExpressionCacheTest.cs │ │ │ ├── ResultOperatorExpressionNodeBaseTest.cs │ │ │ ├── ReverseExpressionNodeTest.cs │ │ │ ├── SelectExpressionNodeTest.cs │ │ │ ├── SelectManyExpressionNodeTest.cs │ │ │ ├── SingleExpressionNodeTest.cs │ │ │ ├── SkipExpressionNodeTest.cs │ │ │ ├── SumExpressionNodeTest.cs │ │ │ ├── TakeExpressionNodeTest.cs │ │ │ ├── TestDomain │ │ │ │ ├── ExpressionNodeWithOnePublicInstanceCtor.cs │ │ │ │ ├── ExpressionNodeWithTooManyCtors.cs │ │ │ │ └── TestMethodCallExpressionNode.cs │ │ │ ├── TestResultOperatorExpressionNode.cs │ │ │ ├── ThenByDescendingExpressionNodeTest.cs │ │ │ ├── ThenByExpressionNodeTest.cs │ │ │ ├── UnionExpressionNodeTest.cs │ │ │ └── WhereExpressionNodeTest.cs │ │ ├── MethodCallExpressionParserTest.cs │ │ ├── NodeTypeProviders │ │ │ ├── CompoundNodeTypeProviderTest.cs │ │ │ ├── MethodInfoBasedNodeTypeRegistryTests │ │ │ │ ├── GetNodeType_MIBNTRT.cs │ │ │ │ ├── GetRegisterableMethodDefinition_MIBNTRT.cs │ │ │ │ ├── IsRegistered_MIBNTRT.cs │ │ │ │ ├── Register_MIBNTRT.cs │ │ │ │ └── TestDomain │ │ │ │ │ ├── GenericClass.cs │ │ │ │ │ └── GenericClass2.cs │ │ │ └── MethodNameBasedNodeTypeRegistryTest.cs │ │ ├── QueryParserIntegrationTests │ │ │ ├── AttributeTransformationIntegrationTest.cs │ │ │ ├── CovariantQueryParserIntegrationTest.cs │ │ │ ├── DelegateInvocationQueryParserIntegrationTest.cs │ │ │ ├── EmptyParametersQueryParserIntegrationTest.cs │ │ │ ├── GroupByQueryParserIntegrationTest.cs │ │ │ ├── GroupJoinQueryParserIntegrationTest.cs │ │ │ ├── JoinQueryParserIntegrationTest.cs │ │ │ ├── MediumTrustQueryParserIntegrationTest.cs │ │ │ ├── NewWithAddedMembersQueryParserIntegrationTest.cs │ │ │ ├── NullableQueryParserIntegrationTest.cs │ │ │ ├── OrderByQueryParserIntegrationTest.cs │ │ │ ├── PartialEvaluationQueryParserIntegrationTest.cs │ │ │ ├── QueryParserIntegrationTestBase.cs │ │ │ ├── ResultOperatorQueryParserIntegrationTest.cs │ │ │ ├── SelectManyQueryParserIntegrationTest.cs │ │ │ ├── SelectQueryParserIntegrationTest.cs │ │ │ ├── SubQueryQueryParserIntegrationTest.cs │ │ │ ├── VBSpecificQueryParserIntegrationTest.cs │ │ │ └── WhereQueryParserIntegrationTest.cs │ │ ├── QueryParserTest.cs │ │ └── TestDomain │ │ │ ├── NonEvaluated.cs │ │ │ ├── NonGenericFakeCollection.cs │ │ │ ├── QueryParserIntegrationTestsEvaluatableExpressionFilter.cs │ │ │ └── QueryableFakeWithCount.cs │ ├── TestThrowingConstantExpressionVisitor.cs │ ├── TestThrowingExpressionVisitor.cs │ ├── TestThrowingExpressionVisitorForLambda.cs │ ├── ThrowingExpressionVisitorTest.cs │ └── TupleExpressionBuilderTest.cs ├── Properties │ └── AssemblyInfo.cs ├── QueryModelBuilderTest.cs ├── QueryModelTest.cs ├── QueryModelVisitorBaseTest.cs ├── QueryProviderBaseTest.cs ├── QueryableBaseTest.cs ├── TestDomain │ ├── BaseValue.cs │ ├── Chef.cs │ ├── Company.cs │ ├── Cook.cs │ ├── Course.cs │ ├── DerivedValue.cs │ ├── ISpecificCook.cs │ ├── Kitchen.cs │ ├── Knife.cs │ ├── MetaID.cs │ ├── QueryableWithTooManyArguments.cs │ ├── Restaurant.cs │ └── Result.cs ├── TestQueryGenerators │ ├── CastTestQueryGenerator.cs │ ├── DistinctTestQueryGenerator.cs │ ├── FromTestQueryGenerator.cs │ ├── JoinTestQueryGenerator.cs │ ├── LetTestQueryGenerator.cs │ ├── MethodCallTestQueryGenerator.cs │ ├── MixedTestQueryGenerator.cs │ ├── OrderByTestQueryGenerator.cs │ ├── SelectTestQueryGenerator.cs │ ├── SubQueryTestQueryGenerator.cs │ └── WhereTestQueryGenerator.cs ├── TestUtilities │ └── NonTransformedTuple.cs ├── Transformations │ └── SubQueryFromClauseFlattenerTest.cs ├── UniqueIdentifierGeneratorTest.cs ├── UnitTests.csproj ├── Utilities │ ├── ItemTypeReflectionUtilityTest.cs │ └── ReflectionUtilityTest.cs └── packages.config ├── directory.build.props ├── license └── Apache-2.0.txt └── packages └── repositories.config /.BuildProject: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Build/Customizations/releaseProcessScript.config 5 | 1.0.6180.28602 6 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Set default behaviour, in case users don't have core.autocrlf set. 2 | * text=auto 3 | 4 | # DotSettings files have LFs, not CRLFs 5 | *.DotSettings text eol=lf 6 | -------------------------------------------------------------------------------- /.nuget/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /AssemblyInfoShared.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using System; 19 | using System.Reflection; 20 | 21 | [assembly: AssemblyCompany ("rubicon IT GmbH")] 22 | [assembly: AssemblyProduct ("re-motion Framework: re-linq (www.re-motion.org)")] 23 | [assembly: AssemblyCopyright ("Copyright (c) rubicon IT GmbH, www.rubicon.eu - Licensed under Apache License, Version 2.0")] 24 | [assembly: AssemblyTrademark ("")] 25 | [assembly: AssemblyConfiguration ("Build type: Debug")] 26 | [assembly: AssemblyVersion ("2.3.0.0")] 27 | [assembly: AssemblyFileVersion ("2.3.0.24009")] 28 | [assembly: AssemblyInformationalVersion ("2.3.0-x.9+Debug")] 29 | -------------------------------------------------------------------------------- /Build-OneClick.cmd: -------------------------------------------------------------------------------- 1 | start Build.cmd run_test_build -------------------------------------------------------------------------------- /Build/Customizations/DisableDependDB.targets: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Build/Customizations/Local/Configuration.targets: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /Build/Customizations/Properties.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | $(SolutionDirectory)AssemblyInfoShared.* 5 | rubicon IT GmbH 6 | http://www.rubicon.eu 7 | Copyright (c) rubicon IT GmbH, www.rubicon.eu - Licensed under Apache License, Version 2.0 8 | re-motion Framework: re-linq (www.re-motion.org) 9 | $(SolutionDirectory)Core\Doc\include\GettingStarted.aml 10 | $(SolutionDirectory)**\Doc\include\NamespaceDoc.xml 11 | re-motion Relinq 12 | 10 13 | Main 14 | 15 | 16 | Remotion.* 17 | $(SolutionDirectory)packages 18 | 19 | -------------------------------------------------------------------------------- /Build/Customizations/Server/Configuration.targets: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Build/Customizations/Version.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 12 | 2.3.0 13 | 14 | -------------------------------------------------------------------------------- /Build/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /Build/teamcity.properties: -------------------------------------------------------------------------------- 1 | MSBuildVersion=15.0 2 | SignPath.Used.ArtifactConfigurationSlug=1.0 -------------------------------------------------------------------------------- /Core.Net_3_5/Collections/NotifyCollectionChangedAction.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | using System; 18 | 19 | namespace Remotion.Linq.Collections 20 | { 21 | public enum NotifyCollectionChangedAction 22 | { 23 | Add, 24 | Remove, 25 | Replace, 26 | Reset, 27 | } 28 | } -------------------------------------------------------------------------------- /Core.Net_3_5/Parsing/ThrowingExpressionVisitor.NET_3_5.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | using System; 18 | using System.Linq.Expressions; 19 | using Remotion.Linq.Clauses.Expressions; 20 | 21 | namespace Remotion.Linq.Parsing 22 | { 23 | public abstract partial class ThrowingExpressionVisitor 24 | { 25 | protected override Expression VisitRelinqUnknownNonExtension (Expression expression) 26 | { 27 | var expressionAsExtensionExpression = expression as ExtensionExpression; 28 | if (expressionAsExtensionExpression != null && expressionAsExtensionExpression.CanReduce) 29 | return Visit (expressionAsExtensionExpression.ReduceAndCheck()); 30 | 31 | return VisitUnhandledItem (expression, "VisitUnknownNonExtension", BaseVisitUnknownNonExtension); 32 | } 33 | 34 | protected Expression BaseVisitUnknownNonExtension (Expression expression) 35 | { 36 | return base.VisitUnknownNonExtension (expression); 37 | } 38 | } 39 | } -------------------------------------------------------------------------------- /Core.Net_3_5/Utilities/Lazy.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using Remotion.Utilities; 19 | 20 | // ReSharper disable once CheckNamespace 21 | namespace System 22 | { 23 | internal class Lazy 24 | where T: class 25 | { 26 | private readonly Func _creator; 27 | private readonly object _syncObject = new object(); 28 | private volatile T _value; 29 | 30 | public Lazy (Func creator) 31 | { 32 | ArgumentUtility.CheckNotNull ("creator", creator); 33 | _creator = creator; 34 | } 35 | 36 | public T Value 37 | { 38 | get 39 | { 40 | if (_value == null) 41 | { 42 | lock (_syncObject) 43 | { 44 | _value = _creator(); 45 | } 46 | } 47 | return _value; 48 | } 49 | } 50 | } 51 | } -------------------------------------------------------------------------------- /Core.Net_3_5/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Core.Net_4_0/Utilities/MethodInfoExtensions.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | using System; 18 | using JetBrains.Annotations; 19 | 20 | // ReSharper disable once CheckNamespace 21 | namespace System.Reflection 22 | { 23 | internal static class MethodInfoExtensions 24 | { 25 | [NotNull] 26 | public static Delegate CreateDelegate ([NotNull] this MethodInfo methodInfo, [NotNull] Type delegateType, [NotNull] object target) 27 | { 28 | return Delegate.CreateDelegate (delegateType, target, methodInfo); 29 | } 30 | 31 | [NotNull] 32 | public static Delegate CreateDelegate ([NotNull] this MethodInfo methodInfo, [NotNull] Type delegateType) 33 | { 34 | return Delegate.CreateDelegate (delegateType, methodInfo); 35 | } 36 | 37 | [NotNull] 38 | public static MethodInfo GetMethodInfo ([NotNull] this Delegate @delegate) 39 | { 40 | return @delegate.Method; 41 | } 42 | } 43 | } -------------------------------------------------------------------------------- /Core.Net_4_0/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Core.Net_4_5/Utilities/MethodInfoExtensions.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | using System; 18 | using JetBrains.Annotations; 19 | 20 | // ReSharper disable once CheckNamespace 21 | namespace System.Reflection 22 | { 23 | internal static class MethodInfoExtensions 24 | { 25 | [NotNull] 26 | public static Delegate CreateDelegate ([NotNull] this MethodInfo methodInfo, [NotNull] Type delegateType, [NotNull] object target) 27 | { 28 | return Delegate.CreateDelegate (delegateType, target, methodInfo); 29 | } 30 | 31 | [NotNull] 32 | public static Delegate CreateDelegate ([NotNull] this MethodInfo methodInfo, [NotNull] Type delegateType) 33 | { 34 | return Delegate.CreateDelegate (delegateType, methodInfo); 35 | } 36 | 37 | [NotNull] 38 | public static MethodInfo GetMethodInfo ([NotNull] this Delegate @delegate) 39 | { 40 | return @delegate.Method; 41 | } 42 | } 43 | } -------------------------------------------------------------------------------- /Core.Net_4_5/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Core/App_Packages/Remotion.JetBrains.Annotations.Sources.1.15.23.0/LinqTunnelAttribute.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using System; 19 | 20 | #pragma warning disable 1591 21 | // ReSharper disable UnusedMember.Global 22 | // ReSharper disable MemberCanBePrivate.Global 23 | // ReSharper disable UnusedAutoPropertyAccessor.Global 24 | // ReSharper disable IntroduceOptionalParameters.Global 25 | // ReSharper disable MemberCanBeProtected.Global 26 | // ReSharper disable InconsistentNaming 27 | // ReSharper disable once CheckNamespace 28 | 29 | namespace JetBrains.Annotations 30 | { 31 | /// 32 | /// Indicates that method is *pure* linq method, with postponed enumeration. C# iterator methods (yield ...) are always LinqTunnel. 33 | /// 34 | [AttributeUsage (AttributeTargets.Method)] 35 | sealed partial class LinqTunnelAttribute : Attribute 36 | { 37 | } 38 | } -------------------------------------------------------------------------------- /Core/App_Packages/Remotion.JetBrains.Annotations.Sources.1.15.23.0/NoEnumerationAttribute.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using System; 19 | 20 | #pragma warning disable 1591 21 | // ReSharper disable UnusedMember.Global 22 | // ReSharper disable MemberCanBePrivate.Global 23 | // ReSharper disable UnusedAutoPropertyAccessor.Global 24 | // ReSharper disable IntroduceOptionalParameters.Global 25 | // ReSharper disable MemberCanBeProtected.Global 26 | // ReSharper disable InconsistentNaming 27 | // ReSharper disable once CheckNamespace 28 | 29 | namespace JetBrains.Annotations 30 | { 31 | /// 32 | /// Indicates that IEnumarable, passed as parameter, is not enumerated. 33 | /// 34 | /// 35 | [AttributeUsage(AttributeTargets.Parameter)] 36 | sealed partial class NoEnumerationAttribute : Attribute 37 | { 38 | } 39 | } -------------------------------------------------------------------------------- /Core/App_Packages/Remotion.JetBrains.Annotations.Sources.1.15.23.0/NotNullAttribute.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using System; 19 | 20 | #pragma warning disable 1591 21 | // ReSharper disable UnusedMember.Global 22 | // ReSharper disable MemberCanBePrivate.Global 23 | // ReSharper disable UnusedAutoPropertyAccessor.Global 24 | // ReSharper disable IntroduceOptionalParameters.Global 25 | // ReSharper disable MemberCanBeProtected.Global 26 | // ReSharper disable InconsistentNaming 27 | // ReSharper disable once CheckNamespace 28 | 29 | namespace JetBrains.Annotations 30 | { 31 | /// 32 | /// Indicates that the value of marked element could never be null 33 | /// 34 | [AttributeUsage (AttributeTargets.Method | AttributeTargets.Parameter | AttributeTargets.Property | AttributeTargets.Delegate | AttributeTargets.Field, AllowMultiple = false, Inherited = true)] 35 | sealed partial class NotNullAttribute : Attribute { } 36 | } -------------------------------------------------------------------------------- /Core/App_Packages/Remotion.JetBrains.Annotations.Sources.1.15.23.0/PathReferenceAttribute.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using System; 19 | 20 | #pragma warning disable 1591 21 | // ReSharper disable UnusedMember.Global 22 | // ReSharper disable MemberCanBePrivate.Global 23 | // ReSharper disable UnusedAutoPropertyAccessor.Global 24 | // ReSharper disable IntroduceOptionalParameters.Global 25 | // ReSharper disable MemberCanBeProtected.Global 26 | // ReSharper disable InconsistentNaming 27 | // ReSharper disable once CheckNamespace 28 | 29 | namespace JetBrains.Annotations 30 | { 31 | [AttributeUsage (AttributeTargets.Parameter)] 32 | sealed partial class PathReferenceAttribute : Attribute 33 | { 34 | public PathReferenceAttribute () { } 35 | 36 | public PathReferenceAttribute ([PathReference] string basePath) 37 | { 38 | BasePath = basePath; 39 | } 40 | 41 | public string BasePath { get; private set; } 42 | } 43 | } -------------------------------------------------------------------------------- /Core/App_Packages/Remotion.JetBrains.Annotations.Sources.1.15.23.0/PublicAPIAttribute.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using System; 19 | 20 | #pragma warning disable 1591 21 | // ReSharper disable UnusedMember.Global 22 | // ReSharper disable MemberCanBePrivate.Global 23 | // ReSharper disable UnusedAutoPropertyAccessor.Global 24 | // ReSharper disable IntroduceOptionalParameters.Global 25 | // ReSharper disable MemberCanBeProtected.Global 26 | // ReSharper disable InconsistentNaming 27 | // ReSharper disable once CheckNamespace 28 | 29 | namespace JetBrains.Annotations 30 | { 31 | /// 32 | /// This attribute is intended to mark publicly available API which should not be removed and so is treated as used. 33 | /// 34 | [MeansImplicitUse] 35 | sealed partial class PublicAPIAttribute : Attribute 36 | { 37 | public PublicAPIAttribute () { } 38 | public PublicAPIAttribute (string comment) { } 39 | } 40 | } -------------------------------------------------------------------------------- /Core/App_Packages/Remotion.JetBrains.Annotations.Sources.1.15.23.0/PureAttribute.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using System; 19 | 20 | #pragma warning disable 1591 21 | // ReSharper disable UnusedMember.Global 22 | // ReSharper disable MemberCanBePrivate.Global 23 | // ReSharper disable UnusedAutoPropertyAccessor.Global 24 | // ReSharper disable IntroduceOptionalParameters.Global 25 | // ReSharper disable MemberCanBeProtected.Global 26 | // ReSharper disable InconsistentNaming 27 | // ReSharper disable once CheckNamespace 28 | 29 | namespace JetBrains.Annotations 30 | { 31 | /// 32 | /// Indicates that method doesn't contain observable side effects. 33 | /// 34 | // The same as 35 | [AttributeUsage (AttributeTargets.Method, Inherited = true)] 36 | sealed partial class PureAttribute : Attribute { } 37 | } -------------------------------------------------------------------------------- /Core/App_Packages/Remotion.JetBrains.Annotations.Sources.1.15.23.0/TerminatesProgramAttribute.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using System; 19 | 20 | #pragma warning disable 1591 21 | // ReSharper disable UnusedMember.Global 22 | // ReSharper disable MemberCanBePrivate.Global 23 | // ReSharper disable UnusedAutoPropertyAccessor.Global 24 | // ReSharper disable IntroduceOptionalParameters.Global 25 | // ReSharper disable MemberCanBeProtected.Global 26 | // ReSharper disable InconsistentNaming 27 | // ReSharper disable once CheckNamespace 28 | 29 | namespace JetBrains.Annotations 30 | { 31 | /// 32 | /// Indicates that the marked method unconditionally terminates control flow execution. 33 | /// For example, it could unconditionally throw exception 34 | /// 35 | [AttributeUsage (AttributeTargets.Method, AllowMultiple = false, Inherited = true)] 36 | sealed partial class TerminatesProgramAttribute : Attribute 37 | { 38 | } 39 | } -------------------------------------------------------------------------------- /Core/Clauses/CloneContext.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | using System; 18 | using Remotion.Linq.Clauses.Expressions; 19 | using Remotion.Utilities; 20 | 21 | namespace Remotion.Linq.Clauses 22 | { 23 | /// 24 | /// Aggregates all objects needed in the process of cloning a and its clauses. 25 | /// 26 | public sealed class CloneContext 27 | { 28 | public CloneContext (QuerySourceMapping querySourceMapping) 29 | { 30 | ArgumentUtility.CheckNotNull ("querySourceMapping", querySourceMapping); 31 | 32 | QuerySourceMapping = querySourceMapping; 33 | } 34 | 35 | /// 36 | /// Gets the clause mapping used during the cloning process. This is used to adjust the instances 37 | /// of clauses to point to clauses in the cloned . 38 | /// 39 | public QuerySourceMapping QuerySourceMapping { get; private set; } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /Core/Clauses/Expressions/IPartialEvaluationExceptionExpressionVisitor.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | using System; 18 | using System.Linq.Expressions; 19 | 20 | namespace Remotion.Linq.Clauses.Expressions 21 | { 22 | /// 23 | /// This interface should be implemented by visitors that handle the instances. 24 | /// 25 | public interface IPartialEvaluationExceptionExpressionVisitor 26 | { 27 | Expression VisitPartialEvaluationException (PartialEvaluationExceptionExpression partialEvaluationExceptionExpression); 28 | } 29 | } -------------------------------------------------------------------------------- /Core/Clauses/Expressions/IVBSpecificExpressionVisitor.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | using System; 18 | using System.Linq.Expressions; 19 | 20 | namespace Remotion.Linq.Clauses.Expressions 21 | { 22 | /// 23 | /// This interface should be implemented by visitors that handle VB-specific expressions. 24 | /// 25 | public interface IVBSpecificExpressionVisitor 26 | { 27 | Expression VisitVBStringComparison (VBStringComparisonExpression vbStringComparisonExpression); 28 | } 29 | } -------------------------------------------------------------------------------- /Core/Clauses/IClause.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | using System; 18 | using System.Linq.Expressions; 19 | 20 | namespace Remotion.Linq.Clauses 21 | { 22 | /// 23 | /// Represents a clause within the . Implemented by , , 24 | /// , and . 25 | /// 26 | public interface IClause 27 | { 28 | /// 29 | /// Transforms all the expressions in this clause and its child objects via the given delegate. 30 | /// 31 | /// The transformation object. This delegate is called for each within this 32 | /// clause, and those expressions will be replaced with what the delegate returns. 33 | void TransformExpressions (Func transformation); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /Core/Clauses/OrderingDirection.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | using System; 18 | 19 | namespace Remotion.Linq.Clauses 20 | { 21 | /// 22 | /// Specifies the direction used to sort the result items in a query using an . 23 | /// 24 | public enum OrderingDirection 25 | { 26 | /// 27 | /// Sorts the items in an ascending way, from smallest to largest. 28 | /// 29 | Asc, 30 | /// 31 | /// Sorts the items in an descending way, from largest to smallest. 32 | /// 33 | Desc 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /Core/Doc/include/NamespaceDoc.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 19 | 20 | 21 | _SharedItems_ 22 | 23 | 24 | 30 | 31 | -------------------------------------------------------------------------------- /Core/Parsing/ExpressionVisitors/Transformation/ExpressionTransformation.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using System; 19 | using System.Linq.Expressions; 20 | 21 | namespace Remotion.Linq.Parsing.ExpressionVisitors.Transformation 22 | { 23 | /// 24 | /// Transforms a given . If the can handle the , 25 | /// it should return a new, transformed instance. Otherwise, it should return the input 26 | /// instance. 27 | /// 28 | /// The expression to be transformed. 29 | /// The result of the transformation, or if no transformation was applied. 30 | public delegate Expression ExpressionTransformation (Expression expression); 31 | } -------------------------------------------------------------------------------- /Core/Parsing/ExpressionVisitors/TreeEvaluation/NullEvaluatableExpressionFilter.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | using System; 18 | 19 | namespace Remotion.Linq.Parsing.ExpressionVisitors.TreeEvaluation 20 | { 21 | /// 22 | /// Implementation of the null-object pattern for . 23 | /// 24 | /// 25 | internal sealed class NullEvaluatableExpressionFilter : EvaluatableExpressionFilterBase 26 | { 27 | public NullEvaluatableExpressionFilter () 28 | { 29 | } 30 | } 31 | } -------------------------------------------------------------------------------- /Core/Parsing/ParserException.Obsolete.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | using System; 18 | 19 | namespace Remotion.Linq.Parsing 20 | { 21 | [Obsolete ("Infrastructure uses NotSupportedException instead. (Version 1.15.12.0)", true)] 22 | public abstract class ParserException : Exception 23 | { 24 | private ParserException () 25 | { 26 | 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /Core/Parsing/Structure/ExpressionTreeProcessors/NullExpressionTreeProcessor.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | using System; 18 | using System.Linq.Expressions; 19 | using Remotion.Utilities; 20 | 21 | namespace Remotion.Linq.Parsing.Structure.ExpressionTreeProcessors 22 | { 23 | /// 24 | /// Implements the interface by doing nothing in the method. This is an 25 | /// implementation of the Null Object Pattern. 26 | /// 27 | public sealed class NullExpressionTreeProcessor : IExpressionTreeProcessor 28 | { 29 | public Expression Process (Expression expressionTree) 30 | { 31 | ArgumentUtility.CheckNotNull ("expressionTree", expressionTree); 32 | return expressionTree; 33 | } 34 | } 35 | } -------------------------------------------------------------------------------- /Core/Parsing/Structure/IntermediateModel/ExpressionNodeInstantiationException.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | using System; 18 | 19 | namespace Remotion.Linq.Parsing.Structure.IntermediateModel 20 | { 21 | /// 22 | /// Thrown whan an parser cannot be instantiated for a query. Note that this is not serializable 23 | /// and intended to be caught in the call-site where it will then replaced by a different (serializable) exception. 24 | /// 25 | public sealed class ExpressionNodeInstantiationException : Exception 26 | { 27 | internal ExpressionNodeInstantiationException (string message) 28 | : base(message) 29 | { 30 | } 31 | } 32 | } -------------------------------------------------------------------------------- /Core/Parsing/Structure/IntermediateModel/IQuerySourceExpressionNode.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | using System; 18 | using System.Linq.Expressions; 19 | 20 | namespace Remotion.Linq.Parsing.Structure.IntermediateModel 21 | { 22 | /// 23 | /// Interface for classes representing query source parts of an tree. 24 | /// 25 | public interface IQuerySourceExpressionNode : IExpressionNode 26 | { 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /Core/Utilities/ExpressionExtensions.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using System; 19 | using System.Linq.Expressions; 20 | #if NET_3_5 21 | using Remotion.Linq.Clauses.ExpressionVisitors; 22 | #endif 23 | 24 | namespace Remotion.Linq.Utilities 25 | { 26 | /// 27 | /// Provides extensions for working with trees. 28 | /// 29 | internal static class ExpressionExtensions 30 | { 31 | /// 32 | /// Builds a string from the tree, including .NET 3.5. 33 | /// 34 | public static string BuildString (this Expression expression) 35 | { 36 | #if !NET_3_5 37 | return expression.ToString(); 38 | #else 39 | return FormattingExpressionVisitor.Format(expression); 40 | #endif 41 | } 42 | } 43 | } -------------------------------------------------------------------------------- /Core/Utilities/ReflectionExtensions.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using System; 19 | using JetBrains.Annotations; 20 | #if !NET_4_0 && !NET_3_5 21 | using Remotion.Utilities; 22 | #endif 23 | 24 | // ReSharper disable once CheckNamespace 25 | namespace System.Reflection 26 | { 27 | internal static class ReflectionExtensions 28 | { 29 | #if !NET_4_0 && !NET_3_5 30 | [CanBeNull] 31 | public static MethodInfo GetGetMethod ([NotNull] this PropertyInfo propertyInfo, bool nonPublic) 32 | { 33 | Assertion.DebugAssert (nonPublic == true, "Parameter 'nonPublic' must be invoked with 'true'."); 34 | 35 | return propertyInfo.GetMethod; 36 | } 37 | #endif 38 | } 39 | } 40 | 41 | -------------------------------------------------------------------------------- /Core/Utilities/StringUtility.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using System; 19 | using System.Collections.Generic; 20 | #if NET_3_5 21 | using System.Linq; 22 | #endif 23 | 24 | namespace Remotion.Linq.Utilities 25 | { 26 | internal static class StringUtility 27 | { 28 | public static string Join (string separator, IEnumerable values) 29 | { 30 | #if !NET_3_5 31 | return string.Join (separator, values); 32 | #else 33 | if (typeof (T) == typeof (string)) 34 | return string.Join (separator, values.Cast().ToArray()); 35 | else 36 | return string.Join (separator, values.Select (v=>v.ToString()).ToArray()); 37 | #endif 38 | } 39 | } 40 | } -------------------------------------------------------------------------------- /Core/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Core/project.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Remotion.Linq", 3 | "buildOptions": { 4 | "compile": { 5 | "include": [ "**/*.cs", "../AssemblyInfoShared.cs" ], 6 | "exclude": [ "bin/**", "obj/**" ] 7 | }, 8 | "xmlDoc": true, 9 | "warningsAsErrors": true, 10 | "nowarn": [ "1591", "419" ], 11 | "keyFile": "obj/netstandard1.0/RemotionPublic.snk", 12 | "delaySign": true 13 | }, 14 | "frameworks": { 15 | "netstandard1.0": { 16 | "// comment" : "WARNING: When updating this list, the dependency list in Core.nuspec and the list in PatchNuGetOutput.targets must also be updated.", 17 | "dependencies": { 18 | "System.Collections": "4.0.11", 19 | "System.Diagnostics.Debug": "4.0.11", 20 | "System.Linq": "4.1.0", 21 | "System.Linq.Expressions": "4.1.0", 22 | "System.Linq.Queryable": "4.0.1", 23 | "System.ObjectModel": "4.0.12", 24 | "System.Reflection": "4.1.0", 25 | "System.Reflection.Extensions": "4.0.1", 26 | "System.Runtime": "4.1.0", 27 | "System.Runtime.Extensions": "4.1.0", 28 | "System.Threading": "4.0.11" 29 | } 30 | }, 31 | ".NETPortable,Version=v4.5,Profile=Profile259" : { } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /Development.Net_3_5.UnitTests/App_Packages/Remotion.Utilities.ArgumentUtility.Sources.1.15.23.0/SharedSource Apache-2.0.licenseheader: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/re-motion/Relinq/769b56688ef4bbdb2e68abf5708bb9692451d298/Development.Net_3_5.UnitTests/App_Packages/Remotion.Utilities.ArgumentUtility.Sources.1.15.23.0/SharedSource Apache-2.0.licenseheader -------------------------------------------------------------------------------- /Development.Net_3_5.UnitTests/App_Packages/Remotion.Utilities.EqualityUtility.Sources.1.15.23.0/SharedSource Apache-2.0.licenseheader: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/re-motion/Relinq/769b56688ef4bbdb2e68abf5708bb9692451d298/Development.Net_3_5.UnitTests/App_Packages/Remotion.Utilities.EqualityUtility.Sources.1.15.23.0/SharedSource Apache-2.0.licenseheader -------------------------------------------------------------------------------- /Development.Net_3_5.UnitTests/App_Packages/Remotion.Utilities.NullableTypeUtility.Sources.1.15.23.0/SharedSource Apache-2.0.licenseheader: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/re-motion/Relinq/769b56688ef4bbdb2e68abf5708bb9692451d298/Development.Net_3_5.UnitTests/App_Packages/Remotion.Utilities.NullableTypeUtility.Sources.1.15.23.0/SharedSource Apache-2.0.licenseheader -------------------------------------------------------------------------------- /Development.Net_3_5.UnitTests/Utilities/Tuple.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | // ReSharper disable once CheckNamespace 18 | namespace System 19 | { 20 | public static class Tuple 21 | { 22 | public static Tuple Create (T item1) 23 | { 24 | return new Tuple (item1); 25 | } 26 | } 27 | } -------------------------------------------------------------------------------- /Development.Net_3_5.UnitTests/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Development.Net_3_5/App_Packages/Remotion.JetBrains.Annotations.Sources.1.15.23.0/LinqTunnelAttribute.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using System; 19 | 20 | #pragma warning disable 1591 21 | // ReSharper disable UnusedMember.Global 22 | // ReSharper disable MemberCanBePrivate.Global 23 | // ReSharper disable UnusedAutoPropertyAccessor.Global 24 | // ReSharper disable IntroduceOptionalParameters.Global 25 | // ReSharper disable MemberCanBeProtected.Global 26 | // ReSharper disable InconsistentNaming 27 | // ReSharper disable once CheckNamespace 28 | 29 | namespace JetBrains.Annotations 30 | { 31 | /// 32 | /// Indicates that method is *pure* linq method, with postponed enumeration. C# iterator methods (yield ...) are always LinqTunnel. 33 | /// 34 | [AttributeUsage (AttributeTargets.Method)] 35 | sealed partial class LinqTunnelAttribute : Attribute 36 | { 37 | } 38 | } -------------------------------------------------------------------------------- /Development.Net_3_5/App_Packages/Remotion.JetBrains.Annotations.Sources.1.15.23.0/NoEnumerationAttribute.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using System; 19 | 20 | #pragma warning disable 1591 21 | // ReSharper disable UnusedMember.Global 22 | // ReSharper disable MemberCanBePrivate.Global 23 | // ReSharper disable UnusedAutoPropertyAccessor.Global 24 | // ReSharper disable IntroduceOptionalParameters.Global 25 | // ReSharper disable MemberCanBeProtected.Global 26 | // ReSharper disable InconsistentNaming 27 | // ReSharper disable once CheckNamespace 28 | 29 | namespace JetBrains.Annotations 30 | { 31 | /// 32 | /// Indicates that IEnumarable, passed as parameter, is not enumerated. 33 | /// 34 | /// 35 | [AttributeUsage(AttributeTargets.Parameter)] 36 | sealed partial class NoEnumerationAttribute : Attribute 37 | { 38 | } 39 | } -------------------------------------------------------------------------------- /Development.Net_3_5/App_Packages/Remotion.JetBrains.Annotations.Sources.1.15.23.0/NotNullAttribute.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using System; 19 | 20 | #pragma warning disable 1591 21 | // ReSharper disable UnusedMember.Global 22 | // ReSharper disable MemberCanBePrivate.Global 23 | // ReSharper disable UnusedAutoPropertyAccessor.Global 24 | // ReSharper disable IntroduceOptionalParameters.Global 25 | // ReSharper disable MemberCanBeProtected.Global 26 | // ReSharper disable InconsistentNaming 27 | // ReSharper disable once CheckNamespace 28 | 29 | namespace JetBrains.Annotations 30 | { 31 | /// 32 | /// Indicates that the value of marked element could never be null 33 | /// 34 | [AttributeUsage (AttributeTargets.Method | AttributeTargets.Parameter | AttributeTargets.Property | AttributeTargets.Delegate | AttributeTargets.Field, AllowMultiple = false, Inherited = true)] 35 | sealed partial class NotNullAttribute : Attribute { } 36 | } -------------------------------------------------------------------------------- /Development.Net_3_5/App_Packages/Remotion.JetBrains.Annotations.Sources.1.15.23.0/PathReferenceAttribute.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using System; 19 | 20 | #pragma warning disable 1591 21 | // ReSharper disable UnusedMember.Global 22 | // ReSharper disable MemberCanBePrivate.Global 23 | // ReSharper disable UnusedAutoPropertyAccessor.Global 24 | // ReSharper disable IntroduceOptionalParameters.Global 25 | // ReSharper disable MemberCanBeProtected.Global 26 | // ReSharper disable InconsistentNaming 27 | // ReSharper disable once CheckNamespace 28 | 29 | namespace JetBrains.Annotations 30 | { 31 | [AttributeUsage (AttributeTargets.Parameter)] 32 | sealed partial class PathReferenceAttribute : Attribute 33 | { 34 | public PathReferenceAttribute () { } 35 | 36 | public PathReferenceAttribute ([PathReference] string basePath) 37 | { 38 | BasePath = basePath; 39 | } 40 | 41 | public string BasePath { get; private set; } 42 | } 43 | } -------------------------------------------------------------------------------- /Development.Net_3_5/App_Packages/Remotion.JetBrains.Annotations.Sources.1.15.23.0/PublicAPIAttribute.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using System; 19 | 20 | #pragma warning disable 1591 21 | // ReSharper disable UnusedMember.Global 22 | // ReSharper disable MemberCanBePrivate.Global 23 | // ReSharper disable UnusedAutoPropertyAccessor.Global 24 | // ReSharper disable IntroduceOptionalParameters.Global 25 | // ReSharper disable MemberCanBeProtected.Global 26 | // ReSharper disable InconsistentNaming 27 | // ReSharper disable once CheckNamespace 28 | 29 | namespace JetBrains.Annotations 30 | { 31 | /// 32 | /// This attribute is intended to mark publicly available API which should not be removed and so is treated as used. 33 | /// 34 | [MeansImplicitUse] 35 | sealed partial class PublicAPIAttribute : Attribute 36 | { 37 | public PublicAPIAttribute () { } 38 | public PublicAPIAttribute (string comment) { } 39 | } 40 | } -------------------------------------------------------------------------------- /Development.Net_3_5/App_Packages/Remotion.JetBrains.Annotations.Sources.1.15.23.0/PureAttribute.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using System; 19 | 20 | #pragma warning disable 1591 21 | // ReSharper disable UnusedMember.Global 22 | // ReSharper disable MemberCanBePrivate.Global 23 | // ReSharper disable UnusedAutoPropertyAccessor.Global 24 | // ReSharper disable IntroduceOptionalParameters.Global 25 | // ReSharper disable MemberCanBeProtected.Global 26 | // ReSharper disable InconsistentNaming 27 | // ReSharper disable once CheckNamespace 28 | 29 | namespace JetBrains.Annotations 30 | { 31 | /// 32 | /// Indicates that method doesn't contain observable side effects. 33 | /// 34 | // The same as 35 | [AttributeUsage (AttributeTargets.Method, Inherited = true)] 36 | sealed partial class PureAttribute : Attribute { } 37 | } -------------------------------------------------------------------------------- /Development.Net_3_5/App_Packages/Remotion.JetBrains.Annotations.Sources.1.15.23.0/TerminatesProgramAttribute.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using System; 19 | 20 | #pragma warning disable 1591 21 | // ReSharper disable UnusedMember.Global 22 | // ReSharper disable MemberCanBePrivate.Global 23 | // ReSharper disable UnusedAutoPropertyAccessor.Global 24 | // ReSharper disable IntroduceOptionalParameters.Global 25 | // ReSharper disable MemberCanBeProtected.Global 26 | // ReSharper disable InconsistentNaming 27 | // ReSharper disable once CheckNamespace 28 | 29 | namespace JetBrains.Annotations 30 | { 31 | /// 32 | /// Indicates that the marked method unconditionally terminates control flow execution. 33 | /// For example, it could unconditionally throw exception 34 | /// 35 | [AttributeUsage (AttributeTargets.Method, AllowMultiple = false, Inherited = true)] 36 | sealed partial class TerminatesProgramAttribute : Attribute 37 | { 38 | } 39 | } -------------------------------------------------------------------------------- /Development.Net_3_5/App_Packages/Remotion.Utilities.Assertion.Sources.1.15.23.0/SharedSource Apache-2.0.licenseheader: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/re-motion/Relinq/769b56688ef4bbdb2e68abf5708bb9692451d298/Development.Net_3_5/App_Packages/Remotion.Utilities.Assertion.Sources.1.15.23.0/SharedSource Apache-2.0.licenseheader -------------------------------------------------------------------------------- /Development.Net_3_5/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Development.Net_4_0.UnitTests/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /Development.Net_4_0/App_Packages/Remotion.JetBrains.Annotations.Sources.1.15.23.0/LinqTunnelAttribute.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using System; 19 | 20 | #pragma warning disable 1591 21 | // ReSharper disable UnusedMember.Global 22 | // ReSharper disable MemberCanBePrivate.Global 23 | // ReSharper disable UnusedAutoPropertyAccessor.Global 24 | // ReSharper disable IntroduceOptionalParameters.Global 25 | // ReSharper disable MemberCanBeProtected.Global 26 | // ReSharper disable InconsistentNaming 27 | // ReSharper disable once CheckNamespace 28 | 29 | namespace JetBrains.Annotations 30 | { 31 | /// 32 | /// Indicates that method is *pure* linq method, with postponed enumeration. C# iterator methods (yield ...) are always LinqTunnel. 33 | /// 34 | [AttributeUsage (AttributeTargets.Method)] 35 | sealed partial class LinqTunnelAttribute : Attribute 36 | { 37 | } 38 | } -------------------------------------------------------------------------------- /Development.Net_4_0/App_Packages/Remotion.JetBrains.Annotations.Sources.1.15.23.0/NoEnumerationAttribute.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using System; 19 | 20 | #pragma warning disable 1591 21 | // ReSharper disable UnusedMember.Global 22 | // ReSharper disable MemberCanBePrivate.Global 23 | // ReSharper disable UnusedAutoPropertyAccessor.Global 24 | // ReSharper disable IntroduceOptionalParameters.Global 25 | // ReSharper disable MemberCanBeProtected.Global 26 | // ReSharper disable InconsistentNaming 27 | // ReSharper disable once CheckNamespace 28 | 29 | namespace JetBrains.Annotations 30 | { 31 | /// 32 | /// Indicates that IEnumarable, passed as parameter, is not enumerated. 33 | /// 34 | /// 35 | [AttributeUsage(AttributeTargets.Parameter)] 36 | sealed partial class NoEnumerationAttribute : Attribute 37 | { 38 | } 39 | } -------------------------------------------------------------------------------- /Development.Net_4_0/App_Packages/Remotion.JetBrains.Annotations.Sources.1.15.23.0/NotNullAttribute.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using System; 19 | 20 | #pragma warning disable 1591 21 | // ReSharper disable UnusedMember.Global 22 | // ReSharper disable MemberCanBePrivate.Global 23 | // ReSharper disable UnusedAutoPropertyAccessor.Global 24 | // ReSharper disable IntroduceOptionalParameters.Global 25 | // ReSharper disable MemberCanBeProtected.Global 26 | // ReSharper disable InconsistentNaming 27 | // ReSharper disable once CheckNamespace 28 | 29 | namespace JetBrains.Annotations 30 | { 31 | /// 32 | /// Indicates that the value of marked element could never be null 33 | /// 34 | [AttributeUsage (AttributeTargets.Method | AttributeTargets.Parameter | AttributeTargets.Property | AttributeTargets.Delegate | AttributeTargets.Field, AllowMultiple = false, Inherited = true)] 35 | sealed partial class NotNullAttribute : Attribute { } 36 | } -------------------------------------------------------------------------------- /Development.Net_4_0/App_Packages/Remotion.JetBrains.Annotations.Sources.1.15.23.0/PathReferenceAttribute.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using System; 19 | 20 | #pragma warning disable 1591 21 | // ReSharper disable UnusedMember.Global 22 | // ReSharper disable MemberCanBePrivate.Global 23 | // ReSharper disable UnusedAutoPropertyAccessor.Global 24 | // ReSharper disable IntroduceOptionalParameters.Global 25 | // ReSharper disable MemberCanBeProtected.Global 26 | // ReSharper disable InconsistentNaming 27 | // ReSharper disable once CheckNamespace 28 | 29 | namespace JetBrains.Annotations 30 | { 31 | [AttributeUsage (AttributeTargets.Parameter)] 32 | sealed partial class PathReferenceAttribute : Attribute 33 | { 34 | public PathReferenceAttribute () { } 35 | 36 | public PathReferenceAttribute ([PathReference] string basePath) 37 | { 38 | BasePath = basePath; 39 | } 40 | 41 | public string BasePath { get; private set; } 42 | } 43 | } -------------------------------------------------------------------------------- /Development.Net_4_0/App_Packages/Remotion.JetBrains.Annotations.Sources.1.15.23.0/PublicAPIAttribute.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using System; 19 | 20 | #pragma warning disable 1591 21 | // ReSharper disable UnusedMember.Global 22 | // ReSharper disable MemberCanBePrivate.Global 23 | // ReSharper disable UnusedAutoPropertyAccessor.Global 24 | // ReSharper disable IntroduceOptionalParameters.Global 25 | // ReSharper disable MemberCanBeProtected.Global 26 | // ReSharper disable InconsistentNaming 27 | // ReSharper disable once CheckNamespace 28 | 29 | namespace JetBrains.Annotations 30 | { 31 | /// 32 | /// This attribute is intended to mark publicly available API which should not be removed and so is treated as used. 33 | /// 34 | [MeansImplicitUse] 35 | sealed partial class PublicAPIAttribute : Attribute 36 | { 37 | public PublicAPIAttribute () { } 38 | public PublicAPIAttribute (string comment) { } 39 | } 40 | } -------------------------------------------------------------------------------- /Development.Net_4_0/App_Packages/Remotion.JetBrains.Annotations.Sources.1.15.23.0/PureAttribute.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using System; 19 | 20 | #pragma warning disable 1591 21 | // ReSharper disable UnusedMember.Global 22 | // ReSharper disable MemberCanBePrivate.Global 23 | // ReSharper disable UnusedAutoPropertyAccessor.Global 24 | // ReSharper disable IntroduceOptionalParameters.Global 25 | // ReSharper disable MemberCanBeProtected.Global 26 | // ReSharper disable InconsistentNaming 27 | // ReSharper disable once CheckNamespace 28 | 29 | namespace JetBrains.Annotations 30 | { 31 | /// 32 | /// Indicates that method doesn't contain observable side effects. 33 | /// 34 | // The same as 35 | [AttributeUsage (AttributeTargets.Method, Inherited = true)] 36 | sealed partial class PureAttribute : Attribute { } 37 | } -------------------------------------------------------------------------------- /Development.Net_4_0/App_Packages/Remotion.JetBrains.Annotations.Sources.1.15.23.0/TerminatesProgramAttribute.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using System; 19 | 20 | #pragma warning disable 1591 21 | // ReSharper disable UnusedMember.Global 22 | // ReSharper disable MemberCanBePrivate.Global 23 | // ReSharper disable UnusedAutoPropertyAccessor.Global 24 | // ReSharper disable IntroduceOptionalParameters.Global 25 | // ReSharper disable MemberCanBeProtected.Global 26 | // ReSharper disable InconsistentNaming 27 | // ReSharper disable once CheckNamespace 28 | 29 | namespace JetBrains.Annotations 30 | { 31 | /// 32 | /// Indicates that the marked method unconditionally terminates control flow execution. 33 | /// For example, it could unconditionally throw exception 34 | /// 35 | [AttributeUsage (AttributeTargets.Method, AllowMultiple = false, Inherited = true)] 36 | sealed partial class TerminatesProgramAttribute : Attribute 37 | { 38 | } 39 | } -------------------------------------------------------------------------------- /Development.Net_4_0/App_Packages/Remotion.Utilities.Assertion.Sources.1.15.23.0/SharedSource Apache-2.0.licenseheader: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/re-motion/Relinq/769b56688ef4bbdb2e68abf5708bb9692451d298/Development.Net_4_0/App_Packages/Remotion.Utilities.Assertion.Sources.1.15.23.0/SharedSource Apache-2.0.licenseheader -------------------------------------------------------------------------------- /Development.Net_4_0/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Development.UnitTests/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | // This file is part of the re-motion Core Framework (www.re-motion.org) 2 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 3 | // 4 | // The re-motion Core Framework is free software; you can redistribute it 5 | // and/or modify it under the terms of the GNU Lesser General Public License 6 | // as published by the Free Software Foundation; either version 2.1 of the 7 | // License, or (at your option) any later version. 8 | // 9 | // re-motion is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU Lesser General Public License for more details. 13 | // 14 | // You should have received a copy of the GNU Lesser General Public License 15 | // along with re-motion; if not, see http://www.gnu.org/licenses. 16 | // 17 | 18 | using System; 19 | using System.Reflection; 20 | 21 | // 22 | // General Information about an assembly is controlled through the following 23 | // set of attributes. Change these attribute values to modify the information 24 | // associated with an assembly. 25 | // 26 | 27 | [assembly: AssemblyTitle ("Unit Tests for Remotion Linq Development Support Library")] 28 | [assembly: AssemblyDescription ("Unit Tests for Remotion Linq Development Support Library")] 29 | [assembly: AssemblyCulture("")] 30 | [assembly: CLSCompliant(true)] -------------------------------------------------------------------------------- /Development.UnitTests/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /Development/App_Packages/Remotion.JetBrains.Annotations.Sources.1.15.23.0/LinqTunnelAttribute.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using System; 19 | 20 | #pragma warning disable 1591 21 | // ReSharper disable UnusedMember.Global 22 | // ReSharper disable MemberCanBePrivate.Global 23 | // ReSharper disable UnusedAutoPropertyAccessor.Global 24 | // ReSharper disable IntroduceOptionalParameters.Global 25 | // ReSharper disable MemberCanBeProtected.Global 26 | // ReSharper disable InconsistentNaming 27 | // ReSharper disable once CheckNamespace 28 | 29 | namespace JetBrains.Annotations 30 | { 31 | /// 32 | /// Indicates that method is *pure* linq method, with postponed enumeration. C# iterator methods (yield ...) are always LinqTunnel. 33 | /// 34 | [AttributeUsage (AttributeTargets.Method)] 35 | sealed partial class LinqTunnelAttribute : Attribute 36 | { 37 | } 38 | } -------------------------------------------------------------------------------- /Development/App_Packages/Remotion.JetBrains.Annotations.Sources.1.15.23.0/NoEnumerationAttribute.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using System; 19 | 20 | #pragma warning disable 1591 21 | // ReSharper disable UnusedMember.Global 22 | // ReSharper disable MemberCanBePrivate.Global 23 | // ReSharper disable UnusedAutoPropertyAccessor.Global 24 | // ReSharper disable IntroduceOptionalParameters.Global 25 | // ReSharper disable MemberCanBeProtected.Global 26 | // ReSharper disable InconsistentNaming 27 | // ReSharper disable once CheckNamespace 28 | 29 | namespace JetBrains.Annotations 30 | { 31 | /// 32 | /// Indicates that IEnumarable, passed as parameter, is not enumerated. 33 | /// 34 | /// 35 | [AttributeUsage(AttributeTargets.Parameter)] 36 | sealed partial class NoEnumerationAttribute : Attribute 37 | { 38 | } 39 | } -------------------------------------------------------------------------------- /Development/App_Packages/Remotion.JetBrains.Annotations.Sources.1.15.23.0/NotNullAttribute.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using System; 19 | 20 | #pragma warning disable 1591 21 | // ReSharper disable UnusedMember.Global 22 | // ReSharper disable MemberCanBePrivate.Global 23 | // ReSharper disable UnusedAutoPropertyAccessor.Global 24 | // ReSharper disable IntroduceOptionalParameters.Global 25 | // ReSharper disable MemberCanBeProtected.Global 26 | // ReSharper disable InconsistentNaming 27 | // ReSharper disable once CheckNamespace 28 | 29 | namespace JetBrains.Annotations 30 | { 31 | /// 32 | /// Indicates that the value of marked element could never be null 33 | /// 34 | [AttributeUsage (AttributeTargets.Method | AttributeTargets.Parameter | AttributeTargets.Property | AttributeTargets.Delegate | AttributeTargets.Field, AllowMultiple = false, Inherited = true)] 35 | sealed partial class NotNullAttribute : Attribute { } 36 | } -------------------------------------------------------------------------------- /Development/App_Packages/Remotion.JetBrains.Annotations.Sources.1.15.23.0/PathReferenceAttribute.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using System; 19 | 20 | #pragma warning disable 1591 21 | // ReSharper disable UnusedMember.Global 22 | // ReSharper disable MemberCanBePrivate.Global 23 | // ReSharper disable UnusedAutoPropertyAccessor.Global 24 | // ReSharper disable IntroduceOptionalParameters.Global 25 | // ReSharper disable MemberCanBeProtected.Global 26 | // ReSharper disable InconsistentNaming 27 | // ReSharper disable once CheckNamespace 28 | 29 | namespace JetBrains.Annotations 30 | { 31 | [AttributeUsage (AttributeTargets.Parameter)] 32 | sealed partial class PathReferenceAttribute : Attribute 33 | { 34 | public PathReferenceAttribute () { } 35 | 36 | public PathReferenceAttribute ([PathReference] string basePath) 37 | { 38 | BasePath = basePath; 39 | } 40 | 41 | public string BasePath { get; private set; } 42 | } 43 | } -------------------------------------------------------------------------------- /Development/App_Packages/Remotion.JetBrains.Annotations.Sources.1.15.23.0/PublicAPIAttribute.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using System; 19 | 20 | #pragma warning disable 1591 21 | // ReSharper disable UnusedMember.Global 22 | // ReSharper disable MemberCanBePrivate.Global 23 | // ReSharper disable UnusedAutoPropertyAccessor.Global 24 | // ReSharper disable IntroduceOptionalParameters.Global 25 | // ReSharper disable MemberCanBeProtected.Global 26 | // ReSharper disable InconsistentNaming 27 | // ReSharper disable once CheckNamespace 28 | 29 | namespace JetBrains.Annotations 30 | { 31 | /// 32 | /// This attribute is intended to mark publicly available API which should not be removed and so is treated as used. 33 | /// 34 | [MeansImplicitUse] 35 | sealed partial class PublicAPIAttribute : Attribute 36 | { 37 | public PublicAPIAttribute () { } 38 | public PublicAPIAttribute (string comment) { } 39 | } 40 | } -------------------------------------------------------------------------------- /Development/App_Packages/Remotion.JetBrains.Annotations.Sources.1.15.23.0/PureAttribute.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using System; 19 | 20 | #pragma warning disable 1591 21 | // ReSharper disable UnusedMember.Global 22 | // ReSharper disable MemberCanBePrivate.Global 23 | // ReSharper disable UnusedAutoPropertyAccessor.Global 24 | // ReSharper disable IntroduceOptionalParameters.Global 25 | // ReSharper disable MemberCanBeProtected.Global 26 | // ReSharper disable InconsistentNaming 27 | // ReSharper disable once CheckNamespace 28 | 29 | namespace JetBrains.Annotations 30 | { 31 | /// 32 | /// Indicates that method doesn't contain observable side effects. 33 | /// 34 | // The same as 35 | [AttributeUsage (AttributeTargets.Method, Inherited = true)] 36 | sealed partial class PureAttribute : Attribute { } 37 | } -------------------------------------------------------------------------------- /Development/App_Packages/Remotion.JetBrains.Annotations.Sources.1.15.23.0/TerminatesProgramAttribute.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using System; 19 | 20 | #pragma warning disable 1591 21 | // ReSharper disable UnusedMember.Global 22 | // ReSharper disable MemberCanBePrivate.Global 23 | // ReSharper disable UnusedAutoPropertyAccessor.Global 24 | // ReSharper disable IntroduceOptionalParameters.Global 25 | // ReSharper disable MemberCanBeProtected.Global 26 | // ReSharper disable InconsistentNaming 27 | // ReSharper disable once CheckNamespace 28 | 29 | namespace JetBrains.Annotations 30 | { 31 | /// 32 | /// Indicates that the marked method unconditionally terminates control flow execution. 33 | /// For example, it could unconditionally throw exception 34 | /// 35 | [AttributeUsage (AttributeTargets.Method, AllowMultiple = false, Inherited = true)] 36 | sealed partial class TerminatesProgramAttribute : Attribute 37 | { 38 | } 39 | } -------------------------------------------------------------------------------- /Development/App_Packages/Remotion.Utilities.Assertion.Sources.1.15.23.0/SharedSource Apache-2.0.licenseheader: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/re-motion/Relinq/769b56688ef4bbdb2e68abf5708bb9692451d298/Development/App_Packages/Remotion.Utilities.Assertion.Sources.1.15.23.0/SharedSource Apache-2.0.licenseheader -------------------------------------------------------------------------------- /Development/Development.nuspec: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | $id$ 5 | $version$ 6 | $id$ 7 | $author$ 8 | $author$ 9 | http://opensource.org/licenses/Apache-2.0 10 | http://relinq.codeplex.com 11 | $description$ 12 | $copyright$ 13 | re-motion LINQ UnitTesting $extraTags$ 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /Development/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using System; 19 | using System.Reflection; 20 | using System.Security; 21 | 22 | // 23 | // General Information about an assembly is controlled through the following 24 | // set of attributes. Change these attribute values to modify the information 25 | // associated with an assembly. 26 | // 27 | 28 | [assembly: AssemblyTitle ("Development Support Library for Remotion.Linq")] 29 | [assembly: AssemblyDescription ("Support for unit testing of libraries based on the re-linq Frontend.")] 30 | [assembly: AssemblyCulture("")] 31 | [assembly: CLSCompliant(true)] 32 | #if !NET_3_5 33 | [assembly: SecurityTransparent] // required to allow assembly to be linked from assemblies having the AllowPartiallyTrustedCallersAttribute applied 34 | #else 35 | [assembly: AllowPartiallyTrustedCallers] // required to allow assembly to be linked from assemblies having the AllowPartiallyTrustedCallersAttribute applied 36 | #endif -------------------------------------------------------------------------------- /Development/UnitTesting/Parsing/TestEvaluatableExpressionFilter.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using System; 19 | using Remotion.Linq.Parsing.ExpressionVisitors.TreeEvaluation; 20 | 21 | namespace Remotion.Linq.Development.UnitTesting.Parsing 22 | { 23 | /// 24 | /// Stub-implementation for the interface. 25 | /// 26 | /// 27 | public sealed class TestEvaluatableExpressionFilter : EvaluatableExpressionFilterBase 28 | { 29 | public TestEvaluatableExpressionFilter () 30 | { 31 | } 32 | } 33 | } -------------------------------------------------------------------------------- /Development/UnitTesting/Parsing/TestableExpressionVisitor.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using System; 19 | using Remotion.Linq.Parsing; 20 | 21 | namespace Remotion.Linq.Development.UnitTesting.Parsing 22 | { 23 | public class TestableExpressionVisitor : RelinqExpressionVisitor 24 | { 25 | } 26 | } -------------------------------------------------------------------------------- /Development/UnitTesting/StubQueryExecutor.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using System; 19 | using System.Collections.Generic; 20 | 21 | namespace Remotion.Linq.Development.UnitTesting 22 | { 23 | public class StubQueryExecutor : IQueryExecutor 24 | { 25 | public T ExecuteScalar (QueryModel queryModel) 26 | { 27 | throw new NotImplementedException ("ExecuteScalar<" + typeof (T).Name + "> (" + queryModel + ")"); 28 | } 29 | 30 | public T ExecuteSingle (QueryModel queryModel, bool returnDefaultWhenEmpty) 31 | { 32 | throw new NotImplementedException ("ExecuteSingle<" + typeof (T).Name + "> (" + queryModel + ", " + returnDefaultWhenEmpty + ")"); 33 | } 34 | 35 | public IEnumerable ExecuteCollection (QueryModel queryModel) 36 | { 37 | throw new NotImplementedException ("ExecuteCollection<" + typeof (T).Name + "> (" + queryModel + ")"); 38 | } 39 | } 40 | } -------------------------------------------------------------------------------- /Development/UnitTesting/TestQueryProvider.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using System; 19 | using System.Linq; 20 | using System.Linq.Expressions; 21 | using Remotion.Linq.Parsing.Structure; 22 | 23 | namespace Remotion.Linq.Development.UnitTesting 24 | { 25 | public class TestQueryProvider : QueryProviderBase 26 | { 27 | public TestQueryProvider (IQueryParser queryParser, IQueryExecutor executor) 28 | : base (queryParser, executor) 29 | { 30 | } 31 | 32 | public override IQueryable CreateQuery (Expression expression) 33 | { 34 | return new TestQueryable (this, expression); 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /Development/UnitTesting/TestQueryable.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using System; 19 | using System.Linq; 20 | using System.Linq.Expressions; 21 | using Remotion.Linq.Parsing.Structure; 22 | 23 | namespace Remotion.Linq.Development.UnitTesting 24 | { 25 | public class TestQueryable : QueryableBase 26 | { 27 | public TestQueryable (IQueryProvider provider, Expression expression) 28 | : base (provider, expression) 29 | { 30 | } 31 | 32 | public TestQueryable (IQueryParser queryParser, IQueryExecutor executor) 33 | : base (queryParser, executor) 34 | { 35 | } 36 | 37 | public TestQueryable (IQueryProvider provider) 38 | : base (provider) 39 | { 40 | } 41 | 42 | public override string ToString () 43 | { 44 | return "TestQueryable<" + typeof (T).Name + ">()"; 45 | } 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /Development/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Generate-Snk.cmd: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | set keyfile=remotion.snk 4 | 5 | echo Current directory: %CD% 6 | echo Checking whether %keyfile% needs to be created... 7 | echo. 8 | if not exist %keyfile% goto notfound 9 | 10 | echo %keyfile% already exists. 11 | 12 | goto end 13 | 14 | :notfound 15 | 16 | echo %keyfile% does not exist, generating... 17 | echo. 18 | sn.exe -k %keyfile% 19 | echo. 20 | 21 | if %ERRORLEVEL%==9009 goto nosn 22 | if not %ERRORLEVEL%==0 goto snerror 23 | 24 | echo Note that this newly generated key file will not match the original key used by rubicon to sign re-motion assemblies. 25 | 26 | goto end 27 | 28 | :nosn 29 | 30 | echo 'sn.exe', which is a part of the .NET/Windows SDK, could not be found in the PATH. Please set the PATH to include the .NET/Windows SDK or run this script from a Visual Studio command prompt. 31 | 32 | exit /b 1 33 | 34 | :snerror 35 | 36 | echo There was an error executing 'sn.exe'. 37 | 38 | exit /b 2 39 | 40 | :end 41 | 42 | exit /b 0 -------------------------------------------------------------------------------- /GitExtensions.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | RevisionLinkDefs 6 | 7 | 8 | <?xml version="1.0" encoding="utf-16"?> 9 | <ArrayOfGitExtLinkDef xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 10 | <GitExtLinkDef> 11 | <SearchInParts> 12 | <RevisionPart>Message</RevisionPart> 13 | <RevisionPart>LocalBranches</RevisionPart> 14 | </SearchInParts> 15 | <LinkFormats> 16 | <GitExtLinkFormat> 17 | <Caption>JIRA {0}</Caption> 18 | <Format>https://www.re-motion.org/jira/browse/{0}</Format> 19 | </GitExtLinkFormat> 20 | </LinkFormats> 21 | <Name>JIRA</Name> 22 | <SearchPattern>(?:^|\s|\(|#|feature/|bugfix/|hotfix/)(RM[A-Z]{0,8}-\d{1,6})(?:\-|\)|\s|$)</SearchPattern> 23 | <Enabled>true</Enabled> 24 | </GitExtLinkDef> 25 | </ArrayOfGitExtLinkDef> 26 | 27 | 28 | -------------------------------------------------------------------------------- /How to Contribute.txt: -------------------------------------------------------------------------------- 1 | Please see our Github Wiki on contributing: 2 | https://github.com/re-motion/Relinq/wiki/Contributing -------------------------------------------------------------------------------- /NuGet.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /PerformanceTests/App.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /PerformanceTests/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Diagnostics; 3 | using Remotion.Linq.Parsing.Structure; 4 | 5 | namespace Remotion.Linq.PerformanceTests 6 | { 7 | internal class Program 8 | { 9 | private static int Main (string[] args) 10 | { 11 | if (args.Length != 1) 12 | { 13 | Console.WriteLine ("Test type must be specified via commandline argument. E.g. \"Remotion.Linq.PerformanceTests.exe QueryParser\""); 14 | return -1; 15 | } 16 | 17 | var testType = args[0]; 18 | switch (testType) 19 | { 20 | case "QueryParser": 21 | CreateDefaultQueryParser(); 22 | return 0; 23 | 24 | case "NodeTypeProvider": 25 | CreateDefaultNodeTypeProvider(); 26 | return 0; 27 | 28 | default: 29 | Console.WriteLine ("Valid test types are: 'QueryParser'"); 30 | return -1; 31 | } 32 | } 33 | 34 | private static void CreateDefaultQueryParser () 35 | { 36 | Console.WriteLine ("Creating QueryParser..."); 37 | var stopwatch = Stopwatch.StartNew(); 38 | QueryParser.CreateDefault(); 39 | stopwatch.Stop(); 40 | Console.WriteLine ("Time taken: {0}ms, reference time: ~36ms", stopwatch.ElapsedMilliseconds); 41 | } 42 | 43 | private static void CreateDefaultNodeTypeProvider () 44 | { 45 | Console.WriteLine ("Creating NodeTypeProvider..."); 46 | var stopwatch = Stopwatch.StartNew(); 47 | ExpressionTreeParser.CreateDefaultNodeTypeProvider(); 48 | stopwatch.Stop(); 49 | Console.WriteLine ("Time taken: {0}ms, reference time: ~30ms", stopwatch.ElapsedMilliseconds); 50 | } 51 | } 52 | } -------------------------------------------------------------------------------- /PerformanceTests/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle ("PerformanceTests")] 9 | [assembly: AssemblyDescription ("")] 10 | [assembly: AssemblyConfiguration ("")] 11 | [assembly: AssemblyCompany ("")] 12 | [assembly: AssemblyProduct ("PerformanceTests")] 13 | [assembly: AssemblyCopyright ("Copyright © 2014")] 14 | [assembly: AssemblyTrademark ("")] 15 | [assembly: AssemblyCulture ("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible (false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid ("cac4baef-cd70-46f7-b530-e8b8c7488f1f")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion ("1.0.0.0")] 36 | [assembly: AssemblyFileVersion ("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /PerformanceTests/RunTest.ps1: -------------------------------------------------------------------------------- 1 | Write-Host "Rebuilding project..." 2 | $msbuild = "C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe" 3 | & $msbuild "PerformanceTests.csproj" "/property:Configuration=Release" "/target:Clean;Build" "/nologo" "/verbosity:quiet" 4 | 5 | Write-Host "Launching performance test..." 6 | $process = "bin\Release\Remotion.Linq.PerformanceTests.exe" 7 | $timer = [System.Diagnostics.Stopwatch]::StartNew(); 8 | $timer.Start(); 9 | & $process "QueryParser" 10 | $timer.Stop(); 11 | 12 | $elapsedTime = "{0:N0}" -f ($timer.ElapsedMilliseconds) 13 | Write-Host "Launching process and creating the QueryParser took " $elapsedTime "ms, reference time: ~130ms" 14 | 15 | $timer = [System.Diagnostics.Stopwatch]::StartNew(); 16 | $timer.Start(); 17 | & $process "NodeTypeProvider" 18 | $timer.Stop(); 19 | 20 | $elapsedTime = "{0:N0}" -f ($timer.ElapsedMilliseconds) 21 | Write-Host "Launching process and creating the NodeTypeProvider took " $elapsedTime "ms, reference time: ~120ms" 22 | -------------------------------------------------------------------------------- /Relinq.dependdb.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | http://dependdb/WebService/ 4 | 5 5 | 10 6 | 25 7 | 50 8 | 5 9 | 3 10 | trunk, master, default 11 | -------------------------------------------------------------------------------- /Relinq.sln.rn.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 8 | -------------------------------------------------------------------------------- /UnitTests.Net_3_5/App_Packages/Remotion.JetBrains.Annotations.Sources.1.15.23.0/LinqTunnelAttribute.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using System; 19 | 20 | #pragma warning disable 1591 21 | // ReSharper disable UnusedMember.Global 22 | // ReSharper disable MemberCanBePrivate.Global 23 | // ReSharper disable UnusedAutoPropertyAccessor.Global 24 | // ReSharper disable IntroduceOptionalParameters.Global 25 | // ReSharper disable MemberCanBeProtected.Global 26 | // ReSharper disable InconsistentNaming 27 | // ReSharper disable once CheckNamespace 28 | 29 | namespace JetBrains.Annotations 30 | { 31 | /// 32 | /// Indicates that method is *pure* linq method, with postponed enumeration. C# iterator methods (yield ...) are always LinqTunnel. 33 | /// 34 | [AttributeUsage (AttributeTargets.Method)] 35 | sealed partial class LinqTunnelAttribute : Attribute 36 | { 37 | } 38 | } -------------------------------------------------------------------------------- /UnitTests.Net_3_5/App_Packages/Remotion.JetBrains.Annotations.Sources.1.15.23.0/NoEnumerationAttribute.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using System; 19 | 20 | #pragma warning disable 1591 21 | // ReSharper disable UnusedMember.Global 22 | // ReSharper disable MemberCanBePrivate.Global 23 | // ReSharper disable UnusedAutoPropertyAccessor.Global 24 | // ReSharper disable IntroduceOptionalParameters.Global 25 | // ReSharper disable MemberCanBeProtected.Global 26 | // ReSharper disable InconsistentNaming 27 | // ReSharper disable once CheckNamespace 28 | 29 | namespace JetBrains.Annotations 30 | { 31 | /// 32 | /// Indicates that IEnumarable, passed as parameter, is not enumerated. 33 | /// 34 | /// 35 | [AttributeUsage(AttributeTargets.Parameter)] 36 | sealed partial class NoEnumerationAttribute : Attribute 37 | { 38 | } 39 | } -------------------------------------------------------------------------------- /UnitTests.Net_3_5/App_Packages/Remotion.JetBrains.Annotations.Sources.1.15.23.0/NotNullAttribute.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using System; 19 | 20 | #pragma warning disable 1591 21 | // ReSharper disable UnusedMember.Global 22 | // ReSharper disable MemberCanBePrivate.Global 23 | // ReSharper disable UnusedAutoPropertyAccessor.Global 24 | // ReSharper disable IntroduceOptionalParameters.Global 25 | // ReSharper disable MemberCanBeProtected.Global 26 | // ReSharper disable InconsistentNaming 27 | // ReSharper disable once CheckNamespace 28 | 29 | namespace JetBrains.Annotations 30 | { 31 | /// 32 | /// Indicates that the value of marked element could never be null 33 | /// 34 | [AttributeUsage (AttributeTargets.Method | AttributeTargets.Parameter | AttributeTargets.Property | AttributeTargets.Delegate | AttributeTargets.Field, AllowMultiple = false, Inherited = true)] 35 | sealed partial class NotNullAttribute : Attribute { } 36 | } -------------------------------------------------------------------------------- /UnitTests.Net_3_5/App_Packages/Remotion.JetBrains.Annotations.Sources.1.15.23.0/PathReferenceAttribute.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using System; 19 | 20 | #pragma warning disable 1591 21 | // ReSharper disable UnusedMember.Global 22 | // ReSharper disable MemberCanBePrivate.Global 23 | // ReSharper disable UnusedAutoPropertyAccessor.Global 24 | // ReSharper disable IntroduceOptionalParameters.Global 25 | // ReSharper disable MemberCanBeProtected.Global 26 | // ReSharper disable InconsistentNaming 27 | // ReSharper disable once CheckNamespace 28 | 29 | namespace JetBrains.Annotations 30 | { 31 | [AttributeUsage (AttributeTargets.Parameter)] 32 | sealed partial class PathReferenceAttribute : Attribute 33 | { 34 | public PathReferenceAttribute () { } 35 | 36 | public PathReferenceAttribute ([PathReference] string basePath) 37 | { 38 | BasePath = basePath; 39 | } 40 | 41 | public string BasePath { get; private set; } 42 | } 43 | } -------------------------------------------------------------------------------- /UnitTests.Net_3_5/App_Packages/Remotion.JetBrains.Annotations.Sources.1.15.23.0/PublicAPIAttribute.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using System; 19 | 20 | #pragma warning disable 1591 21 | // ReSharper disable UnusedMember.Global 22 | // ReSharper disable MemberCanBePrivate.Global 23 | // ReSharper disable UnusedAutoPropertyAccessor.Global 24 | // ReSharper disable IntroduceOptionalParameters.Global 25 | // ReSharper disable MemberCanBeProtected.Global 26 | // ReSharper disable InconsistentNaming 27 | // ReSharper disable once CheckNamespace 28 | 29 | namespace JetBrains.Annotations 30 | { 31 | /// 32 | /// This attribute is intended to mark publicly available API which should not be removed and so is treated as used. 33 | /// 34 | [MeansImplicitUse] 35 | sealed partial class PublicAPIAttribute : Attribute 36 | { 37 | public PublicAPIAttribute () { } 38 | public PublicAPIAttribute (string comment) { } 39 | } 40 | } -------------------------------------------------------------------------------- /UnitTests.Net_3_5/App_Packages/Remotion.JetBrains.Annotations.Sources.1.15.23.0/PureAttribute.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using System; 19 | 20 | #pragma warning disable 1591 21 | // ReSharper disable UnusedMember.Global 22 | // ReSharper disable MemberCanBePrivate.Global 23 | // ReSharper disable UnusedAutoPropertyAccessor.Global 24 | // ReSharper disable IntroduceOptionalParameters.Global 25 | // ReSharper disable MemberCanBeProtected.Global 26 | // ReSharper disable InconsistentNaming 27 | // ReSharper disable once CheckNamespace 28 | 29 | namespace JetBrains.Annotations 30 | { 31 | /// 32 | /// Indicates that method doesn't contain observable side effects. 33 | /// 34 | // The same as 35 | [AttributeUsage (AttributeTargets.Method, Inherited = true)] 36 | sealed partial class PureAttribute : Attribute { } 37 | } -------------------------------------------------------------------------------- /UnitTests.Net_3_5/App_Packages/Remotion.JetBrains.Annotations.Sources.1.15.23.0/TerminatesProgramAttribute.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using System; 19 | 20 | #pragma warning disable 1591 21 | // ReSharper disable UnusedMember.Global 22 | // ReSharper disable MemberCanBePrivate.Global 23 | // ReSharper disable UnusedAutoPropertyAccessor.Global 24 | // ReSharper disable IntroduceOptionalParameters.Global 25 | // ReSharper disable MemberCanBeProtected.Global 26 | // ReSharper disable InconsistentNaming 27 | // ReSharper disable once CheckNamespace 28 | 29 | namespace JetBrains.Annotations 30 | { 31 | /// 32 | /// Indicates that the marked method unconditionally terminates control flow execution. 33 | /// For example, it could unconditionally throw exception 34 | /// 35 | [AttributeUsage (AttributeTargets.Method, AllowMultiple = false, Inherited = true)] 36 | sealed partial class TerminatesProgramAttribute : Attribute 37 | { 38 | } 39 | } -------------------------------------------------------------------------------- /UnitTests.Net_3_5/App_Packages/Remotion.Utilities.Assertion.Sources.1.15.23.0/SharedSource Apache-2.0.licenseheader: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/re-motion/Relinq/769b56688ef4bbdb2e68abf5708bb9692451d298/UnitTests.Net_3_5/App_Packages/Remotion.Utilities.Assertion.Sources.1.15.23.0/SharedSource Apache-2.0.licenseheader -------------------------------------------------------------------------------- /UnitTests.Net_3_5/App_Packages/Remotion.Utilities.EqualityUtility.Sources.1.15.23.0/SharedSource Apache-2.0.licenseheader: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/re-motion/Relinq/769b56688ef4bbdb2e68abf5708bb9692451d298/UnitTests.Net_3_5/App_Packages/Remotion.Utilities.EqualityUtility.Sources.1.15.23.0/SharedSource Apache-2.0.licenseheader -------------------------------------------------------------------------------- /UnitTests.Net_3_5/Utilities/Tuple.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | // ReSharper disable once CheckNamespace 19 | namespace System 20 | { 21 | public static class Tuple 22 | { 23 | public static Tuple Create (T1 item1, T2 item2) 24 | { 25 | return new Tuple (item1, item2); 26 | } 27 | 28 | public static Tuple Create (T1 item1, T2 item2, T3 item3) 29 | { 30 | return new Tuple (item1, item2, item3); 31 | } 32 | 33 | public static Tuple Create (T1 item1, T2 item2, T3 item3, T4 item4) 34 | { 35 | return new Tuple (item1, item2, item3, item4); 36 | } 37 | } 38 | } -------------------------------------------------------------------------------- /UnitTests.Net_3_5/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /UnitTests.Net_4_0/App_Packages/Remotion.JetBrains.Annotations.Sources.1.15.23.0/LinqTunnelAttribute.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using System; 19 | 20 | #pragma warning disable 1591 21 | // ReSharper disable UnusedMember.Global 22 | // ReSharper disable MemberCanBePrivate.Global 23 | // ReSharper disable UnusedAutoPropertyAccessor.Global 24 | // ReSharper disable IntroduceOptionalParameters.Global 25 | // ReSharper disable MemberCanBeProtected.Global 26 | // ReSharper disable InconsistentNaming 27 | // ReSharper disable once CheckNamespace 28 | 29 | namespace JetBrains.Annotations 30 | { 31 | /// 32 | /// Indicates that method is *pure* linq method, with postponed enumeration. C# iterator methods (yield ...) are always LinqTunnel. 33 | /// 34 | [AttributeUsage (AttributeTargets.Method)] 35 | sealed partial class LinqTunnelAttribute : Attribute 36 | { 37 | } 38 | } -------------------------------------------------------------------------------- /UnitTests.Net_4_0/App_Packages/Remotion.JetBrains.Annotations.Sources.1.15.23.0/NoEnumerationAttribute.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using System; 19 | 20 | #pragma warning disable 1591 21 | // ReSharper disable UnusedMember.Global 22 | // ReSharper disable MemberCanBePrivate.Global 23 | // ReSharper disable UnusedAutoPropertyAccessor.Global 24 | // ReSharper disable IntroduceOptionalParameters.Global 25 | // ReSharper disable MemberCanBeProtected.Global 26 | // ReSharper disable InconsistentNaming 27 | // ReSharper disable once CheckNamespace 28 | 29 | namespace JetBrains.Annotations 30 | { 31 | /// 32 | /// Indicates that IEnumarable, passed as parameter, is not enumerated. 33 | /// 34 | /// 35 | [AttributeUsage(AttributeTargets.Parameter)] 36 | sealed partial class NoEnumerationAttribute : Attribute 37 | { 38 | } 39 | } -------------------------------------------------------------------------------- /UnitTests.Net_4_0/App_Packages/Remotion.JetBrains.Annotations.Sources.1.15.23.0/NotNullAttribute.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using System; 19 | 20 | #pragma warning disable 1591 21 | // ReSharper disable UnusedMember.Global 22 | // ReSharper disable MemberCanBePrivate.Global 23 | // ReSharper disable UnusedAutoPropertyAccessor.Global 24 | // ReSharper disable IntroduceOptionalParameters.Global 25 | // ReSharper disable MemberCanBeProtected.Global 26 | // ReSharper disable InconsistentNaming 27 | // ReSharper disable once CheckNamespace 28 | 29 | namespace JetBrains.Annotations 30 | { 31 | /// 32 | /// Indicates that the value of marked element could never be null 33 | /// 34 | [AttributeUsage (AttributeTargets.Method | AttributeTargets.Parameter | AttributeTargets.Property | AttributeTargets.Delegate | AttributeTargets.Field, AllowMultiple = false, Inherited = true)] 35 | sealed partial class NotNullAttribute : Attribute { } 36 | } -------------------------------------------------------------------------------- /UnitTests.Net_4_0/App_Packages/Remotion.JetBrains.Annotations.Sources.1.15.23.0/PathReferenceAttribute.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using System; 19 | 20 | #pragma warning disable 1591 21 | // ReSharper disable UnusedMember.Global 22 | // ReSharper disable MemberCanBePrivate.Global 23 | // ReSharper disable UnusedAutoPropertyAccessor.Global 24 | // ReSharper disable IntroduceOptionalParameters.Global 25 | // ReSharper disable MemberCanBeProtected.Global 26 | // ReSharper disable InconsistentNaming 27 | // ReSharper disable once CheckNamespace 28 | 29 | namespace JetBrains.Annotations 30 | { 31 | [AttributeUsage (AttributeTargets.Parameter)] 32 | sealed partial class PathReferenceAttribute : Attribute 33 | { 34 | public PathReferenceAttribute () { } 35 | 36 | public PathReferenceAttribute ([PathReference] string basePath) 37 | { 38 | BasePath = basePath; 39 | } 40 | 41 | public string BasePath { get; private set; } 42 | } 43 | } -------------------------------------------------------------------------------- /UnitTests.Net_4_0/App_Packages/Remotion.JetBrains.Annotations.Sources.1.15.23.0/PublicAPIAttribute.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using System; 19 | 20 | #pragma warning disable 1591 21 | // ReSharper disable UnusedMember.Global 22 | // ReSharper disable MemberCanBePrivate.Global 23 | // ReSharper disable UnusedAutoPropertyAccessor.Global 24 | // ReSharper disable IntroduceOptionalParameters.Global 25 | // ReSharper disable MemberCanBeProtected.Global 26 | // ReSharper disable InconsistentNaming 27 | // ReSharper disable once CheckNamespace 28 | 29 | namespace JetBrains.Annotations 30 | { 31 | /// 32 | /// This attribute is intended to mark publicly available API which should not be removed and so is treated as used. 33 | /// 34 | [MeansImplicitUse] 35 | sealed partial class PublicAPIAttribute : Attribute 36 | { 37 | public PublicAPIAttribute () { } 38 | public PublicAPIAttribute (string comment) { } 39 | } 40 | } -------------------------------------------------------------------------------- /UnitTests.Net_4_0/App_Packages/Remotion.JetBrains.Annotations.Sources.1.15.23.0/PureAttribute.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using System; 19 | 20 | #pragma warning disable 1591 21 | // ReSharper disable UnusedMember.Global 22 | // ReSharper disable MemberCanBePrivate.Global 23 | // ReSharper disable UnusedAutoPropertyAccessor.Global 24 | // ReSharper disable IntroduceOptionalParameters.Global 25 | // ReSharper disable MemberCanBeProtected.Global 26 | // ReSharper disable InconsistentNaming 27 | // ReSharper disable once CheckNamespace 28 | 29 | namespace JetBrains.Annotations 30 | { 31 | /// 32 | /// Indicates that method doesn't contain observable side effects. 33 | /// 34 | // The same as 35 | [AttributeUsage (AttributeTargets.Method, Inherited = true)] 36 | sealed partial class PureAttribute : Attribute { } 37 | } -------------------------------------------------------------------------------- /UnitTests.Net_4_0/App_Packages/Remotion.JetBrains.Annotations.Sources.1.15.23.0/TerminatesProgramAttribute.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using System; 19 | 20 | #pragma warning disable 1591 21 | // ReSharper disable UnusedMember.Global 22 | // ReSharper disable MemberCanBePrivate.Global 23 | // ReSharper disable UnusedAutoPropertyAccessor.Global 24 | // ReSharper disable IntroduceOptionalParameters.Global 25 | // ReSharper disable MemberCanBeProtected.Global 26 | // ReSharper disable InconsistentNaming 27 | // ReSharper disable once CheckNamespace 28 | 29 | namespace JetBrains.Annotations 30 | { 31 | /// 32 | /// Indicates that the marked method unconditionally terminates control flow execution. 33 | /// For example, it could unconditionally throw exception 34 | /// 35 | [AttributeUsage (AttributeTargets.Method, AllowMultiple = false, Inherited = true)] 36 | sealed partial class TerminatesProgramAttribute : Attribute 37 | { 38 | } 39 | } -------------------------------------------------------------------------------- /UnitTests.Net_4_0/App_Packages/Remotion.Utilities.Assertion.Sources.1.15.23.0/SharedSource Apache-2.0.licenseheader: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/re-motion/Relinq/769b56688ef4bbdb2e68abf5708bb9692451d298/UnitTests.Net_4_0/App_Packages/Remotion.Utilities.Assertion.Sources.1.15.23.0/SharedSource Apache-2.0.licenseheader -------------------------------------------------------------------------------- /UnitTests.Net_4_0/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /UnitTests.Net_4_5/App_Packages/Remotion.JetBrains.Annotations.Sources.1.15.23.0/LinqTunnelAttribute.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using System; 19 | 20 | #pragma warning disable 1591 21 | // ReSharper disable UnusedMember.Global 22 | // ReSharper disable MemberCanBePrivate.Global 23 | // ReSharper disable UnusedAutoPropertyAccessor.Global 24 | // ReSharper disable IntroduceOptionalParameters.Global 25 | // ReSharper disable MemberCanBeProtected.Global 26 | // ReSharper disable InconsistentNaming 27 | // ReSharper disable once CheckNamespace 28 | 29 | namespace JetBrains.Annotations 30 | { 31 | /// 32 | /// Indicates that method is *pure* linq method, with postponed enumeration. C# iterator methods (yield ...) are always LinqTunnel. 33 | /// 34 | [AttributeUsage (AttributeTargets.Method)] 35 | sealed partial class LinqTunnelAttribute : Attribute 36 | { 37 | } 38 | } -------------------------------------------------------------------------------- /UnitTests.Net_4_5/App_Packages/Remotion.JetBrains.Annotations.Sources.1.15.23.0/NoEnumerationAttribute.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using System; 19 | 20 | #pragma warning disable 1591 21 | // ReSharper disable UnusedMember.Global 22 | // ReSharper disable MemberCanBePrivate.Global 23 | // ReSharper disable UnusedAutoPropertyAccessor.Global 24 | // ReSharper disable IntroduceOptionalParameters.Global 25 | // ReSharper disable MemberCanBeProtected.Global 26 | // ReSharper disable InconsistentNaming 27 | // ReSharper disable once CheckNamespace 28 | 29 | namespace JetBrains.Annotations 30 | { 31 | /// 32 | /// Indicates that IEnumarable, passed as parameter, is not enumerated. 33 | /// 34 | /// 35 | [AttributeUsage(AttributeTargets.Parameter)] 36 | sealed partial class NoEnumerationAttribute : Attribute 37 | { 38 | } 39 | } -------------------------------------------------------------------------------- /UnitTests.Net_4_5/App_Packages/Remotion.JetBrains.Annotations.Sources.1.15.23.0/NotNullAttribute.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using System; 19 | 20 | #pragma warning disable 1591 21 | // ReSharper disable UnusedMember.Global 22 | // ReSharper disable MemberCanBePrivate.Global 23 | // ReSharper disable UnusedAutoPropertyAccessor.Global 24 | // ReSharper disable IntroduceOptionalParameters.Global 25 | // ReSharper disable MemberCanBeProtected.Global 26 | // ReSharper disable InconsistentNaming 27 | // ReSharper disable once CheckNamespace 28 | 29 | namespace JetBrains.Annotations 30 | { 31 | /// 32 | /// Indicates that the value of marked element could never be null 33 | /// 34 | [AttributeUsage (AttributeTargets.Method | AttributeTargets.Parameter | AttributeTargets.Property | AttributeTargets.Delegate | AttributeTargets.Field, AllowMultiple = false, Inherited = true)] 35 | sealed partial class NotNullAttribute : Attribute { } 36 | } -------------------------------------------------------------------------------- /UnitTests.Net_4_5/App_Packages/Remotion.JetBrains.Annotations.Sources.1.15.23.0/PathReferenceAttribute.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using System; 19 | 20 | #pragma warning disable 1591 21 | // ReSharper disable UnusedMember.Global 22 | // ReSharper disable MemberCanBePrivate.Global 23 | // ReSharper disable UnusedAutoPropertyAccessor.Global 24 | // ReSharper disable IntroduceOptionalParameters.Global 25 | // ReSharper disable MemberCanBeProtected.Global 26 | // ReSharper disable InconsistentNaming 27 | // ReSharper disable once CheckNamespace 28 | 29 | namespace JetBrains.Annotations 30 | { 31 | [AttributeUsage (AttributeTargets.Parameter)] 32 | sealed partial class PathReferenceAttribute : Attribute 33 | { 34 | public PathReferenceAttribute () { } 35 | 36 | public PathReferenceAttribute ([PathReference] string basePath) 37 | { 38 | BasePath = basePath; 39 | } 40 | 41 | public string BasePath { get; private set; } 42 | } 43 | } -------------------------------------------------------------------------------- /UnitTests.Net_4_5/App_Packages/Remotion.JetBrains.Annotations.Sources.1.15.23.0/PublicAPIAttribute.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using System; 19 | 20 | #pragma warning disable 1591 21 | // ReSharper disable UnusedMember.Global 22 | // ReSharper disable MemberCanBePrivate.Global 23 | // ReSharper disable UnusedAutoPropertyAccessor.Global 24 | // ReSharper disable IntroduceOptionalParameters.Global 25 | // ReSharper disable MemberCanBeProtected.Global 26 | // ReSharper disable InconsistentNaming 27 | // ReSharper disable once CheckNamespace 28 | 29 | namespace JetBrains.Annotations 30 | { 31 | /// 32 | /// This attribute is intended to mark publicly available API which should not be removed and so is treated as used. 33 | /// 34 | [MeansImplicitUse] 35 | sealed partial class PublicAPIAttribute : Attribute 36 | { 37 | public PublicAPIAttribute () { } 38 | public PublicAPIAttribute (string comment) { } 39 | } 40 | } -------------------------------------------------------------------------------- /UnitTests.Net_4_5/App_Packages/Remotion.JetBrains.Annotations.Sources.1.15.23.0/PureAttribute.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using System; 19 | 20 | #pragma warning disable 1591 21 | // ReSharper disable UnusedMember.Global 22 | // ReSharper disable MemberCanBePrivate.Global 23 | // ReSharper disable UnusedAutoPropertyAccessor.Global 24 | // ReSharper disable IntroduceOptionalParameters.Global 25 | // ReSharper disable MemberCanBeProtected.Global 26 | // ReSharper disable InconsistentNaming 27 | // ReSharper disable once CheckNamespace 28 | 29 | namespace JetBrains.Annotations 30 | { 31 | /// 32 | /// Indicates that method doesn't contain observable side effects. 33 | /// 34 | // The same as 35 | [AttributeUsage (AttributeTargets.Method, Inherited = true)] 36 | sealed partial class PureAttribute : Attribute { } 37 | } -------------------------------------------------------------------------------- /UnitTests.Net_4_5/App_Packages/Remotion.JetBrains.Annotations.Sources.1.15.23.0/TerminatesProgramAttribute.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using System; 19 | 20 | #pragma warning disable 1591 21 | // ReSharper disable UnusedMember.Global 22 | // ReSharper disable MemberCanBePrivate.Global 23 | // ReSharper disable UnusedAutoPropertyAccessor.Global 24 | // ReSharper disable IntroduceOptionalParameters.Global 25 | // ReSharper disable MemberCanBeProtected.Global 26 | // ReSharper disable InconsistentNaming 27 | // ReSharper disable once CheckNamespace 28 | 29 | namespace JetBrains.Annotations 30 | { 31 | /// 32 | /// Indicates that the marked method unconditionally terminates control flow execution. 33 | /// For example, it could unconditionally throw exception 34 | /// 35 | [AttributeUsage (AttributeTargets.Method, AllowMultiple = false, Inherited = true)] 36 | sealed partial class TerminatesProgramAttribute : Attribute 37 | { 38 | } 39 | } -------------------------------------------------------------------------------- /UnitTests.Net_4_5/App_Packages/Remotion.Utilities.Assertion.Sources.1.15.23.0/SharedSource Apache-2.0.licenseheader: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/re-motion/Relinq/769b56688ef4bbdb2e68abf5708bb9692451d298/UnitTests.Net_4_5/App_Packages/Remotion.Utilities.Assertion.Sources.1.15.23.0/SharedSource Apache-2.0.licenseheader -------------------------------------------------------------------------------- /UnitTests.Net_4_5/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /UnitTests/App_Packages/Remotion.JetBrains.Annotations.Sources.1.15.23.0/LinqTunnelAttribute.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using System; 19 | 20 | #pragma warning disable 1591 21 | // ReSharper disable UnusedMember.Global 22 | // ReSharper disable MemberCanBePrivate.Global 23 | // ReSharper disable UnusedAutoPropertyAccessor.Global 24 | // ReSharper disable IntroduceOptionalParameters.Global 25 | // ReSharper disable MemberCanBeProtected.Global 26 | // ReSharper disable InconsistentNaming 27 | // ReSharper disable once CheckNamespace 28 | 29 | namespace JetBrains.Annotations 30 | { 31 | /// 32 | /// Indicates that method is *pure* linq method, with postponed enumeration. C# iterator methods (yield ...) are always LinqTunnel. 33 | /// 34 | [AttributeUsage (AttributeTargets.Method)] 35 | sealed partial class LinqTunnelAttribute : Attribute 36 | { 37 | } 38 | } -------------------------------------------------------------------------------- /UnitTests/App_Packages/Remotion.JetBrains.Annotations.Sources.1.15.23.0/NoEnumerationAttribute.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using System; 19 | 20 | #pragma warning disable 1591 21 | // ReSharper disable UnusedMember.Global 22 | // ReSharper disable MemberCanBePrivate.Global 23 | // ReSharper disable UnusedAutoPropertyAccessor.Global 24 | // ReSharper disable IntroduceOptionalParameters.Global 25 | // ReSharper disable MemberCanBeProtected.Global 26 | // ReSharper disable InconsistentNaming 27 | // ReSharper disable once CheckNamespace 28 | 29 | namespace JetBrains.Annotations 30 | { 31 | /// 32 | /// Indicates that IEnumarable, passed as parameter, is not enumerated. 33 | /// 34 | /// 35 | [AttributeUsage(AttributeTargets.Parameter)] 36 | sealed partial class NoEnumerationAttribute : Attribute 37 | { 38 | } 39 | } -------------------------------------------------------------------------------- /UnitTests/App_Packages/Remotion.JetBrains.Annotations.Sources.1.15.23.0/NotNullAttribute.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using System; 19 | 20 | #pragma warning disable 1591 21 | // ReSharper disable UnusedMember.Global 22 | // ReSharper disable MemberCanBePrivate.Global 23 | // ReSharper disable UnusedAutoPropertyAccessor.Global 24 | // ReSharper disable IntroduceOptionalParameters.Global 25 | // ReSharper disable MemberCanBeProtected.Global 26 | // ReSharper disable InconsistentNaming 27 | // ReSharper disable once CheckNamespace 28 | 29 | namespace JetBrains.Annotations 30 | { 31 | /// 32 | /// Indicates that the value of marked element could never be null 33 | /// 34 | [AttributeUsage (AttributeTargets.Method | AttributeTargets.Parameter | AttributeTargets.Property | AttributeTargets.Delegate | AttributeTargets.Field, AllowMultiple = false, Inherited = true)] 35 | sealed partial class NotNullAttribute : Attribute { } 36 | } -------------------------------------------------------------------------------- /UnitTests/App_Packages/Remotion.JetBrains.Annotations.Sources.1.15.23.0/PathReferenceAttribute.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using System; 19 | 20 | #pragma warning disable 1591 21 | // ReSharper disable UnusedMember.Global 22 | // ReSharper disable MemberCanBePrivate.Global 23 | // ReSharper disable UnusedAutoPropertyAccessor.Global 24 | // ReSharper disable IntroduceOptionalParameters.Global 25 | // ReSharper disable MemberCanBeProtected.Global 26 | // ReSharper disable InconsistentNaming 27 | // ReSharper disable once CheckNamespace 28 | 29 | namespace JetBrains.Annotations 30 | { 31 | [AttributeUsage (AttributeTargets.Parameter)] 32 | sealed partial class PathReferenceAttribute : Attribute 33 | { 34 | public PathReferenceAttribute () { } 35 | 36 | public PathReferenceAttribute ([PathReference] string basePath) 37 | { 38 | BasePath = basePath; 39 | } 40 | 41 | public string BasePath { get; private set; } 42 | } 43 | } -------------------------------------------------------------------------------- /UnitTests/App_Packages/Remotion.JetBrains.Annotations.Sources.1.15.23.0/PublicAPIAttribute.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using System; 19 | 20 | #pragma warning disable 1591 21 | // ReSharper disable UnusedMember.Global 22 | // ReSharper disable MemberCanBePrivate.Global 23 | // ReSharper disable UnusedAutoPropertyAccessor.Global 24 | // ReSharper disable IntroduceOptionalParameters.Global 25 | // ReSharper disable MemberCanBeProtected.Global 26 | // ReSharper disable InconsistentNaming 27 | // ReSharper disable once CheckNamespace 28 | 29 | namespace JetBrains.Annotations 30 | { 31 | /// 32 | /// This attribute is intended to mark publicly available API which should not be removed and so is treated as used. 33 | /// 34 | [MeansImplicitUse] 35 | sealed partial class PublicAPIAttribute : Attribute 36 | { 37 | public PublicAPIAttribute () { } 38 | public PublicAPIAttribute (string comment) { } 39 | } 40 | } -------------------------------------------------------------------------------- /UnitTests/App_Packages/Remotion.JetBrains.Annotations.Sources.1.15.23.0/PureAttribute.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using System; 19 | 20 | #pragma warning disable 1591 21 | // ReSharper disable UnusedMember.Global 22 | // ReSharper disable MemberCanBePrivate.Global 23 | // ReSharper disable UnusedAutoPropertyAccessor.Global 24 | // ReSharper disable IntroduceOptionalParameters.Global 25 | // ReSharper disable MemberCanBeProtected.Global 26 | // ReSharper disable InconsistentNaming 27 | // ReSharper disable once CheckNamespace 28 | 29 | namespace JetBrains.Annotations 30 | { 31 | /// 32 | /// Indicates that method doesn't contain observable side effects. 33 | /// 34 | // The same as 35 | [AttributeUsage (AttributeTargets.Method, Inherited = true)] 36 | sealed partial class PureAttribute : Attribute { } 37 | } -------------------------------------------------------------------------------- /UnitTests/App_Packages/Remotion.JetBrains.Annotations.Sources.1.15.23.0/TerminatesProgramAttribute.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using System; 19 | 20 | #pragma warning disable 1591 21 | // ReSharper disable UnusedMember.Global 22 | // ReSharper disable MemberCanBePrivate.Global 23 | // ReSharper disable UnusedAutoPropertyAccessor.Global 24 | // ReSharper disable IntroduceOptionalParameters.Global 25 | // ReSharper disable MemberCanBeProtected.Global 26 | // ReSharper disable InconsistentNaming 27 | // ReSharper disable once CheckNamespace 28 | 29 | namespace JetBrains.Annotations 30 | { 31 | /// 32 | /// Indicates that the marked method unconditionally terminates control flow execution. 33 | /// For example, it could unconditionally throw exception 34 | /// 35 | [AttributeUsage (AttributeTargets.Method, AllowMultiple = false, Inherited = true)] 36 | sealed partial class TerminatesProgramAttribute : Attribute 37 | { 38 | } 39 | } -------------------------------------------------------------------------------- /UnitTests/App_Packages/Remotion.Utilities.Assertion.Sources.1.15.23.0/SharedSource Apache-2.0.licenseheader: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/re-motion/Relinq/769b56688ef4bbdb2e68abf5708bb9692451d298/UnitTests/App_Packages/Remotion.Utilities.Assertion.Sources.1.15.23.0/SharedSource Apache-2.0.licenseheader -------------------------------------------------------------------------------- /UnitTests/Clauses/Expressions/TestDomain/ISpecificVisitor.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | using System; 18 | using System.Linq.Expressions; 19 | 20 | namespace Remotion.Linq.UnitTests.Clauses.Expressions.TestDomain 21 | { 22 | public interface ISpecificVisitor 23 | { 24 | Expression VisitTestableExtensionExpression (TestableExtensionExpressionWithSpecificVisitor expression); 25 | } 26 | } -------------------------------------------------------------------------------- /UnitTests/Clauses/Expressions/TestDomain/SpecificVisitor.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | using System; 18 | using System.Linq.Expressions; 19 | using Remotion.Linq.Parsing; 20 | 21 | namespace Remotion.Linq.UnitTests.Clauses.Expressions.TestDomain 22 | { 23 | public class SpecificVisitor : RelinqExpressionVisitor, ISpecificVisitor 24 | { 25 | public virtual Expression VisitTestableExtensionExpression (TestableExtensionExpressionWithSpecificVisitor expression) 26 | { 27 | return expression; 28 | } 29 | } 30 | } -------------------------------------------------------------------------------- /UnitTests/Clauses/ResultOperators/SequenceFromSequenceResultOperatorBaseTest.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | using System; 18 | using System.Linq.Expressions; 19 | using NUnit.Framework; 20 | using Remotion.Linq.Clauses.StreamedData; 21 | 22 | namespace Remotion.Linq.UnitTests.Clauses.ResultOperators 23 | { 24 | [TestFixture] 25 | public class SequenceFromSequenceResultOperatorBaseTest 26 | { 27 | private TestSequenceFromSequenceResultOperator _resultOperator; 28 | 29 | [SetUp] 30 | public void SetUp () 31 | { 32 | _resultOperator = new TestSequenceFromSequenceResultOperator(); 33 | } 34 | 35 | [Test] 36 | public void ExecuteInMemory () 37 | { 38 | IStreamedData input = new StreamedSequence (new[] { 1, 2, 3 }, new StreamedSequenceInfo (typeof (int[]), Expression.Constant (0))); 39 | var result = _resultOperator.ExecuteInMemory (input); 40 | 41 | Assert.That (result, Is.SameAs (input)); 42 | } 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /UnitTests/Clauses/ResultOperators/ValueFromSequenceResultOperatorBaseTest.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | using System; 18 | using System.Linq.Expressions; 19 | using NUnit.Framework; 20 | using Remotion.Linq.Clauses.StreamedData; 21 | 22 | namespace Remotion.Linq.UnitTests.Clauses.ResultOperators 23 | { 24 | [TestFixture] 25 | public class ValueFromSequenceResultOperatorBaseTest 26 | { 27 | private TestValueFromSequenceResultOperator _resultOperator; 28 | 29 | [SetUp] 30 | public void SetUp () 31 | { 32 | _resultOperator = new TestValueFromSequenceResultOperator (); 33 | } 34 | 35 | [Test] 36 | public void ExecuteInMemory () 37 | { 38 | IStreamedData input = new StreamedSequence (new[] { 1, 2, 3 }, new StreamedSequenceInfo (typeof (int[]), Expression.Constant (0))); 39 | var result = _resultOperator.ExecuteInMemory (input); 40 | 41 | Assert.That (result.Value, Is.EqualTo (3)); 42 | } 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /UnitTests/Parsing/AnonymousType.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | using System; 18 | using System.Collections.Generic; 19 | 20 | namespace Remotion.Linq.UnitTests.Parsing 21 | { 22 | public class AnonymousType 23 | { 24 | public AnonymousType () 25 | { 26 | } 27 | 28 | public AnonymousType (TA a, TB b) 29 | { 30 | this.a = a; 31 | this.b = b; 32 | } 33 | 34 | public TA a { get; set; } 35 | public TB b { get; set; } 36 | public List List { get; set; } 37 | } 38 | 39 | public class AnonymousType 40 | { 41 | public AnonymousType () 42 | { 43 | } 44 | 45 | public AnonymousType (int a, int b) 46 | { 47 | this.a = a; 48 | this.b = b; 49 | } 50 | 51 | public int a { get; set; } 52 | public int b { get; set; } 53 | public List List { get; set; } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /UnitTests/Parsing/ExpressionTrees/ExpressionTree_Grammar.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/re-motion/Relinq/769b56688ef4bbdb2e68abf5708bb9692451d298/UnitTests/Parsing/ExpressionTrees/ExpressionTree_Grammar.docx -------------------------------------------------------------------------------- /UnitTests/Parsing/ExpressionTrees/OrderByThenBy.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/re-motion/Relinq/769b56688ef4bbdb2e68abf5708bb9692451d298/UnitTests/Parsing/ExpressionTrees/OrderByThenBy.jpg -------------------------------------------------------------------------------- /UnitTests/Parsing/ExpressionTrees/multiFromQueryWithProjection.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/re-motion/Relinq/769b56688ef4bbdb2e68abf5708bb9692451d298/UnitTests/Parsing/ExpressionTrees/multiFromQueryWithProjection.jpg -------------------------------------------------------------------------------- /UnitTests/Parsing/ExpressionTrees/multiFromWhereQuery.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/re-motion/Relinq/769b56688ef4bbdb2e68abf5708bb9692451d298/UnitTests/Parsing/ExpressionTrees/multiFromWhereQuery.jpg -------------------------------------------------------------------------------- /UnitTests/Parsing/ExpressionTrees/multiOrderbysThenBys.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/re-motion/Relinq/769b56688ef4bbdb2e68abf5708bb9692451d298/UnitTests/Parsing/ExpressionTrees/multiOrderbysThenBys.jpg -------------------------------------------------------------------------------- /UnitTests/Parsing/ExpressionTrees/multiWhereQuery.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/re-motion/Relinq/769b56688ef4bbdb2e68abf5708bb9692451d298/UnitTests/Parsing/ExpressionTrees/multiWhereQuery.jpg -------------------------------------------------------------------------------- /UnitTests/Parsing/ExpressionTrees/orderByWhereQuery.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/re-motion/Relinq/769b56688ef4bbdb2e68abf5708bb9692451d298/UnitTests/Parsing/ExpressionTrees/orderByWhereQuery.jpg -------------------------------------------------------------------------------- /UnitTests/Parsing/ExpressionTrees/reverseFromWhereQuery.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/re-motion/Relinq/769b56688ef4bbdb2e68abf5708bb9692451d298/UnitTests/Parsing/ExpressionTrees/reverseFromWhereQuery.jpg -------------------------------------------------------------------------------- /UnitTests/Parsing/ExpressionTrees/reverseFromWhereQueryWithProjection.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/re-motion/Relinq/769b56688ef4bbdb2e68abf5708bb9692451d298/UnitTests/Parsing/ExpressionTrees/reverseFromWhereQueryWithProjection.jpg -------------------------------------------------------------------------------- /UnitTests/Parsing/ExpressionTrees/selectWhereQuery.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/re-motion/Relinq/769b56688ef4bbdb2e68abf5708bb9692451d298/UnitTests/Parsing/ExpressionTrees/selectWhereQuery.jpg -------------------------------------------------------------------------------- /UnitTests/Parsing/ExpressionTrees/simpleExplicitJoin.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/re-motion/Relinq/769b56688ef4bbdb2e68abf5708bb9692451d298/UnitTests/Parsing/ExpressionTrees/simpleExplicitJoin.jpg -------------------------------------------------------------------------------- /UnitTests/Parsing/ExpressionTrees/simpleImplicitJoin.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/re-motion/Relinq/769b56688ef4bbdb2e68abf5708bb9692451d298/UnitTests/Parsing/ExpressionTrees/simpleImplicitJoin.jpg -------------------------------------------------------------------------------- /UnitTests/Parsing/ExpressionTrees/simpleQuery.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/re-motion/Relinq/769b56688ef4bbdb2e68abf5708bb9692451d298/UnitTests/Parsing/ExpressionTrees/simpleQuery.JPG -------------------------------------------------------------------------------- /UnitTests/Parsing/ExpressionTrees/simpleQueryWithFieldProjection.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/re-motion/Relinq/769b56688ef4bbdb2e68abf5708bb9692451d298/UnitTests/Parsing/ExpressionTrees/simpleQueryWithFieldProjection.jpg -------------------------------------------------------------------------------- /UnitTests/Parsing/ExpressionTrees/simpleQueryWithNonEntityMemberAccess.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/re-motion/Relinq/769b56688ef4bbdb2e68abf5708bb9692451d298/UnitTests/Parsing/ExpressionTrees/simpleQueryWithNonEntityMemberAccess.jpg -------------------------------------------------------------------------------- /UnitTests/Parsing/ExpressionTrees/simpleQueryWithProjection.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/re-motion/Relinq/769b56688ef4bbdb2e68abf5708bb9692451d298/UnitTests/Parsing/ExpressionTrees/simpleQueryWithProjection.JPG -------------------------------------------------------------------------------- /UnitTests/Parsing/ExpressionTrees/simpleSelectManyQuery.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/re-motion/Relinq/769b56688ef4bbdb2e68abf5708bb9692451d298/UnitTests/Parsing/ExpressionTrees/simpleSelectManyQuery.jpg -------------------------------------------------------------------------------- /UnitTests/Parsing/ExpressionTrees/simpleWhereQuery.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/re-motion/Relinq/769b56688ef4bbdb2e68abf5708bb9692451d298/UnitTests/Parsing/ExpressionTrees/simpleWhereQuery.jpg -------------------------------------------------------------------------------- /UnitTests/Parsing/ExpressionTrees/threeFromQuery.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/re-motion/Relinq/769b56688ef4bbdb2e68abf5708bb9692451d298/UnitTests/Parsing/ExpressionTrees/threeFromQuery.jpg -------------------------------------------------------------------------------- /UnitTests/Parsing/ExpressionTrees/threeFromWhereQuery.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/re-motion/Relinq/769b56688ef4bbdb2e68abf5708bb9692451d298/UnitTests/Parsing/ExpressionTrees/threeFromWhereQuery.jpg -------------------------------------------------------------------------------- /UnitTests/Parsing/ExpressionTrees/whereFromWhereQuery.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/re-motion/Relinq/769b56688ef4bbdb2e68abf5708bb9692451d298/UnitTests/Parsing/ExpressionTrees/whereFromWhereQuery.jpg -------------------------------------------------------------------------------- /UnitTests/Parsing/ExpressionVisitorTests/SimpleClass.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using System; 19 | using System.Collections.Generic; 20 | 21 | namespace Remotion.Linq.UnitTests.Parsing.ExpressionVisitorTests 22 | { 23 | public class SimpleClass 24 | { 25 | public string Value; 26 | public List ListValue; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /UnitTests/Parsing/ExpressionVisitorTests/SpecialExpressionNode.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using System; 19 | using System.Linq.Expressions; 20 | 21 | namespace Remotion.Linq.UnitTests.Parsing.ExpressionVisitorTests 22 | { 23 | public class SpecialExpressionNode : Expression 24 | { 25 | #if !NET_3_5 26 | private readonly ExpressionType _nodeType; 27 | private readonly Type _type; 28 | 29 | public SpecialExpressionNode (ExpressionType nodeType, Type type) 30 | { 31 | _nodeType = nodeType; 32 | _type = type; 33 | } 34 | 35 | public override ExpressionType NodeType 36 | { 37 | get { return _nodeType; } 38 | } 39 | 40 | public override Type Type 41 | { 42 | get { return _type; } 43 | } 44 | #else 45 | public SpecialExpressionNode (ExpressionType nodeType, Type type) 46 | : base (nodeType, type) 47 | { 48 | } 49 | #endif 50 | } 51 | } -------------------------------------------------------------------------------- /UnitTests/Parsing/ExpressionVisitors/MemberBindings/FieldInfoBindingTest.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using System; 19 | using NUnit.Framework; 20 | using Remotion.Linq.Parsing.ExpressionVisitors.MemberBindings; 21 | 22 | namespace Remotion.Linq.UnitTests.Parsing.ExpressionVisitors.MemberBindings 23 | { 24 | [TestFixture] 25 | public class FieldInfoBindingTest : MemberBindingTestBase 26 | { 27 | [Test] 28 | public void MatchesReadAccess_True () 29 | { 30 | var binding = new FieldInfoBinding (Field, AssociatedExpression); 31 | Assert.That (binding.MatchesReadAccess (Field), Is.True); 32 | } 33 | 34 | [Test] 35 | public void MatchesReadAccess_False () 36 | { 37 | var binding = new FieldInfoBinding (Field, AssociatedExpression); 38 | Assert.That (binding.MatchesReadAccess (Property), Is.False); 39 | } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /UnitTests/Parsing/Structure/ExpressionTreeProcessors/NullExpressionTreeProcessorTest.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | using System; 18 | using NUnit.Framework; 19 | using Remotion.Linq.Development.UnitTesting; 20 | using Remotion.Linq.Parsing.Structure.ExpressionTreeProcessors; 21 | 22 | namespace Remotion.Linq.UnitTests.Parsing.Structure.ExpressionTreeProcessors 23 | { 24 | [TestFixture] 25 | public class NullExpressionTreeProcessorTest 26 | { 27 | [Test] 28 | public void Process () 29 | { 30 | var processor = new NullExpressionTreeProcessor(); 31 | var input = ExpressionHelper.CreateExpression(); 32 | 33 | var result = processor.Process (input); 34 | 35 | Assert.That (result, Is.SameAs (input)); 36 | } 37 | } 38 | } -------------------------------------------------------------------------------- /UnitTests/Parsing/Structure/NodeTypeProviders/MethodInfoBasedNodeTypeRegistryTests/TestDomain/GenericClass.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using System; 19 | 20 | namespace Remotion.Linq.UnitTests.Parsing.Structure.NodeTypeProviders.MethodInfoBasedNodeTypeRegistryTests.TestDomain 21 | { 22 | public class GenericClass 23 | { 24 | public bool NonGenericMethod (T item) 25 | { 26 | return false; 27 | } 28 | 29 | public bool GenericMethod (T item1, T2 item2) 30 | { 31 | return false; 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /UnitTests/Parsing/Structure/TestDomain/NonEvaluated.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | using System; 18 | 19 | namespace Remotion.Linq.UnitTests.Parsing.Structure.TestDomain 20 | { 21 | public static class NonEvaluated 22 | { 23 | public static int GetFixedID () 24 | { 25 | return -1; 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /UnitTests/Parsing/Structure/TestDomain/NonGenericFakeCollection.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | using System; 18 | using System.Collections; 19 | using System.Collections.Generic; 20 | using System.Linq; 21 | 22 | namespace Remotion.Linq.UnitTests.Parsing.Structure.TestDomain 23 | { 24 | public class NonGenericFakeCollection : ArrayList, IEnumerable 25 | { 26 | public new IEnumerator GetEnumerator () 27 | { 28 | return this.Cast().GetEnumerator(); 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /UnitTests/Parsing/Structure/TestDomain/QueryParserIntegrationTestsEvaluatableExpressionFilter.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using System; 19 | using System.Linq.Expressions; 20 | using Remotion.Linq.Parsing.ExpressionVisitors.TreeEvaluation; 21 | using Remotion.Linq.Utilities; 22 | 23 | namespace Remotion.Linq.UnitTests.Parsing.Structure.TestDomain 24 | { 25 | public class QueryParserIntegrationTestsEvaluatableExpressionFilter : EvaluatableExpressionFilterBase 26 | { 27 | public override bool IsEvaluatableMethodCall (MethodCallExpression node) 28 | { 29 | if (node.Method == ReflectionUtility.GetMethod (() => NonEvaluated.GetFixedID())) 30 | return false; 31 | return base.IsEvaluatableMethodCall (node); 32 | } 33 | } 34 | } -------------------------------------------------------------------------------- /UnitTests/Parsing/TestThrowingConstantExpressionVisitor.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | using System; 18 | using System.Linq.Expressions; 19 | using Remotion.Linq.Parsing; 20 | 21 | namespace Remotion.Linq.UnitTests.Parsing 22 | { 23 | public class TestThrowingConstantExpressionVisitor : ThrowingExpressionVisitor 24 | { 25 | protected override Exception CreateUnhandledItemException (T unhandledItem, string visitMethod) 26 | { 27 | throw new NotSupportedException ("Test of " + visitMethod + ": " + unhandledItem); 28 | } 29 | 30 | protected override System.Linq.Expressions.Expression VisitConstant (System.Linq.Expressions.ConstantExpression expression) 31 | { 32 | return Expression.Constant("ConstantExpression was visited"); 33 | } 34 | } 35 | } -------------------------------------------------------------------------------- /UnitTests/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | using System; 18 | using System.Reflection; 19 | #if NET_3_5 20 | using System.Security; 21 | #endif 22 | 23 | // 24 | // General Information about an assembly is controlled through the following 25 | // set of attributes. Change these attribute values to modify the information 26 | // associated with an assembly. 27 | // 28 | 29 | [assembly: AssemblyTitle("Unit Tests for Remotion Linq Library")] 30 | [assembly: AssemblyDescription("Unit Tests for Remotion Linq Library")] 31 | [assembly: AssemblyCulture("")] 32 | [assembly: CLSCompliant(true)] 33 | #if NET_3_5 34 | [assembly: AllowPartiallyTrustedCallers] // required for MediumTrustQueryParserIntegrationTest 35 | #endif -------------------------------------------------------------------------------- /UnitTests/TestDomain/BaseValue.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | using System; 18 | 19 | namespace Remotion.Linq.UnitTests.TestDomain 20 | { 21 | public abstract class BaseValue 22 | { 23 | } 24 | } -------------------------------------------------------------------------------- /UnitTests/TestDomain/Chef.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | using System; 18 | 19 | namespace Remotion.Linq.UnitTests.TestDomain 20 | { 21 | public class Chef : Cook 22 | { 23 | public string LetterOfRecommendation { get; set; } 24 | 25 | public override string GetFullName () 26 | { 27 | return base.GetFullName () + " (MBA)"; 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /UnitTests/TestDomain/Company.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | using System; 18 | using System.Linq; 19 | 20 | namespace Remotion.Linq.UnitTests.TestDomain 21 | { 22 | public class Company 23 | { 24 | public int ID { get; set; } 25 | public DateTime DateOfIncorporation { get; set; } 26 | public Kitchen MainKitchen { get; set; } 27 | public Restaurant MainRestaurant { get; set; } 28 | public IQueryable AllRestaurants { get; set; } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /UnitTests/TestDomain/Course.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | 18 | using System; 19 | 20 | namespace Remotion.Linq.UnitTests.TestDomain 21 | { 22 | public class Course 23 | { 24 | public string Name { get; set; } 25 | } 26 | } -------------------------------------------------------------------------------- /UnitTests/TestDomain/DerivedValue.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | using System; 18 | 19 | namespace Remotion.Linq.UnitTests.TestDomain 20 | { 21 | public class DerivedValue : BaseValue 22 | { 23 | public DerivedValue () 24 | { 25 | 26 | } 27 | 28 | public string StringValue { get; set; } 29 | } 30 | } -------------------------------------------------------------------------------- /UnitTests/TestDomain/ISpecificCook.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | using System; 18 | 19 | namespace Remotion.Linq.UnitTests.TestDomain 20 | { 21 | public interface ISpecificCook 22 | { 23 | string SpecificInformation { get; set; } 24 | } 25 | } -------------------------------------------------------------------------------- /UnitTests/TestDomain/Kitchen.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | using System; 18 | 19 | namespace Remotion.Linq.UnitTests.TestDomain 20 | { 21 | public class Kitchen 22 | { 23 | public int ID { get; set; } 24 | public Cook Cook { get; set; } 25 | public string Name { get; set; } 26 | public int RoomNumber { get; set; } 27 | public Restaurant Restaurant { get; set; } 28 | public DateTime? LastCleaningDay { get; set; } 29 | public bool? PassedLastInspection { get; set; } 30 | public int? LastInspectionScore { get; set; } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /UnitTests/TestDomain/Knife.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | using System; 18 | 19 | namespace Remotion.Linq.UnitTests.TestDomain 20 | { 21 | public class Knife 22 | { 23 | public MetaID ID { get; set; } 24 | public double Sharpness { get; set; } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /UnitTests/TestDomain/Restaurant.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | using System; 18 | using System.Collections.Generic; 19 | 20 | namespace Remotion.Linq.UnitTests.TestDomain 21 | { 22 | public class Restaurant 23 | { 24 | public int ID { get; set; } 25 | public Kitchen SubKitchen { get; set; } 26 | public IEnumerable Cooks { get; set; } 27 | public Company CompanyIfAny { get; set; } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /UnitTests/TestDomain/Result.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | using System; 18 | 19 | namespace Remotion.Linq.UnitTests.TestDomain 20 | { 21 | public class Result 22 | { 23 | public Result () 24 | { 25 | } 26 | 27 | public T Value { get; set; } 28 | } 29 | } -------------------------------------------------------------------------------- /UnitTests/TestQueryGenerators/CastTestQueryGenerator.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | using System; 18 | using System.Linq; 19 | using Remotion.Linq.UnitTests.TestDomain; 20 | 21 | namespace Remotion.Linq.UnitTests.TestQueryGenerators 22 | { 23 | public static class CastTestQueryGenerator 24 | { 25 | public static IQueryable CreateQueryWithTopLevelCastCall (IQueryable source) 26 | { 27 | return (from s in source select s).Cast (); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /UnitTests/TestQueryGenerators/MethodCallTestQueryGenerator.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) rubicon IT GmbH, www.rubicon.eu 2 | // 3 | // See the NOTICE file distributed with this work for additional information 4 | // regarding copyright ownership. rubicon licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may not use this 6 | // file except in compliance with the License. You may obtain a copy of the 7 | // License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, software 12 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | // License for the specific language governing permissions and limitations 15 | // under the License. 16 | // 17 | using System; 18 | using System.Linq; 19 | using Remotion.Linq.UnitTests.TestDomain; 20 | 21 | namespace Remotion.Linq.UnitTests.TestQueryGenerators 22 | { 23 | public class MethodCallTestQueryGenerator 24 | { 25 | public static int CreateQueryWithCount (IQueryable source) 26 | { 27 | return (from s in source select s).Count(); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /UnitTests/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /directory.build.props: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7.2 4 | 5 | -------------------------------------------------------------------------------- /packages/repositories.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | --------------------------------------------------------------------------------