36 references to Compilation
Microsoft.CodeAnalysis.CSharp (36)
Binder\Semantics\Operators\BinaryOperatorEasyOut.cs (1)
312BinaryOperatorSignature signature = this.Compilation.builtInOperators.GetSignature(easyOut);
Binder\Semantics\Operators\BinaryOperatorOverloadResolution.cs (22)
312operators.Add(new BinaryOperatorSignature(kind | BinaryOperatorKind.Delegate, delegateType, delegateType, Compilation.GetSpecialType(SpecialType.System_Boolean))); 478var nullable = Compilation.GetSpecialType(SpecialType.System_Nullable_T); 528var boolean = Compilation.GetSpecialType(SpecialType.System_Boolean); 552operators.Add(new BinaryOperatorSignature(BinaryOperatorKind.PointerAndIntAddition, pointerType, Compilation.GetSpecialType(SpecialType.System_Int32), pointerType)); 553operators.Add(new BinaryOperatorSignature(BinaryOperatorKind.PointerAndUIntAddition, pointerType, Compilation.GetSpecialType(SpecialType.System_UInt32), pointerType)); 554operators.Add(new BinaryOperatorSignature(BinaryOperatorKind.PointerAndLongAddition, pointerType, Compilation.GetSpecialType(SpecialType.System_Int64), pointerType)); 555operators.Add(new BinaryOperatorSignature(BinaryOperatorKind.PointerAndULongAddition, pointerType, Compilation.GetSpecialType(SpecialType.System_UInt64), pointerType)); 556operators.Add(new BinaryOperatorSignature(BinaryOperatorKind.IntAndPointerAddition, Compilation.GetSpecialType(SpecialType.System_Int32), pointerType, pointerType)); 557operators.Add(new BinaryOperatorSignature(BinaryOperatorKind.UIntAndPointerAddition, Compilation.GetSpecialType(SpecialType.System_UInt32), pointerType, pointerType)); 558operators.Add(new BinaryOperatorSignature(BinaryOperatorKind.LongAndPointerAddition, Compilation.GetSpecialType(SpecialType.System_Int64), pointerType, pointerType)); 559operators.Add(new BinaryOperatorSignature(BinaryOperatorKind.ULongAndPointerAddition, Compilation.GetSpecialType(SpecialType.System_UInt64), pointerType, pointerType)); 562operators.Add(new BinaryOperatorSignature(BinaryOperatorKind.PointerAndIntSubtraction, pointerType, Compilation.GetSpecialType(SpecialType.System_Int32), pointerType)); 563operators.Add(new BinaryOperatorSignature(BinaryOperatorKind.PointerAndUIntSubtraction, pointerType, Compilation.GetSpecialType(SpecialType.System_UInt32), pointerType)); 564operators.Add(new BinaryOperatorSignature(BinaryOperatorKind.PointerAndLongSubtraction, pointerType, Compilation.GetSpecialType(SpecialType.System_Int64), pointerType)); 565operators.Add(new BinaryOperatorSignature(BinaryOperatorKind.PointerAndULongSubtraction, pointerType, Compilation.GetSpecialType(SpecialType.System_UInt64), pointerType)); 566operators.Add(new BinaryOperatorSignature(BinaryOperatorKind.PointerSubtraction, pointerType, pointerType, Compilation.GetSpecialType(SpecialType.System_Int64))); 583var voidPointerType = new PointerTypeSymbol(TypeWithAnnotations.Create(Compilation.GetSpecialType(SpecialType.System_Void))); 584operators.Add(new BinaryOperatorSignature(kind | BinaryOperatorKind.Pointer, voidPointerType, voidPointerType, Compilation.GetSpecialType(SpecialType.System_Boolean))); 723this.Compilation.builtInOperators.GetSimpleBuiltInOperators(kind, operators, skipNativeIntegerOperators: !left.Type.IsNativeIntegerOrNullableThereof() && !right.Type.IsNativeIntegerOrNullableThereof()); 738this.Compilation.builtInOperators.GetUtf8ConcatenationBuiltInOperator(left.Type, operators); 762var @object = Compilation.GetSpecialType(SpecialType.System_Object); 763operators.Add(new BinaryOperatorSignature(kind | BinaryOperatorKind.Object, @object, @object, Compilation.GetSpecialType(SpecialType.System_Boolean)));
Binder\Semantics\Operators\UnaryOperatorEasyOut.cs (1)
112UnaryOperatorSignature signature = this.Compilation.builtInOperators.GetSignature(easyOut);
Binder\Semantics\Operators\UnaryOperatorOverloadResolution.cs (2)
20return Compilation.GetSpecialType(SpecialType.System_Nullable_T).Construct(type); 255this.Compilation.builtInOperators.GetSimpleBuiltInOperators(kind, operators, skipNativeIntegerOperators: !operand.Type.IsNativeIntegerOrNullableThereof());
Binder\Semantics\OverloadResolution\OverloadResolution.cs (10)
293if (Compilation.LanguageVersion.AllowImprovedOverloadCandidates()) 586new ConstraintsHelper.CheckConstraintsArgs(this.Compilation, this.Conversions, includeNullability: false, location: NoLocation.Singleton, diagnostics: null, template), 1786type1Normalized = type1.NormalizeTaskTypes(Compilation); 1787type2Normalized = type2.NormalizeTaskTypes(Compilation); 1912type1Normalized = type1.NormalizeTaskTypes(Compilation); 1913type2Normalized = type2.NormalizeTaskTypes(Compilation); 2557if (y.OriginalDefinition.IsGenericTaskType(Compilation)) 2781bool type1IsGenericTask = type1.OriginalDefinition.IsGenericTaskType(Compilation); 2782bool type2IsGenericTask = type2.OriginalDefinition.IsGenericTaskType(Compilation); 3509if (!parameterTypes[i].Type.CheckAllConstraints(Compilation, Conversions))