43 references to Compilation
Microsoft.CodeAnalysis.CSharp (43)
Binder\Semantics\Operators\BinaryOperatorEasyOut.cs (1)
312
BinaryOperatorSignature signature = this.
Compilation
.BuiltInOperators.GetSignature(easyOut);
Binder\Semantics\Operators\BinaryOperatorOverloadResolution.cs (23)
325
operators.Add(new BinaryOperatorSignature(kind | BinaryOperatorKind.Delegate, delegateType, delegateType,
Compilation
.GetSpecialType(SpecialType.System_Boolean)));
491
var nullableEnum =
Compilation
.GetOrCreateNullableType(enumType);
492
var nullableUnderlying =
Compilation
.GetOrCreateNullableType(underlying);
540
var boolean =
Compilation
.GetSpecialType(SpecialType.System_Boolean);
564
operators.Add(new BinaryOperatorSignature(BinaryOperatorKind.PointerAndIntAddition, pointerType,
Compilation
.GetSpecialType(SpecialType.System_Int32), pointerType));
565
operators.Add(new BinaryOperatorSignature(BinaryOperatorKind.PointerAndUIntAddition, pointerType,
Compilation
.GetSpecialType(SpecialType.System_UInt32), pointerType));
566
operators.Add(new BinaryOperatorSignature(BinaryOperatorKind.PointerAndLongAddition, pointerType,
Compilation
.GetSpecialType(SpecialType.System_Int64), pointerType));
567
operators.Add(new BinaryOperatorSignature(BinaryOperatorKind.PointerAndULongAddition, pointerType,
Compilation
.GetSpecialType(SpecialType.System_UInt64), pointerType));
568
operators.Add(new BinaryOperatorSignature(BinaryOperatorKind.IntAndPointerAddition,
Compilation
.GetSpecialType(SpecialType.System_Int32), pointerType, pointerType));
569
operators.Add(new BinaryOperatorSignature(BinaryOperatorKind.UIntAndPointerAddition,
Compilation
.GetSpecialType(SpecialType.System_UInt32), pointerType, pointerType));
570
operators.Add(new BinaryOperatorSignature(BinaryOperatorKind.LongAndPointerAddition,
Compilation
.GetSpecialType(SpecialType.System_Int64), pointerType, pointerType));
571
operators.Add(new BinaryOperatorSignature(BinaryOperatorKind.ULongAndPointerAddition,
Compilation
.GetSpecialType(SpecialType.System_UInt64), pointerType, pointerType));
574
operators.Add(new BinaryOperatorSignature(BinaryOperatorKind.PointerAndIntSubtraction, pointerType,
Compilation
.GetSpecialType(SpecialType.System_Int32), pointerType));
575
operators.Add(new BinaryOperatorSignature(BinaryOperatorKind.PointerAndUIntSubtraction, pointerType,
Compilation
.GetSpecialType(SpecialType.System_UInt32), pointerType));
576
operators.Add(new BinaryOperatorSignature(BinaryOperatorKind.PointerAndLongSubtraction, pointerType,
Compilation
.GetSpecialType(SpecialType.System_Int64), pointerType));
577
operators.Add(new BinaryOperatorSignature(BinaryOperatorKind.PointerAndULongSubtraction, pointerType,
Compilation
.GetSpecialType(SpecialType.System_UInt64), pointerType));
578
operators.Add(new BinaryOperatorSignature(BinaryOperatorKind.PointerSubtraction, pointerType, pointerType,
Compilation
.GetSpecialType(SpecialType.System_Int64)));
595
var voidPointerType = new PointerTypeSymbol(TypeWithAnnotations.Create(
Compilation
.GetSpecialType(SpecialType.System_Void)));
596
operators.Add(new BinaryOperatorSignature(kind | BinaryOperatorKind.Pointer, voidPointerType, voidPointerType,
Compilation
.GetSpecialType(SpecialType.System_Boolean)));
754
this.
Compilation
.BuiltInOperators.GetSimpleBuiltInOperators(kind, operators, skipNativeIntegerOperators: !left.Type.IsNativeIntegerOrNullableThereof() && !right.Type.IsNativeIntegerOrNullableThereof());
769
this.
Compilation
.BuiltInOperators.GetUtf8ConcatenationBuiltInOperator(left.Type, operators);
798
var @object =
Compilation
.GetSpecialType(SpecialType.System_Object);
799
operators.Add(new BinaryOperatorSignature(kind | BinaryOperatorKind.Object, @object, @object,
Compilation
.GetSpecialType(SpecialType.System_Boolean)));
Binder\Semantics\Operators\UnaryOperatorEasyOut.cs (1)
112
UnaryOperatorSignature signature = this.
Compilation
.BuiltInOperators.GetSignature(easyOut);
Binder\Semantics\Operators\UnaryOperatorOverloadResolution.cs (3)
21
return
Compilation
.GetSpecialType(SpecialType.System_Nullable_T).Construct(type);
505
this.
Compilation
.BuiltInOperators.GetSimpleBuiltInOperators(kind, operators, skipNativeIntegerOperators: !operand.Type.IsNativeIntegerOrNullableThereof());
556
var nullableEnum =
Compilation
.GetOrCreateNullableType(enumType);
Binder\Semantics\OverloadResolution\OverloadResolution.cs (15)
448
if (
Compilation
.LanguageVersion.AllowImprovedOverloadCandidates())
803
var constraintsArgs = new ConstraintsHelper.CheckConstraintsArgs(this.
Compilation
, this.Conversions, includeNullability: false, location: NoLocation.Singleton, diagnostics: null, template);
1853
if (!
Compilation
.IsFeatureEnabled(MessageID.IDS_FeatureOverloadResolutionPriority))
2225
type1Normalized = type1.NormalizeTaskTypes(
Compilation
);
2226
type2Normalized = type2.NormalizeTaskTypes(
Compilation
);
2349
type1Normalized = type1.NormalizeTaskTypes(
Compilation
);
2350
type2Normalized = type2.NormalizeTaskTypes(
Compilation
);
3039
if (
Compilation
.LanguageVersion < LanguageVersion.CSharp13)
3210
CollectionExpressionTypeKind kind1 = ConversionsBase.GetCollectionExpressionTypeKind(
Compilation
, t1, out TypeWithAnnotations elementType1);
3211
CollectionExpressionTypeKind kind2 = ConversionsBase.GetCollectionExpressionTypeKind(
Compilation
, t2, out TypeWithAnnotations elementType2);
3291
if (y.OriginalDefinition.IsGenericTaskType(
Compilation
))
3480
if (
Compilation
.IsFeatureEnabled(MessageID.IDS_FeatureFirstClassSpan))
3525
bool type1IsGenericTask = type1.OriginalDefinition.IsGenericTaskType(
Compilation
);
3526
bool type2IsGenericTask = type2.OriginalDefinition.IsGenericTaskType(
Compilation
);
4337
if (!parameterTypes[i].Type.CheckAllConstraints(
Compilation
, Conversions))