604 references to SpecialMember
Microsoft.CodeAnalysis (25)
Compilation\Compilation.cs (3)
957
internal abstract ISymbolInternal CommonGetSpecialTypeMember(
SpecialMember
specialMember);
3621
internal void MakeMemberMissing(
SpecialMember
member)
3631
internal bool IsMemberMissing(
SpecialMember
member)
Operations\ControlFlowGraphBuilder.cs (20)
2345
condition = CallNullableMember(condition,
SpecialMember
.System_Nullable_T_GetValueOrDefault);
2363
condition = CallNullableMember(condition,
SpecialMember
.System_Nullable_T_GetValueOrDefault);
2577
condition = CallNullableMember(OperationCloner.CloneOperation(capturedLeft),
SpecialMember
.System_Nullable_T_GetValueOrDefault);
2993
possiblyUnwrappedValue = TryCallNullableMember(capturedValue,
SpecialMember
.System_Nullable_T_GetValueOrDefault);
3169
CallNullableMember(valueCapture,
SpecialMember
.System_Nullable_T_GetValueOrDefault)));
3173
CallNullableMember(OperationCloner.CloneOperation(valueCapture),
SpecialMember
.System_Nullable_T_get_HasValue),
3306
private IOperation? TryCallNullableMember(IOperation value,
SpecialMember
nullableMember)
3308
Debug.Assert(nullableMember ==
SpecialMember
.System_Nullable_T_GetValueOrDefault ||
3309
nullableMember ==
SpecialMember
.System_Nullable_T_get_HasValue ||
3310
nullableMember ==
SpecialMember
.System_Nullable_T_get_Value ||
3311
nullableMember ==
SpecialMember
.System_Nullable_T__op_Explicit_ToT ||
3312
nullableMember ==
SpecialMember
.System_Nullable_T__op_Implicit_FromT);
3336
private IOperation CallNullableMember(IOperation value,
SpecialMember
nullableMember)
3531
receiver = CallNullableMember(receiver,
SpecialMember
.System_Nullable_T_GetValueOrDefault);
4143
: (IMethodSymbol?)_compilation.CommonGetSpecialTypeMember(
SpecialMember
.System_IDisposable__Dispose)?.GetISymbol());
4826
stepValue = CallNullableMember(stepValue,
SpecialMember
.System_Nullable_T_GetValueOrDefault);
5081
PushOperand(CallNullableMember(visitLoopControlVariableReference(forceImplicit: true),
SpecialMember
.System_Nullable_T_GetValueOrDefault)); // Yes we are going to evaluate it again
5082
limitReference = CallNullableMember(GetCaptureReference(limitValueId, operation.LimitValue),
SpecialMember
.System_Nullable_T_GetValueOrDefault);
5284
controlVariableReferenceForIncrement = CallNullableMember(controlVariableReferenceForIncrement,
SpecialMember
.System_Nullable_T_GetValueOrDefault);
5285
stepValueForIncrement = CallNullableMember(stepValueForIncrement,
SpecialMember
.System_Nullable_T_GetValueOrDefault);
SpecialMembers.cs (2)
1049
string[] allNames = new string[(int)
SpecialMember
.Count]
1183
public static MemberDescriptor GetDescriptor(
SpecialMember
member)
Microsoft.CodeAnalysis.CSharp (264)
Binder\Binder_Expressions.cs (4)
2358
GetSpecialTypeMember(
SpecialMember
.System_Nullable_T__ctor, diagnostics, node);
2438
GetSpecialTypeMember(
SpecialMember
.System_Nullable_T__ctor, diagnostics, node);
2465
GetSpecialTypeMember(
SpecialMember
.System_Nullable_T__ctor, diagnostics, operand);
8697
var substring = (MethodSymbol)GetSpecialTypeMember(
SpecialMember
.System_String__Substring, diagnostics, syntax);
Binder\Binder_Patterns.cs (1)
363
hasErrors |= !TryGetSpecialTypeMember(Compilation,
SpecialMember
.System_Array__Length, node, diagnostics, out PropertySymbol lengthProperty);
Binder\Binder_Symbols.cs (2)
1657
internal Symbol GetSpecialTypeMember(
SpecialMember
member, BindingDiagnosticBag diagnostics, SyntaxNode syntax)
1665
internal static bool TryGetSpecialTypeMember<TSymbol>(CSharpCompilation compilation,
SpecialMember
specialMember, SyntaxNode syntax, BindingDiagnosticBag diagnostics, out TSymbol symbol)
Binder\ForEachLoopBinder.cs (11)
655
MethodSymbol nullableValueGetter = (MethodSymbol)GetSpecialTypeMember(
SpecialMember
.System_Nullable_T_get_Value, diagnostics, exprSyntax);
921
getEnumeratorMethod = (MethodSymbol)GetSpecialTypeMember(
SpecialMember
.System_Collections_Generic_IEnumerable_T__GetEnumerator, diagnostics, errorLocationSyntax);
959
currentPropertyGetter = (MethodSymbol)GetSpecialTypeMember(
SpecialMember
.System_Collections_Generic_IEnumerator_T__get_Current, diagnostics, errorLocationSyntax);
971
moveNextMethod = (MethodSymbol)GetSpecialTypeMember(
SpecialMember
.System_Collections_IEnumerator__MoveNext, diagnostics, errorLocationSyntax);
985
builder.GetEnumeratorInfo = GetParameterlessSpecialTypeMemberInfo(
SpecialMember
.System_Collections_IEnumerable__GetEnumerator, errorLocationSyntax, diagnostics);
986
builder.CurrentPropertyGetter = (MethodSymbol)GetSpecialTypeMember(
SpecialMember
.System_Collections_IEnumerator__get_Current, diagnostics, errorLocationSyntax);
987
builder.MoveNextInfo = GetParameterlessSpecialTypeMemberInfo(
SpecialMember
.System_Collections_IEnumerator__MoveNext, errorLocationSyntax, diagnostics);
1095
builder.GetEnumeratorInfo = GetParameterlessSpecialTypeMemberInfo(
SpecialMember
.System_Collections_IEnumerable__GetEnumerator, _syntax, diagnostics);
1096
builder.CurrentPropertyGetter = (MethodSymbol)GetSpecialTypeMember(
SpecialMember
.System_Collections_IEnumerator__get_Current, diagnostics, _syntax);
1097
builder.MoveNextInfo = GetParameterlessSpecialTypeMemberInfo(
SpecialMember
.System_Collections_IEnumerator__MoveNext, _syntax, diagnostics);
1703
private MethodArgumentInfo GetParameterlessSpecialTypeMemberInfo(
SpecialMember
member, SyntaxNode syntax, BindingDiagnosticBag diagnostics)
CodeGen\EmitExpression.cs (4)
1975
if ((object)originalMethod == this._module.Compilation.GetSpecialTypeMember(
SpecialMember
.System_Nullable_T_GetValueOrDefault) ||
1976
(object)originalMethod == this._module.Compilation.GetSpecialTypeMember(
SpecialMember
.System_Nullable_T_get_Value) ||
1977
(object)originalMethod == this._module.Compilation.GetSpecialTypeMember(
SpecialMember
.System_Nullable_T_get_HasValue))
2266
if (originalDef == compilation.GetSpecialTypeMember(
SpecialMember
.System_Nullable_T__ctor))
CodeGen\EmitStatement.cs (4)
1525
var stringEqualityMethod = _module.Compilation.GetSpecialTypeMember(
SpecialMember
.System_String__op_Equality) as MethodSymbol;
1615
var stringLengthMethod = _module.Compilation.GetSpecialTypeMember(
SpecialMember
.System_String__Length) as MethodSymbol;
1641
var stringCharsIndexer = _module.Compilation.GetSpecialTypeMember(
SpecialMember
.System_String__Chars) as MethodSymbol;
1671
Debug.Assert(stringEqualityMethodRef == _module.Translate((MethodSymbol)_module.Compilation.GetSpecialTypeMember(
SpecialMember
.System_String__op_Equality), (CSharpSyntaxNode)syntaxNode, assertDiagnostics));
Compilation\CSharpCompilation.cs (2)
1571
internal Symbol GetSpecialTypeMember(
SpecialMember
specialMember)
1576
internal override ISymbolInternal CommonGetSpecialTypeMember(
SpecialMember
specialMember)
Compilation\MemberSemanticModel.cs (1)
973
: (MethodSymbol)Compilation.GetSpecialTypeMember(
SpecialMember
.System_IDisposable__Dispose);
Compiler\MethodBodySynthesizer.cs (3)
351
SpecialMember
updateMethodId = isAddMethod ?
SpecialMember
.System_Delegate__Combine :
SpecialMember
.System_Delegate__Remove;
Compiler\MethodBodySynthesizer.Lowered.cs (2)
100
F.SpecialMethod(
SpecialMember
.System_String__Chars),
114
F.Call(F.Parameter(text), F.SpecialMethod(
SpecialMember
.System_String__Length))),
Emitter\Model\PEModuleBuilder.cs (1)
1669
return Compilation.TrySynthesizeAttribute(
SpecialMember
.System_Runtime_CompilerServices_PreserveBaseOverridesAttribute__ctor, isOptionalUse: true);
FlowAnalysis\NullableWalker.cs (15)
5725
|| (method.Name != SpecialMembers.GetDescriptor(
SpecialMember
.System_Object__Equals).Name
5726
&& method.Name != SpecialMembers.GetDescriptor(
SpecialMember
.System_Object__ReferenceEquals).Name
5732
var isStaticEqualsMethod = method.Equals(compilation.GetSpecialTypeMember(
SpecialMember
.System_Object__EqualsObjectObject))
5733
|| method.Equals(compilation.GetSpecialTypeMember(
SpecialMember
.System_Object__ReferenceEquals));
5743
.Equals(compilation.GetSpecialTypeMember(
SpecialMember
.System_Object__Equals));
5974
else if (method.OriginalDefinition == compilation.GetSpecialTypeMember(
SpecialMember
.System_Nullable_T_get_Value))
9880
SpecialMember
? nullableOfTMember = null;
9887
bool skipReceiverNullCheck = nullableOfTMember !=
SpecialMember
.System_Nullable_T_get_Value;
9908
if (nullableOfTMember ==
SpecialMember
.System_Nullable_T_get_HasValue && !(receiverOpt is null))
9922
private
SpecialMember
? GetNullableOfTMember(Symbol member)
9929
if (getMethod == compilation.GetSpecialTypeMember(
SpecialMember
.System_Nullable_T_get_Value))
9931
return
SpecialMember
.System_Nullable_T_get_Value;
9933
if (getMethod == compilation.GetSpecialTypeMember(
SpecialMember
.System_Nullable_T_get_HasValue))
9935
return
SpecialMember
.System_Nullable_T_get_HasValue;
9947
var getValue = (MethodSymbol)compilation.GetSpecialTypeMember(
SpecialMember
.System_Nullable_T_get_Value);
Lowering\IteratorRewriter\IteratorRewriter.cs (16)
104
EnsureSpecialMember(
SpecialMember
.System_IDisposable__Dispose, bag);
108
EnsureSpecialPropertyGetter(
SpecialMember
.System_Collections_IEnumerator__Current, bag);
109
EnsureSpecialMember(
SpecialMember
.System_Collections_IEnumerator__MoveNext, bag);
110
EnsureSpecialMember(
SpecialMember
.System_Collections_IEnumerator__Reset, bag);
114
EnsureSpecialPropertyGetter(
SpecialMember
.System_Collections_Generic_IEnumerator_T__Current, bag);
120
EnsureSpecialMember(
SpecialMember
.System_Collections_IEnumerable__GetEnumerator, bag);
122
EnsureSpecialMember(
SpecialMember
.System_Collections_Generic_IEnumerable_T__GetEnumerator, bag);
139
private Symbol EnsureSpecialMember(
SpecialMember
member, BindingDiagnosticBag bag)
154
private void EnsureSpecialPropertyGetter(
SpecialMember
member, BindingDiagnosticBag bag)
212
var IDisposable_Dispose = F.SpecialMethod(
SpecialMember
.System_IDisposable__Dispose);
214
var IEnumerator_MoveNext = F.SpecialMethod(
SpecialMember
.System_Collections_IEnumerator__MoveNext);
215
var IEnumerator_Reset = F.SpecialMethod(
SpecialMember
.System_Collections_IEnumerator__Reset);
216
var IEnumerator_get_Current = F.SpecialProperty(
SpecialMember
.System_Collections_IEnumerator__Current).GetMethod;
219
var IEnumeratorOfElementType_get_Current = F.SpecialProperty(
SpecialMember
.System_Collections_Generic_IEnumerator_T__Current).GetMethod.AsMember(IEnumeratorOfElementType);
256
var IEnumerable_GetEnumerator = F.SpecialMethod(
SpecialMember
.System_Collections_IEnumerable__GetEnumerator);
259
var IEnumerableOfElementType_GetEnumerator = F.SpecialMethod(
SpecialMember
.System_Collections_Generic_IEnumerable_T__GetEnumerator).AsMember(IEnumerableOfElementType);
Lowering\LocalRewriter\LocalRewriter.cs (6)
536
/// Recommendation: Do not use, use <see cref="TryGetSpecialTypeMethod(SyntaxNode,
SpecialMember
, out MethodSymbol)"/> instead!
539
private MethodSymbol UnsafeGetSpecialTypeMethod(SyntaxNode syntax,
SpecialMember
specialMember)
546
/// Recommendation: Do not use, use <see cref="TryGetSpecialTypeMethod(SyntaxNode,
SpecialMember
, CSharpCompilation, BindingDiagnosticBag, out MethodSymbol)"/> instead!
549
private static MethodSymbol UnsafeGetSpecialTypeMethod(SyntaxNode syntax,
SpecialMember
specialMember, CSharpCompilation compilation, BindingDiagnosticBag diagnostics)
566
private bool TryGetSpecialTypeMethod(SyntaxNode syntax,
SpecialMember
specialMember, out MethodSymbol method)
571
private static bool TryGetSpecialTypeMethod(SyntaxNode syntax,
SpecialMember
specialMember, CSharpCompilation compilation, BindingDiagnosticBag diagnostics, out MethodSymbol method)
Lowering\LocalRewriter\LocalRewriter.DecisionDagRewriter.cs (4)
776
_localRewriter.TryGetSpecialTypeMethod(node.Syntax,
SpecialMember
.System_String__op_Equality, out _);
854
StringPatternInput.String => compilation.GetSpecialTypeMember(
SpecialMember
.System_String__Length),
867
StringPatternInput.String => compilation.GetSpecialTypeMember(
SpecialMember
.System_String__Chars),
938
StringPatternInput.String => _localRewriter._compilation.GetSpecialTypeMember(
SpecialMember
.System_String__Chars),
Lowering\LocalRewriter\LocalRewriter.PatternLocalRewriter.cs (1)
220
_localRewriter.TryGetNullableMethod(t.Syntax, inputType,
SpecialMember
.System_Nullable_T_GetValueOrDefault, out MethodSymbol getValueOrDefault))
Lowering\LocalRewriter\LocalRewriter_BinaryOperator.cs (33)
211
return RewriteDelegateOperation(syntax, operatorKind, loweredLeft, loweredRight, type,
SpecialMember
.System_Delegate__Combine);
213
return RewriteDelegateOperation(syntax, operatorKind, loweredLeft, loweredRight, type,
SpecialMember
.System_Delegate__Remove);
215
return RewriteDelegateOperation(syntax, operatorKind, loweredLeft, loweredRight, type,
SpecialMember
.System_Delegate__op_Equality);
217
return RewriteDelegateOperation(syntax, operatorKind, loweredLeft, loweredRight, type,
SpecialMember
.System_Delegate__op_Inequality);
260
return RewriteStringEquality(oldNode, syntax, operatorKind, loweredLeft, loweredRight, type,
SpecialMember
.System_String__op_Equality);
263
return RewriteStringEquality(oldNode, syntax, operatorKind, loweredLeft, loweredRight, type,
SpecialMember
.System_String__op_Inequality);
266
return RewriteDelegateOperation(syntax, operatorKind, loweredLeft, loweredRight, type,
SpecialMember
.System_Delegate__Combine);
269
return RewriteDelegateOperation(syntax, operatorKind, loweredLeft, loweredRight, type,
SpecialMember
.System_Delegate__Remove);
272
return RewriteDelegateOperation(syntax, operatorKind, loweredLeft, loweredRight, type,
SpecialMember
.System_Delegate__op_Equality);
275
return RewriteDelegateOperation(syntax, operatorKind, loweredLeft, loweredRight, type,
SpecialMember
.System_Delegate__op_Inequality);
883
return BoundCall.Synthesized(syntax, expression, UnsafeGetNullableMethod(syntax, expression.Type,
SpecialMember
.System_Nullable_T_GetValueOrDefault));
911
return BoundCall.Synthesized(syntax, expression, UnsafeGetNullableMethod(syntax, expression.Type,
SpecialMember
.System_Nullable_T_get_HasValue));
1274
UnsafeGetNullableMethod(syntax, type,
SpecialMember
.System_Nullable_T__ctor),
1571
UnsafeGetNullableMethod(syntax, nullableBoolType,
SpecialMember
.System_Nullable_T__ctor),
1756
MethodSymbol getValueOrDefaultX = UnsafeGetNullableMethod(syntax, boundTempX.Type,
SpecialMember
.System_Nullable_T_GetValueOrDefault);
1757
MethodSymbol getValueOrDefaultY = UnsafeGetNullableMethod(syntax, boundTempY.Type,
SpecialMember
.System_Nullable_T_GetValueOrDefault);
1814
private MethodSymbol UnsafeGetNullableMethod(SyntaxNode syntax, TypeSymbol nullableType,
SpecialMember
member)
1824
internal static MethodSymbol UnsafeGetNullableMethod(SyntaxNode syntax, TypeSymbol nullableType,
SpecialMember
member, CSharpCompilation compilation, BindingDiagnosticBag diagnostics)
1831
private bool TryGetNullableMethod(SyntaxNode syntax, TypeSymbol nullableType,
SpecialMember
member, out MethodSymbol result)
1915
private BoundExpression RewriteStringEquality(BoundBinaryOperator? oldNode, SyntaxNode syntax, BinaryOperatorKind operatorKind, BoundExpression loweredLeft, BoundExpression loweredRight, TypeSymbol type,
SpecialMember
member)
1928
private BoundExpression RewriteDelegateOperation(SyntaxNode syntax, BinaryOperatorKind operatorKind, BoundExpression loweredLeft, BoundExpression loweredRight, TypeSymbol type,
SpecialMember
member)
1963
SpecialMember
member;
1967
case BinaryOperatorKind.DecimalAddition: member =
SpecialMember
.System_Decimal__op_Addition; break;
1968
case BinaryOperatorKind.DecimalSubtraction: member =
SpecialMember
.System_Decimal__op_Subtraction; break;
1969
case BinaryOperatorKind.DecimalMultiplication: member =
SpecialMember
.System_Decimal__op_Multiply; break;
1970
case BinaryOperatorKind.DecimalDivision: member =
SpecialMember
.System_Decimal__op_Division; break;
1971
case BinaryOperatorKind.DecimalRemainder: member =
SpecialMember
.System_Decimal__op_Modulus; break;
1972
case BinaryOperatorKind.DecimalEqual: member =
SpecialMember
.System_Decimal__op_Equality; break;
1973
case BinaryOperatorKind.DecimalNotEqual: member =
SpecialMember
.System_Decimal__op_Inequality; break;
1974
case BinaryOperatorKind.DecimalLessThan: member =
SpecialMember
.System_Decimal__op_LessThan; break;
1975
case BinaryOperatorKind.DecimalLessThanOrEqual: member =
SpecialMember
.System_Decimal__op_LessThanOrEqual; break;
1976
case BinaryOperatorKind.DecimalGreaterThan: member =
SpecialMember
.System_Decimal__op_GreaterThan; break;
1977
case BinaryOperatorKind.DecimalGreaterThanOrEqual: member =
SpecialMember
.System_Decimal__op_GreaterThanOrEqual; break;
Lowering\LocalRewriter\LocalRewriter_Call.cs (1)
221
(object)method == (object)_compilation.GetSpecialTypeMember(
SpecialMember
.System_Object__ReferenceEquals))
Lowering\LocalRewriter\LocalRewriter_CompoundAssignmentOperator.cs (3)
906
if (IsSpecialMember(method,
SpecialMember
.System_Nullable_T_GetValueOrDefault) ||
907
IsSpecialMember(method,
SpecialMember
.System_Nullable_T_get_HasValue))
921
private static bool IsSpecialMember(MethodSymbol method,
SpecialMember
specialMember)
Lowering\LocalRewriter\LocalRewriter_ConditionalAccess.cs (1)
155
UnsafeGetNullableMethod(node.Syntax, loweredReceiver.Type,
SpecialMember
.System_Nullable_T_get_HasValue) :
Lowering\LocalRewriter\LocalRewriter_Conversion.cs (49)
922
MethodSymbol ctor = UnsafeGetNullableMethod(syntax, rewrittenType,
SpecialMember
.System_Nullable_T__ctor);
938
MethodSymbol get_Value = UnsafeGetNullableMethod(syntax, rewrittenOperandType,
SpecialMember
.System_Nullable_T_get_Value);
1027
if (!TryGetNullableMethod(syntax, boundTemp.Type,
SpecialMember
.System_Nullable_T_GetValueOrDefault, out getValueOrDefault))
1036
UnsafeGetNullableMethod(syntax, type,
SpecialMember
.System_Nullable_T__ctor),
1115
UnsafeGetNullableMethod(syntax, type,
SpecialMember
.System_Nullable_T__ctor),
1232
MethodSymbol ctor = UnsafeGetNullableMethod(call.Syntax, resultType,
SpecialMember
.System_Nullable_T__ctor);
1283
MethodSymbol getValueOrDefault = UnsafeGetNullableMethod(syntax, boundTemp.Type,
SpecialMember
.System_Nullable_T_GetValueOrDefault);
1339
SpecialMember
member = GetIntPtrConversionMethod(source: source, target: rewrittenType);
1382
public static
SpecialMember
GetIntPtrConversionMethod(TypeSymbol source, TypeSymbol target)
1397
return
SpecialMember
.System_IntPtr__op_Explicit_FromPointer;
1408
return
SpecialMember
.System_IntPtr__op_Explicit_FromInt32;
1415
return
SpecialMember
.System_IntPtr__op_Explicit_FromInt64;
1422
return
SpecialMember
.System_UIntPtr__op_Explicit_FromPointer;
1431
return
SpecialMember
.System_UIntPtr__op_Explicit_FromUInt32;
1440
return
SpecialMember
.System_UIntPtr__op_Explicit_FromUInt64;
1447
return
SpecialMember
.System_IntPtr__op_Explicit_ToPointer;
1459
return
SpecialMember
.System_IntPtr__op_Explicit_ToInt32;
1465
return
SpecialMember
.System_IntPtr__op_Explicit_ToInt64;
1472
return
SpecialMember
.System_UIntPtr__op_Explicit_ToPointer;
1484
return
SpecialMember
.System_UIntPtr__op_Explicit_ToUInt32;
1490
return
SpecialMember
.System_UIntPtr__op_Explicit_ToUInt64;
1498
private static
SpecialMember
DecimalConversionMethod(TypeSymbol typeFrom, TypeSymbol typeTo)
1505
case SpecialType.System_Char: return
SpecialMember
.System_Decimal__op_Explicit_ToChar;
1506
case SpecialType.System_SByte: return
SpecialMember
.System_Decimal__op_Explicit_ToSByte;
1507
case SpecialType.System_Byte: return
SpecialMember
.System_Decimal__op_Explicit_ToByte;
1508
case SpecialType.System_Int16: return
SpecialMember
.System_Decimal__op_Explicit_ToInt16;
1509
case SpecialType.System_UInt16: return
SpecialMember
.System_Decimal__op_Explicit_ToUInt16;
1510
case SpecialType.System_Int32: return
SpecialMember
.System_Decimal__op_Explicit_ToInt32;
1511
case SpecialType.System_UInt32: return
SpecialMember
.System_Decimal__op_Explicit_ToUInt32;
1512
case SpecialType.System_Int64: return
SpecialMember
.System_Decimal__op_Explicit_ToInt64;
1513
case SpecialType.System_UInt64: return
SpecialMember
.System_Decimal__op_Explicit_ToUInt64;
1514
case SpecialType.System_Single: return
SpecialMember
.System_Decimal__op_Explicit_ToSingle;
1515
case SpecialType.System_Double: return
SpecialMember
.System_Decimal__op_Explicit_ToDouble;
1525
case SpecialType.System_Char: return
SpecialMember
.System_Decimal__op_Implicit_FromChar;
1526
case SpecialType.System_SByte: return
SpecialMember
.System_Decimal__op_Implicit_FromSByte;
1527
case SpecialType.System_Byte: return
SpecialMember
.System_Decimal__op_Implicit_FromByte;
1528
case SpecialType.System_Int16: return
SpecialMember
.System_Decimal__op_Implicit_FromInt16;
1529
case SpecialType.System_UInt16: return
SpecialMember
.System_Decimal__op_Implicit_FromUInt16;
1530
case SpecialType.System_Int32: return
SpecialMember
.System_Decimal__op_Implicit_FromInt32;
1531
case SpecialType.System_UInt32: return
SpecialMember
.System_Decimal__op_Implicit_FromUInt32;
1532
case SpecialType.System_Int64: return
SpecialMember
.System_Decimal__op_Implicit_FromInt64;
1533
case SpecialType.System_UInt64: return
SpecialMember
.System_Decimal__op_Implicit_FromUInt64;
1534
case SpecialType.System_Single: return
SpecialMember
.System_Decimal__op_Explicit_FromSingle;
1535
case SpecialType.System_Double: return
SpecialMember
.System_Decimal__op_Explicit_FromDouble;
1576
SpecialMember
member = DecimalConversionMethod(fromType, toType);
1638
SpecialMember
member = GetIntPtrConversionMethod(fromType, toType);
1652
SpecialMember
member = DecimalConversionMethod(fromType, toType);
1669
SpecialMember
member = DecimalConversionMethod(fromType, underlying);
1682
SpecialMember
member = DecimalConversionMethod(underlying, toType);
Lowering\LocalRewriter\LocalRewriter_ForEachStatement.cs (5)
69
lengthGet = UnsafeGetSpecialTypeMethod(forEachSyntax,
SpecialMember
.System_String__Length);
70
indexerGet = UnsafeGetSpecialTypeMethod(forEachSyntax,
SpecialMember
.System_String__Chars);
239
return Binder.TryGetSpecialTypeMember(_compilation,
SpecialMember
.System_IDisposable__Dispose, forEachSyntax, _diagnostics, out disposeMethod);
839
MethodSymbol getLowerBoundMethod = UnsafeGetSpecialTypeMethod(forEachSyntax,
SpecialMember
.System_Array__GetLowerBound);
840
MethodSymbol getUpperBoundMethod = UnsafeGetSpecialTypeMethod(forEachSyntax,
SpecialMember
.System_Array__GetUpperBound);
Lowering\LocalRewriter\LocalRewriter_Index.cs (1)
74
if (!TryGetNullableMethod(syntax, targetNullableType,
SpecialMember
.System_Nullable_T__ctor, out MethodSymbol nullableCtor))
Lowering\LocalRewriter\LocalRewriter_Literal.cs (10)
63
SpecialMember
member;
80
useField = _compilation.GetSpecialTypeMember(
SpecialMember
.System_Decimal__Zero);
84
useField = _compilation.GetSpecialTypeMember(
SpecialMember
.System_Decimal__One);
88
useField = _compilation.GetSpecialTypeMember(
SpecialMember
.System_Decimal__MinusOne);
99
member =
SpecialMember
.System_Decimal__CtorInt32;
105
member =
SpecialMember
.System_Decimal__CtorUInt32;
111
member =
SpecialMember
.System_Decimal__CtorInt64;
117
member =
SpecialMember
.System_Decimal__CtorUInt64;
123
member =
SpecialMember
.System_Decimal__CtorInt32Int32Int32BooleanByte;
150
var ctor = (MethodSymbol)_compilation.Assembly.GetSpecialTypeMember(
SpecialMember
.System_DateTime__CtorInt64);
Lowering\LocalRewriter\LocalRewriter_NullCoalescingAssignmentOperator.cs (2)
73
SpecialMember
.System_Nullable_T_GetValueOrDefault,
81
SpecialMember
.System_Nullable_T_get_HasValue,
Lowering\LocalRewriter\LocalRewriter_NullCoalescingOperator.cs (10)
139
&& TryGetNullableMethod(rewrittenLeft.Syntax, rewrittenLeft.Type,
SpecialMember
.System_Nullable_T_GetValueOrDefault, out MethodSymbol getValueOrDefault))
194
if ((object)method == (object)_compilation.GetSpecialTypeMember(
SpecialMember
.System_String__ConcatStringString) ||
195
(object)method == (object)_compilation.GetSpecialTypeMember(
SpecialMember
.System_String__ConcatStringStringString) ||
196
(object)method == (object)_compilation.GetSpecialTypeMember(
SpecialMember
.System_String__ConcatStringStringStringString) ||
197
(object)method == (object)_compilation.GetSpecialTypeMember(
SpecialMember
.System_String__ConcatObject) ||
198
(object)method == (object)_compilation.GetSpecialTypeMember(
SpecialMember
.System_String__ConcatObjectObject) ||
199
(object)method == (object)_compilation.GetSpecialTypeMember(
SpecialMember
.System_String__ConcatObjectObjectObject) ||
200
(object)method == (object)_compilation.GetSpecialTypeMember(
SpecialMember
.System_String__ConcatStringArray) ||
201
(object)method == (object)_compilation.GetSpecialTypeMember(
SpecialMember
.System_String__ConcatObjectArray))
248
MethodSymbol getValueOrDefault = UnsafeGetNullableMethod(rewrittenLeft.Syntax, rewrittenLeftType,
SpecialMember
.System_Nullable_T_GetValueOrDefault);
Lowering\LocalRewriter\LocalRewriter_PropertyAccess.cs (2)
44
if (ReferenceEquals(propertySymbol, _compilation.GetSpecialTypeMember(
SpecialMember
.System_Array__Length)) ||
45
!_inExpressionLambda && ReferenceEquals(propertySymbol, _compilation.GetSpecialTypeMember(
SpecialMember
.System_Array__LongLength)))
Lowering\LocalRewriter\LocalRewriter_Range.cs (1)
95
if (!TryGetNullableMethod(node.Syntax, node.Type,
SpecialMember
.System_Nullable_T__ctor, out MethodSymbol nullableCtor))
Lowering\LocalRewriter\LocalRewriter_StringConcat.cs (12)
163
if ((object)method == (object)_compilation.GetSpecialTypeMember(
SpecialMember
.System_String__ConcatStringString) ||
164
(object)method == (object)_compilation.GetSpecialTypeMember(
SpecialMember
.System_String__ConcatStringStringString) ||
165
(object)method == (object)_compilation.GetSpecialTypeMember(
SpecialMember
.System_String__ConcatStringStringStringString))
171
if ((object)method == (object)_compilation.GetSpecialTypeMember(
SpecialMember
.System_String__ConcatStringArray))
305
var method = UnsafeGetSpecialTypeMethod(syntax,
SpecialMember
.System_String__ConcatStringString);
317
var method = UnsafeGetSpecialTypeMethod(syntax,
SpecialMember
.System_String__ConcatStringStringString);
330
var method = UnsafeGetSpecialTypeMethod(syntax,
SpecialMember
.System_String__ConcatStringStringStringString);
341
var method = UnsafeGetSpecialTypeMethod(syntax,
SpecialMember
.System_String__ConcatStringArray);
355
SpecialMember
member = (operatorKind == BinaryOperatorKind.StringConcatenation) ?
356
SpecialMember
.System_String__ConcatStringString :
357
SpecialMember
.System_String__ConcatObjectObject;
408
var objectToStringMethod = UnsafeGetSpecialTypeMethod(syntax,
SpecialMember
.System_Object__ToString);
Lowering\LocalRewriter\LocalRewriter_UnaryOperator.cs (11)
161
method = (MethodSymbol)_compilation.Assembly.GetSpecialTypeMember(
SpecialMember
.System_Decimal__op_UnaryNegation);
199
MethodSymbol getValueOrDefault = UnsafeGetNullableMethod(syntax, boundTemp.Type,
SpecialMember
.System_Nullable_T_GetValueOrDefault);
350
MethodSymbol ctor = UnsafeGetNullableMethod(syntax, type,
SpecialMember
.System_Nullable_T__ctor);
659
MethodSymbol getValueOrDefault = UnsafeGetNullableMethod(syntax, type,
SpecialMember
.System_Nullable_T_GetValueOrDefault);
660
MethodSymbol ctor = UnsafeGetNullableMethod(syntax, type,
SpecialMember
.System_Nullable_T__ctor);
738
MethodSymbol ctor = UnsafeGetNullableMethod(node.Syntax, binaryOperandType,
SpecialMember
.System_Nullable_T__ctor);
792
SpecialMember
member;
795
case BinaryOperatorKind.Addition: member =
SpecialMember
.System_Decimal__op_Increment; break;
796
case BinaryOperatorKind.Subtraction: member =
SpecialMember
.System_Decimal__op_Decrement; break;
820
MethodSymbol getValueOrDefault = UnsafeGetNullableMethod(syntax, operand.Type,
SpecialMember
.System_Nullable_T_GetValueOrDefault);
821
MethodSymbol ctor = UnsafeGetNullableMethod(syntax, operand.Type,
SpecialMember
.System_Nullable_T__ctor);
Lowering\LocalRewriter\LocalRewriter_UsingStatement.cs (2)
362
MethodSymbol getValueOrDefault = UnsafeGetNullableMethod(resourceTypeSyntax, local.Type,
SpecialMember
.System_Nullable_T_GetValueOrDefault);
451
Binder.TryGetSpecialTypeMember(_compilation,
SpecialMember
.System_IDisposable__Dispose, resourceTypeSyntax, _diagnostics, out disposeMethod);
Lowering\SyntheticBoundNodeFactory.cs (10)
319
(ReferenceEquals(property, Compilation.GetSpecialTypeMember(CodeAnalysis.
SpecialMember
.System_Array__Length)) ||
320
ReferenceEquals(property, Compilation.GetSpecialTypeMember(CodeAnalysis.
SpecialMember
.System_Array__LongLength)))), "Use BoundArrayLength instead?");
397
public Symbol SpecialMember(
SpecialMember
sm)
411
public MethodSymbol SpecialMethod(
SpecialMember
sm)
416
public PropertySymbol SpecialProperty(
SpecialMember
sm)
723
return StaticCall(CodeAnalysis.
SpecialMember
.System_Double__IsNaN, input);
726
return StaticCall(CodeAnalysis.
SpecialMember
.System_Single__IsNaN, input);
778
public BoundExpression StaticCall(
SpecialMember
method, params BoundExpression[] args)
1389
return this.Call(arg, this.SpecialMethod(CodeAnalysis.
SpecialMember
.System_Nullable_T_get_Value).AsMember((NamedTypeSymbol)arg.Type));
1672
return BoundCall.Synthesized(syntax, expression, LocalRewriter.UnsafeGetNullableMethod(syntax, expression.Type, CodeAnalysis.
SpecialMember
.System_Nullable_T_get_HasValue, Compilation, Diagnostics));
Symbols\AnonymousTypes\AnonymousTypeManager.SymbolCollection.cs (7)
28
ReportErrorOnSpecialMember(System_Object__Equals,
SpecialMember
.System_Object__Equals, diagnostics, ref hasErrors);
29
ReportErrorOnSpecialMember(System_Object__ToString,
SpecialMember
.System_Object__ToString, diagnostics, ref hasErrors);
30
ReportErrorOnSpecialMember(System_Object__GetHashCode,
SpecialMember
.System_Object__GetHashCode, diagnostics, ref hasErrors);
74
private static void ReportErrorOnSpecialMember(Symbol symbol,
SpecialMember
member, BindingDiagnosticBag diagnostics, ref bool hasError)
151
get { return this.Compilation.GetSpecialTypeMember(
SpecialMember
.System_Object__Equals) as MethodSymbol; }
156
get { return this.Compilation.GetSpecialTypeMember(
SpecialMember
.System_Object__ToString) as MethodSymbol; }
161
get { return this.Compilation.GetSpecialTypeMember(
SpecialMember
.System_Object__GetHashCode) as MethodSymbol; }
Symbols\AssemblySymbol.cs (9)
442
get => RuntimeSupportsFeature(
SpecialMember
.System_Runtime_CompilerServices_RuntimeFeature__DefaultImplementationsOfInterfaces);
451
get => RuntimeSupportsFeature(
SpecialMember
.System_Runtime_CompilerServices_RuntimeFeature__VirtualStaticsInInterfaces);
465
RuntimeSupportsFeature(
SpecialMember
.System_Runtime_CompilerServices_RuntimeFeature__NumericIntPtr);
469
protected bool RuntimeSupportsFeature(
SpecialMember
feature)
479
=> RuntimeSupportsFeature(
SpecialMember
.System_Runtime_CompilerServices_RuntimeFeature__UnmanagedSignatureCallingConvention);
483
=> RuntimeSupportsFeature(
SpecialMember
.System_Runtime_CompilerServices_RuntimeFeature__ByRefFields);
495
RuntimeSupportsFeature(
SpecialMember
.System_Runtime_CompilerServices_RuntimeFeature__CovariantReturnsOfClasses) &&
1022
internal virtual Symbol GetDeclaredSpecialTypeMember(
SpecialMember
member)
1030
internal virtual Symbol GetSpecialTypeMember(
SpecialMember
member)
Symbols\Compilation_WellKnownMembers.cs (1)
435
SpecialMember
constructor,
Symbols\MetadataOrSourceAssemblySymbol.cs (2)
179
internal override Symbol GetDeclaredSpecialTypeMember(
SpecialMember
member)
192
var specialTypeMembers = new Symbol[(int)
SpecialMember
.Count];
Symbols\MissingAssemblySymbol.cs (1)
54
internal override Symbol GetDeclaredSpecialTypeMember(
SpecialMember
member)
Symbols\Source\SourceAssemblySymbol.cs (1)
206
internal override Symbol GetSpecialTypeMember(
SpecialMember
member)
Symbols\Source\SourceMemberContainerSymbol.cs (3)
4218
if (!SynthesizedRecordObjectMethod.VerifyOverridesMethodFromObject(toStringMethod,
SpecialMember
.System_Object__ToString, diagnostics) && toStringMethod.IsSealed && !IsSealed)
4230
var objectToString = this.DeclaringCompilation.GetSpecialTypeMember(
SpecialMember
.System_Object__ToString);
4372
if (!SynthesizedRecordObjectMethod.VerifyOverridesMethodFromObject(getHashCode,
SpecialMember
.System_Object__GetHashCode, diagnostics) && getHashCode.IsSealed && !IsSealed)
Symbols\Synthesized\Records\SynthesizedRecordGetHashCode.cs (2)
27
protected override
SpecialMember
OverriddenSpecialMember =>
SpecialMember
.System_Object__GetHashCode;
Symbols\Synthesized\Records\SynthesizedRecordObjectMethod.cs (2)
32
protected abstract
SpecialMember
OverriddenSpecialMember { get; }
37
internal static bool VerifyOverridesMethodFromObject(MethodSymbol overriding,
SpecialMember
overriddenSpecialMember, BindingDiagnosticBag diagnostics)
Symbols\Synthesized\Records\SynthesizedRecordObjEquals.cs (2)
24
protected override
SpecialMember
OverriddenSpecialMember =>
SpecialMember
.System_Object__Equals;
Symbols\Synthesized\Records\SynthesizedRecordPrintMembers.cs (1)
215
F.Call(value, F.SpecialMethod(
SpecialMember
.System_Object__ToString)))));
Symbols\Synthesized\Records\SynthesizedRecordToString.cs (3)
37
protected override
SpecialMember
OverriddenSpecialMember =>
SpecialMember
.System_Object__ToString;
81
block.Add(F.Return(F.Call(builderLocal, F.SpecialMethod(
SpecialMember
.System_Object__ToString))));
Microsoft.CodeAnalysis.CSharp.Emit.UnitTests (6)
CodeGen\CodeGenAwaitUsingTests.cs (1)
656
comp.MakeMemberMissing(
SpecialMember
.System_IDisposable__Dispose);
CodeGen\CodeGenNullCoalescingAssignmentTests.cs (2)
2771
c1.MakeMemberMissing(
SpecialMember
.System_Nullable_T_GetValueOrDefault);
2778
c2.MakeMemberMissing(
SpecialMember
.System_Nullable_T_get_HasValue);
CodeGen\CodeGenOperators.cs (1)
5937
comp.MakeMemberMissing(
SpecialMember
.System_Nullable_T_GetValueOrDefault);
CodeGen\SwitchTests.cs (2)
8224
comp.MakeMemberMissing(
SpecialMember
.System_String__Chars);
8371
comp.MakeMemberMissing(
SpecialMember
.System_String__Chars);
Microsoft.CodeAnalysis.CSharp.Emit2.UnitTests (5)
CodeGen\CodeGenLengthBasedSwitchTests.cs (3)
1530
comp.MakeMemberMissing(
SpecialMember
.System_String__Length);
1538
comp.MakeMemberMissing(
SpecialMember
.System_String__Length);
1570
comp.MakeMemberMissing(
SpecialMember
.System_String__Chars);
Semantics\PatternMatchingTests_ListPatterns.cs (2)
1004
compilation.MakeMemberMissing(
SpecialMember
.System_Array__Length);
1126
compilation.MakeMemberMissing(
SpecialMember
.System_String__Substring);
Microsoft.CodeAnalysis.CSharp.ExpressionEvaluator.ExpressionCompiler (1)
Symbols\PlaceholderLocalSymbol.cs (1)
163
if (Binder.TryGetSpecialTypeMember(compilation,
SpecialMember
.System_IntPtr__op_Explicit_ToPointer, syntax, bindingDiagnostics, out conversionMethod))
Microsoft.CodeAnalysis.CSharp.IOperation.UnitTests (3)
IOperation\IOperationTests_ICoalesceOperation.cs (1)
1528
compilation.MakeMemberMissing(
SpecialMember
.System_Nullable_T_GetValueOrDefault);
IOperation\IOperationTests_IConditionalAccessExpression.cs (1)
1192
compilation.MakeMemberMissing(
SpecialMember
.System_Nullable_T_GetValueOrDefault);
IOperation\IOperationTests_IUsingStatement.cs (1)
3872
compilation.MakeMemberMissing(
SpecialMember
.System_IDisposable__Dispose);
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (10)
Semantics\ForEachTests.cs (8)
2132
Assert.Equal<ISymbol>(comp.GetSpecialTypeMember(
SpecialMember
.System_Collections_IEnumerable__GetEnumerator).GetPublicSymbol(), loopInfo.GetEnumeratorMethod);
2133
Assert.Equal<ISymbol>(comp.GetSpecialTypeMember(
SpecialMember
.System_Collections_IEnumerator__Current).GetPublicSymbol(), loopInfo.CurrentProperty);
2134
Assert.Equal<ISymbol>(comp.GetSpecialTypeMember(
SpecialMember
.System_Collections_IEnumerator__MoveNext).GetPublicSymbol(), loopInfo.MoveNextMethod);
2135
Assert.Equal<ISymbol>(comp.GetSpecialTypeMember(
SpecialMember
.System_IDisposable__Dispose).GetPublicSymbol(), loopInfo.DisposeMethod);
2184
Assert.Equal<ISymbol>(comp.GetSpecialTypeMember(
SpecialMember
.System_Collections_IEnumerable__GetEnumerator).GetPublicSymbol(), loopInfo0.GetEnumeratorMethod);
2185
Assert.Equal<ISymbol>(comp.GetSpecialTypeMember(
SpecialMember
.System_Collections_IEnumerator__Current).GetPublicSymbol(), loopInfo0.CurrentProperty);
2186
Assert.Equal<ISymbol>(comp.GetSpecialTypeMember(
SpecialMember
.System_Collections_IEnumerator__MoveNext).GetPublicSymbol(), loopInfo0.MoveNextMethod);
2187
Assert.Equal<ISymbol>(comp.GetSpecialTypeMember(
SpecialMember
.System_IDisposable__Dispose).GetPublicSymbol(), loopInfo0.DisposeMethod);
Semantics\NullableReferenceTypesTests.cs (2)
111968
var implicitOp = comp.GetSpecialTypeMember(
SpecialMember
.System_Nullable_T__op_Implicit_FromT);
111969
var explicitOp = comp.GetSpecialTypeMember(
SpecialMember
.System_Nullable_T__op_Explicit_ToT);
Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests (63)
Compilation\GetSemanticInfoTests.cs (1)
4544
Assert.Equal(compilation.GetSpecialTypeMember(
SpecialMember
.System_Object__ReferenceEquals), methodInfo.Symbol);
Symbols\CovariantReturnTests.cs (2)
274
comp.GetSpecialTypeMember(
SpecialMember
.System_Runtime_CompilerServices_PreserveBaseOverridesAttribute__ctor) is MethodSymbol attrConstructor)
314
comp.GetSpecialTypeMember(
SpecialMember
.System_Runtime_CompilerServices_PreserveBaseOverridesAttribute__ctor) is MethodSymbol attrConstructor)
Symbols\MissingSpecialMember.cs (60)
39
comp.MakeMemberMissing(
SpecialMember
.System_Collections_Generic_IEnumerable_T__GetEnumerator);
71
comp.MakeMemberMissing(
SpecialMember
.System_IDisposable__Dispose);
196
Assert.NotNull(comp.GetSpecialTypeMember(
SpecialMember
.System_Object__ToString));
197
Assert.NotNull(comp.GetSpecialTypeMember(
SpecialMember
.System_String__ConcatStringString));
203
Assert.Null(comp.GetSpecialTypeMember(
SpecialMember
.System_Object__ToString));
204
Assert.Null(comp.GetSpecialTypeMember(
SpecialMember
.System_String__ConcatStringString));
551
foreach (
SpecialMember
special in Enum.GetValues(typeof(
SpecialMember
)))
553
if (special ==
SpecialMember
.Count) continue; // Not a real value;
556
if (special ==
SpecialMember
.System_Runtime_CompilerServices_RuntimeFeature__DefaultImplementationsOfInterfaces
557
|| special ==
SpecialMember
.System_Runtime_CompilerServices_RuntimeFeature__CovariantReturnsOfClasses
558
|| special ==
SpecialMember
.System_Runtime_CompilerServices_RuntimeFeature__VirtualStaticsInInterfaces
559
|| special ==
SpecialMember
.System_Runtime_CompilerServices_RuntimeFeature__UnmanagedSignatureCallingConvention
560
|| special ==
SpecialMember
.System_Runtime_CompilerServices_RuntimeFeature__NumericIntPtr
561
|| special ==
SpecialMember
.System_Runtime_CompilerServices_RuntimeFeature__ByRefFields
562
|| special ==
SpecialMember
.System_Runtime_CompilerServices_PreserveBaseOverridesAttribute__ctor)
1072
comp.MakeMemberMissing(
SpecialMember
.System_IntPtr__op_Explicit_FromInt32);
1103
compilation.MakeMemberMissing(
SpecialMember
.System_Delegate__Combine);
1141
compilation.MakeMemberMissing(
SpecialMember
.System_Nullable_T__ctor);
1182
compilation.MakeMemberMissing(
SpecialMember
.System_Nullable_T_GetValueOrDefault);
1223
compilation.MakeMemberMissing(
SpecialMember
.System_Nullable_T_get_HasValue);
1263
compilation.MakeMemberMissing(
SpecialMember
.System_Nullable_T_GetValueOrDefault);
1288
compilation.MakeMemberMissing(
SpecialMember
.System_Nullable_T_get_Value);
1318
compilation.MakeMemberMissing(
SpecialMember
.System_Nullable_T__ctor);
1366
compilation.MakeMemberMissing(
SpecialMember
.System_Nullable_T__ctor);
1450
compilation.MakeMemberMissing(
SpecialMember
.System_Nullable_T__ctor);
1489
compilation.MakeMemberMissing(
SpecialMember
.System_Nullable_T_GetValueOrDefault);
1529
compilation.MakeMemberMissing(
SpecialMember
.System_Nullable_T_get_HasValue);
1570
compilation.MakeMemberMissing(
SpecialMember
.System_Nullable_T_GetValueOrDefault);
1595
compilation.MakeMemberMissing(
SpecialMember
.System_String__ConcatObjectObject);
1623
compilation.MakeMemberMissing(
SpecialMember
.System_String__ConcatStringStringString);
1651
compilation.MakeMemberMissing(
SpecialMember
.System_String__ConcatStringStringStringString);
1693
compilation.MakeMemberMissing(
SpecialMember
.System_String__ConcatStringArray);
1758
compilation.MakeMemberMissing(
SpecialMember
.System_Nullable_T_GetValueOrDefault);
1784
compilation.MakeMemberMissing(
SpecialMember
.System_Nullable_T__ctor);
1814
compilation.MakeMemberMissing(
SpecialMember
.System_Nullable_T__ctor);
1835
compilation.MakeMemberMissing(
SpecialMember
.System_Decimal__op_Multiply);
1867
compilation.MakeMemberMissing(
SpecialMember
.System_Nullable_T_GetValueOrDefault);
1899
compilation.MakeMemberMissing(
SpecialMember
.System_Nullable_T_GetValueOrDefault);
1928
compilation.MakeMemberMissing(
SpecialMember
.System_Nullable_T__ctor);
1971
compilation.MakeMemberMissing(
SpecialMember
.System_Nullable_T_GetValueOrDefault);
2008
compilation.MakeMemberMissing(
SpecialMember
.System_Nullable_T__ctor);
2039
compilation.MakeMemberMissing(
SpecialMember
.System_Nullable_T__ctor);
2070
compilation.MakeMemberMissing(
SpecialMember
.System_Nullable_T_GetValueOrDefault);
2105
compilation.MakeMemberMissing(
SpecialMember
.System_String__op_Equality);
2138
compilation.MakeMemberMissing(
SpecialMember
.System_Nullable_T_get_HasValue);
2169
compilation.MakeMemberMissing(
SpecialMember
.System_Nullable_T_GetValueOrDefault);
2231
compilation.MakeMemberMissing(
SpecialMember
.System_String__op_Equality);
2276
compilation.MakeMemberMissing(
SpecialMember
.System_String__Chars);
2327
compilation.MakeMemberMissing(
SpecialMember
.System_Nullable_T_GetValueOrDefault);
2357
compilation.MakeMemberMissing(
SpecialMember
.System_String__ConcatObject);
2379
compilation.MakeMemberMissing(
SpecialMember
.System_Object__ToString);
2406
compilation.MakeMemberMissing(
SpecialMember
.System_String__ConcatStringString);
2434
compilation.MakeMemberMissing(
SpecialMember
.System_Array__GetLowerBound);
2465
compilation.MakeMemberMissing(
SpecialMember
.System_Array__GetUpperBound);
2499
compilation.MakeMemberMissing(
SpecialMember
.System_Decimal__op_Implicit_FromInt32);
2521
compilation.MakeMemberMissing(
SpecialMember
.System_Decimal__op_Implicit_FromInt32);
2543
compilation.MakeMemberMissing(
SpecialMember
.System_Decimal__op_Implicit_FromInt32);
2567
compilation.MakeMemberMissing(
SpecialMember
.System_Decimal__op_Implicit_FromInt32);
2592
compilation.MakeMemberMissing(
SpecialMember
.System_Nullable_T__ctor);
Microsoft.CodeAnalysis.CSharp.Test.Utilities (1)
Extensions.cs (1)
696
public static ISymbol GetSpecialTypeMember(this Compilation compilation,
SpecialMember
specialMember)
Microsoft.CodeAnalysis.VisualBasic (170)
Binding\Binder.vb (3)
552
Friend Function GetSpecialTypeMember(member As
SpecialMember
, syntax As SyntaxNode, diagnostics As BindingDiagnosticBag) As Symbol
556
Friend Shared Function GetSpecialTypeMember(assembly As AssemblySymbol, member As
SpecialMember
, syntax As SyntaxNode, diagnostics As BindingDiagnosticBag) As Symbol
564
Friend Shared Function GetSpecialTypeMember(assembly As AssemblySymbol, member As
SpecialMember
, <Out> ByRef useSiteInfo As UseSiteInfo(Of AssemblySymbol)) As Symbol
Binding\Binder_Statements.vb (5)
3851
specialTypeMember = GetSpecialTypeMember(
SpecialMember
.System_Collections_Generic_IEnumerable_T__GetEnumerator,
3860
member = GetSpecialTypeMember(
SpecialMember
.System_Collections_IEnumerable__GetEnumerator,
3889
member = GetSpecialTypeMember(
SpecialMember
.System_Collections_IEnumerator__MoveNext,
3911
specialTypeMember = GetSpecialTypeMember(
SpecialMember
.System_Collections_Generic_IEnumerator_T__Current,
3921
member = GetSpecialTypeMember(
SpecialMember
.System_Collections_IEnumerator__Current,
Binding\MemberSemanticModel.vb (1)
805
DirectCast(compilation.GetSpecialTypeMember(
SpecialMember
.System_IDisposable__Dispose), MethodSymbol),
Binding\SyntheticBoundTrees\SynthesizedStringSwitchHashMethod.vb (2)
88
DirectCast(Me.ContainingAssembly.GetSpecialTypeMember(
SpecialMember
.System_String__Chars), MethodSymbol),
121
F.Call(F.Parameter(text).MakeRValue(), DirectCast(Me.ContainingAssembly.GetSpecialTypeMember(
SpecialMember
.System_String__Length), MethodSymbol))),
Compilation\VisualBasicCompilation.vb (2)
1957
Friend Shadows Function GetSpecialTypeMember(memberId As
SpecialMember
) As Symbol
1961
Friend Overrides Function CommonGetSpecialTypeMember(specialMember As
SpecialMember
) As ISymbolInternal
Lowering\ExpressionLambdaRewriter\ExpressionLambdaRewriter.vb (2)
688
DirectCast(Me._factory.SpecialMember(
SpecialMember
.System_Array__LongLength), PropertySymbol).GetMethod,
744
Private Function [New](helper As
SpecialMember
, argument As BoundExpression) As BoundExpression
Lowering\ExpressionLambdaRewriter\ExpressionLambdaRewriter_BinaryOperator.vb (20)
333
helper = DirectCast(_factory.SpecialMember(
SpecialMember
.System_String__ConcatStringString), MethodSymbol)
492
Dim specialHelper As
SpecialMember
495
specialHelper =
SpecialMember
.System_Decimal__AddDecimalDecimal
497
specialHelper =
SpecialMember
.System_Decimal__SubtractDecimalDecimal
499
specialHelper =
SpecialMember
.System_Decimal__MultiplyDecimalDecimal
501
specialHelper =
SpecialMember
.System_Decimal__DivideDecimalDecimal
503
specialHelper =
SpecialMember
.System_Decimal__ModuloDecimalDecimal
507
specialHelper =
SpecialMember
.System_Decimal__op_Equality
510
specialHelper =
SpecialMember
.System_Decimal__op_Inequality
512
specialHelper =
SpecialMember
.System_Decimal__op_LessThan
514
specialHelper =
SpecialMember
.System_Decimal__op_LessThanOrEqual
516
specialHelper =
SpecialMember
.System_Decimal__op_GreaterThan
518
specialHelper =
SpecialMember
.System_Decimal__op_GreaterThanOrEqual
529
Dim specialHelper As
SpecialMember
533
specialHelper =
SpecialMember
.System_DateTime__op_Equality
536
specialHelper =
SpecialMember
.System_DateTime__op_Inequality
538
specialHelper =
SpecialMember
.System_DateTime__op_LessThan
540
specialHelper =
SpecialMember
.System_DateTime__op_LessThanOrEqual
542
specialHelper =
SpecialMember
.System_DateTime__op_GreaterThan
544
specialHelper =
SpecialMember
.System_DateTime__op_GreaterThanOrEqual
Lowering\ExpressionLambdaRewriter\ExpressionLambdaRewriter_ConditionalExpresion.vb (1)
127
SpecialMember
.System_Nullable_T__op_Explicit_ToT), MethodSymbol)
Lowering\ExpressionLambdaRewriter\ExpressionLambdaRewriter_Conversion.vb (24)
251
Return [New](
SpecialMember
.System_String__CtorSZArrayChar, rewrittenOperand)
330
SpecialMember
.System_Nullable_T__op_Implicit_FromT), MethodSymbol)
349
SpecialMember
.System_Nullable_T__op_Explicit_ToT), MethodSymbol)
430
Dim specialHelper = CType(-1,
SpecialMember
)
454
Case SpecialType.System_Decimal : specialHelper =
SpecialMember
.System_Decimal__op_Explicit_ToByte
463
Case SpecialType.System_Decimal : specialHelper =
SpecialMember
.System_Decimal__op_Explicit_ToSByte
472
Case SpecialType.System_Decimal : specialHelper =
SpecialMember
.System_Decimal__op_Explicit_ToInt16
481
Case SpecialType.System_Decimal : specialHelper =
SpecialMember
.System_Decimal__op_Explicit_ToUInt16
490
Case SpecialType.System_Decimal : specialHelper =
SpecialMember
.System_Decimal__op_Explicit_ToInt32
499
Case SpecialType.System_Decimal : specialHelper =
SpecialMember
.System_Decimal__op_Explicit_ToUInt32
508
Case SpecialType.System_Decimal : specialHelper =
SpecialMember
.System_Decimal__op_Explicit_ToInt64
517
Case SpecialType.System_Decimal : specialHelper =
SpecialMember
.System_Decimal__op_Explicit_ToUInt64
524
Case SpecialType.System_SByte : specialHelper =
SpecialMember
.System_Decimal__op_Implicit_FromInt32
525
Case SpecialType.System_Byte : specialHelper =
SpecialMember
.System_Decimal__op_Implicit_FromInt32
526
Case SpecialType.System_Int16 : specialHelper =
SpecialMember
.System_Decimal__op_Implicit_FromInt32
527
Case SpecialType.System_UInt16 : specialHelper =
SpecialMember
.System_Decimal__op_Implicit_FromInt32
528
Case SpecialType.System_Int32 : specialHelper =
SpecialMember
.System_Decimal__op_Implicit_FromInt32
529
Case SpecialType.System_UInt32 : specialHelper =
SpecialMember
.System_Decimal__op_Implicit_FromUInt32
530
Case SpecialType.System_Int64 : specialHelper =
SpecialMember
.System_Decimal__op_Implicit_FromInt64
531
Case SpecialType.System_UInt64 : specialHelper =
SpecialMember
.System_Decimal__op_Implicit_FromUInt64
532
Case SpecialType.System_Single : specialHelper =
SpecialMember
.System_Decimal__op_Explicit_FromSingle
533
Case SpecialType.System_Double : specialHelper =
SpecialMember
.System_Decimal__op_Explicit_FromDouble
541
Case SpecialType.System_Decimal : specialHelper =
SpecialMember
.System_Decimal__op_Explicit_ToSingle
548
Case SpecialType.System_Decimal : specialHelper =
SpecialMember
.System_Decimal__op_Explicit_ToDouble
Lowering\ExpressionLambdaRewriter\ExpressionLambdaRewriter_UnaryOperator.vb (2)
205
Dim specialHelper As
SpecialMember
209
specialHelper =
SpecialMember
.System_Decimal__NegateDecimal
Lowering\IteratorRewriter\IteratorRewriter.vb (14)
107
EnsureSpecialMember(
SpecialMember
.System_IDisposable__Dispose, bag)
111
EnsureSpecialPropertyGetter(
SpecialMember
.System_Collections_IEnumerator__Current, bag)
112
EnsureSpecialMember(
SpecialMember
.System_Collections_IEnumerator__MoveNext, bag)
113
EnsureSpecialMember(
SpecialMember
.System_Collections_IEnumerator__Reset, bag)
117
EnsureSpecialPropertyGetter(
SpecialMember
.System_Collections_Generic_IEnumerator_T__Current, bag)
121
EnsureSpecialMember(
SpecialMember
.System_Collections_IEnumerable__GetEnumerator, bag)
123
EnsureSpecialMember(
SpecialMember
.System_Collections_Generic_IEnumerable_T__GetEnumerator, bag)
155
Dim disposeMethod = Me.OpenMethodImplementation(
SpecialMember
.System_IDisposable__Dispose,
160
Dim moveNextMethod = Me.OpenMoveNextMethodImplementation(
SpecialMember
.System_Collections_IEnumerator__MoveNext,
182
SpecialMember
.System_Collections_Generic_IEnumerable_T__GetEnumerator,
267
Me.OpenMethodImplementation(
SpecialMember
.System_Collections_IEnumerable__GetEnumerator,
276
SpecialMember
.System_Collections_Generic_IEnumerator_T__Current,
282
Me.OpenMethodImplementation(
SpecialMember
.System_Collections_IEnumerator__Reset,
295
Me.OpenPropertyImplementation(
SpecialMember
.System_Collections_IEnumerator__Current,
Lowering\LocalRewriter\LocalRewriter.vb (4)
578
Private Function GetSpecialTypeMember(specialMember As
SpecialMember
) As Symbol
586
Private Function ReportMissingOrBadRuntimeHelper(node As BoundNode, specialMember As
SpecialMember
, memberSymbol As Symbol) As Boolean
594
Friend Shared Function ReportMissingOrBadRuntimeHelper(node As BoundNode, specialMember As
SpecialMember
, memberSymbol As Symbol, diagnostics As BindingDiagnosticBag, Optional embedVBCoreRuntime As Boolean = False) As Boolean
603
Private Shared Sub ReportMissingRuntimeHelper(node As BoundNode, specialMember As
SpecialMember
, diagnostics As BindingDiagnosticBag, Optional embedVBCoreRuntime As Boolean = False)
Lowering\LocalRewriter\LocalRewriter_BinaryOperators.vb (10)
388
Return RewriteDecimalBinaryOperator(node,
SpecialMember
.System_Decimal__AddDecimalDecimal)
395
Return RewriteDecimalBinaryOperator(node,
SpecialMember
.System_Decimal__SubtractDecimalDecimal)
402
Return RewriteDecimalBinaryOperator(node,
SpecialMember
.System_Decimal__MultiplyDecimalDecimal)
409
Return RewriteDecimalBinaryOperator(node,
SpecialMember
.System_Decimal__RemainderDecimalDecimal)
416
Return RewriteDecimalBinaryOperator(node,
SpecialMember
.System_Decimal__DivideDecimalDecimal)
484
Const memberId As
SpecialMember
=
SpecialMember
.System_DateTime__CompareDateTimeDateTime
523
Const memberId As
SpecialMember
=
SpecialMember
.System_Decimal__CompareDecimalDecimal
649
Private Function RewriteDecimalBinaryOperator(node As BoundBinaryOperator, member As
SpecialMember
) As BoundExpression
Lowering\LocalRewriter\LocalRewriter_Constant.vb (9)
53
useField = assembly.GetSpecialTypeMember(
SpecialMember
.System_Decimal__Zero)
57
useField = assembly.GetSpecialTypeMember(
SpecialMember
.System_Decimal__MinusOne)
60
useField = assembly.GetSpecialTypeMember(
SpecialMember
.System_Decimal__One)
84
decCtorInt64 = DirectCast(assembly.GetSpecialTypeMember(
SpecialMember
.System_Decimal__CtorInt64), MethodSymbol)
117
Const memberId As
SpecialMember
=
SpecialMember
.System_Decimal__CtorInt32Int32Int32BooleanByte
149
Dim dtMinValue = DirectCast(assembly.GetSpecialTypeMember(
SpecialMember
.System_DateTime__MinValue), FieldSymbol)
165
Const memberId As
SpecialMember
=
SpecialMember
.System_DateTime__CtorInt64
Lowering\LocalRewriter\LocalRewriter_Conversion.vb (9)
1003
Const memberId As
SpecialMember
=
SpecialMember
.System_String__CtorSZArrayChar
1156
Dim member As
SpecialMember
1163
SpecialType.System_Int32 : member =
SpecialMember
.System_Decimal__CtorInt32
1164
Case SpecialType.System_UInt32 : member =
SpecialMember
.System_Decimal__CtorUInt32
1165
Case SpecialType.System_Int64 : member =
SpecialMember
.System_Decimal__CtorInt64
1166
Case SpecialType.System_UInt64 : member =
SpecialMember
.System_Decimal__CtorUInt64
1167
Case SpecialType.System_Single : member =
SpecialMember
.System_Decimal__CtorSingle
1168
Case SpecialType.System_Double : member =
SpecialMember
.System_Decimal__CtorDouble
Lowering\LocalRewriter\LocalRewriter_ForEach.vb (3)
262
Dim lengthPropertyGet = GetSpecialTypeMember(
SpecialMember
.System_String__Length)
292
If TryGetSpecialMember(charsPropertyGet,
SpecialMember
.System_String__Chars, syntaxNode) Then
716
If Not TryGetSpecialMember(disposeMethod,
SpecialMember
.System_IDisposable__Dispose, syntaxNode) Then
Lowering\LocalRewriter\LocalRewriter_LateBindingHelpers.vb (1)
992
memberId As
SpecialMember
,
Lowering\LocalRewriter\LocalRewriter_NullableHelpers.vb (5)
20
Dim ctor = GetNullableMethod(expr.Syntax, nullableType,
SpecialMember
.System_Nullable_T__ctor)
191
Dim getValueOrDefaultMethod = GetNullableMethod(expr.Syntax, expr.Type,
SpecialMember
.System_Nullable_T_GetValueOrDefault)
220
Dim getValueMethod As MethodSymbol = GetNullableMethod(expr.Syntax, expr.Type,
SpecialMember
.System_Nullable_T_get_Value)
248
Dim hasValueMethod As MethodSymbol = GetNullableMethod(expr.Syntax, expr.Type,
SpecialMember
.System_Nullable_T_get_HasValue)
309
Private Function GetNullableMethod(syntax As SyntaxNode, nullableType As TypeSymbol, member As
SpecialMember
) As MethodSymbol
Lowering\LocalRewriter\LocalRewriter_PropertyAccess.vb (2)
22
If (node.PropertySymbol Is GetSpecialTypeMember(
SpecialMember
.System_Array__Length) OrElse
23
node.PropertySymbol Is GetSpecialTypeMember(
SpecialMember
.System_Array__LongLength)) Then
Lowering\LocalRewriter\LocalRewriter_SelectCase.vb (2)
167
Const stringCharsMember As
SpecialMember
=
SpecialMember
.System_String__Chars
Lowering\LocalRewriter\LocalRewriter_StringConcat.vb (12)
122
If method Is Me.Compilation.GetSpecialTypeMember(
SpecialMember
.System_String__ConcatStringString) OrElse
123
method Is Me.Compilation.GetSpecialTypeMember(
SpecialMember
.System_String__ConcatStringStringString) OrElse
124
method Is Me.Compilation.GetSpecialTypeMember(
SpecialMember
.System_String__ConcatStringStringStringString) Then
131
If method Is Me.Compilation.GetSpecialTypeMember(
SpecialMember
.System_String__ConcatStringArray) Then
236
Const memberId As
SpecialMember
=
SpecialMember
.System_String__ConcatStringString
252
Const memberId As
SpecialMember
=
SpecialMember
.System_String__ConcatStringStringString
269
Const memberId As
SpecialMember
=
SpecialMember
.System_String__ConcatStringStringStringString
283
Const memberId As
SpecialMember
=
SpecialMember
.System_String__ConcatStringArray
Lowering\LocalRewriter\LocalRewriter_UnaryOperators.vb (2)
151
Const memberId As
SpecialMember
=
SpecialMember
.System_Decimal__NegateDecimal
Lowering\StateMachineRewriter\StateMachineRewriter.vb (7)
386
Friend Function EnsureSpecialMember(member As
SpecialMember
, bag As BindingDiagnosticBag) As Symbol
397
Friend Sub EnsureSpecialPropertyGetter(member As
SpecialMember
, bag As BindingDiagnosticBag)
419
Friend Function OpenMethodImplementation(interfaceMethod As
SpecialMember
, name As String, accessibility As Accessibility, Optional hasMethodBodyDependency As Boolean = False, Optional associatedProperty As PropertySymbol = Nothing) As SynthesizedMethod
425
Friend Function OpenMethodImplementation(interfaceType As NamedTypeSymbol, interfaceMethod As
SpecialMember
, name As String, accessibility As Accessibility, Optional hasMethodBodyDependency As Boolean = False, Optional associatedProperty As PropertySymbol = Nothing) As SynthesizedMethod
453
Friend Function OpenPropertyImplementation(interfaceProperty As
SpecialMember
, name As String, accessibility As Accessibility) As MethodSymbol
459
Friend Function OpenPropertyImplementation(interfaceType As NamedTypeSymbol, interfaceMethod As
SpecialMember
, name As String, accessibility As Accessibility) As MethodSymbol
496
Friend Function OpenMoveNextMethodImplementation(interfaceMethod As
SpecialMember
, accessibility As Accessibility) As SynthesizedMethod
Lowering\SyntheticBoundNodeFactory.vb (3)
261
Public Function SpecialMember(sm As
SpecialMember
) As Symbol
863
Public Function MethodInfo(meth As
SpecialMember
) As BoundExpression
891
Public Function ConstructorInfo(meth As
SpecialMember
) As BoundExpression
Operations\VisualBasicOperationFactory.vb (1)
1658
GetSpecialTypeMember(
SpecialMember
.System_Nullable_T_GetValueOrDefault), MethodSymbol)
Symbols\AnonymousTypes\AnonymousType_SymbolCollection.vb (7)
47
ReportErrorOnSpecialMember(System_Object__ToString,
SpecialMember
.System_Object__ToString, diagnostics, hasErrors, vbEmbedRuntime)
53
ReportErrorOnSpecialMember(System_Object__GetHashCode,
SpecialMember
.System_Object__GetHashCode, diagnostics, hasErrors, vbEmbedRuntime)
54
ReportErrorOnSpecialMember(System_Object__Equals,
SpecialMember
.System_Object__Equals, diagnostics, hasErrors, vbEmbedRuntime)
86
Private Shared Sub ReportErrorOnSpecialMember(symbol As Symbol, member As
SpecialMember
, diagnostics As BindingDiagnosticBag, ByRef hasError As Boolean, embedVBCore As Boolean)
190
Return DirectCast(Me.ContainingModule.ContainingAssembly.GetSpecialTypeMember(
SpecialMember
.System_Object__ToString), MethodSymbol)
214
Return DirectCast(Me.ContainingModule.ContainingAssembly.GetSpecialTypeMember(
SpecialMember
.System_Object__GetHashCode), MethodSymbol)
220
Return DirectCast(Me.ContainingModule.ContainingAssembly.GetSpecialTypeMember(
SpecialMember
.System_Object__Equals), MethodSymbol)
Symbols\AssemblySymbol.vb (7)
362
Return RuntimeSupportsFeature(
SpecialMember
.System_Runtime_CompilerServices_RuntimeFeature__ByRefFields)
369
Return RuntimeSupportsFeature(
SpecialMember
.System_Runtime_CompilerServices_RuntimeFeature__CovariantReturnsOfClasses) AndAlso
380
Return RuntimeSupportsFeature(
SpecialMember
.System_Runtime_CompilerServices_RuntimeFeature__DefaultImplementationsOfInterfaces)
391
RuntimeSupportsFeature(
SpecialMember
.System_Runtime_CompilerServices_RuntimeFeature__NumericIntPtr)
398
Return RuntimeSupportsFeature(
SpecialMember
.System_Runtime_CompilerServices_RuntimeFeature__UnmanagedSignatureCallingConvention)
405
Return RuntimeSupportsFeature(
SpecialMember
.System_Runtime_CompilerServices_RuntimeFeature__VirtualStaticsInInterfaces)
409
Private Function RuntimeSupportsFeature(feature As
SpecialMember
) As Boolean
Symbols\MissingAssemblySymbol.vb (1)
47
Friend Overrides Function GetDeclaredSpecialTypeMember(member As
SpecialMember
) As Symbol
Symbols\Source\SourceAssemblySymbol.vb (1)
151
Friend Overrides Function GetSpecialTypeMember(member As
SpecialMember
) As Symbol
Symbols\Source\SynthesizedEventAccessorSymbol.vb (3)
283
Dim updateMethodId As
SpecialMember
= If(isAddMethod,
SpecialMember
.System_Delegate__Combine,
SpecialMember
.System_Delegate__Remove)
Symbols\SpecialMembers.vb (5)
20
Friend Overridable Function GetSpecialTypeMember(member As
SpecialMember
) As Symbol
21
Debug.Assert(member >= 0 AndAlso member <
SpecialMember
.Count)
30
Friend Overridable Function GetDeclaredSpecialTypeMember(member As
SpecialMember
) As Symbol
48
Friend Overrides Function GetDeclaredSpecialTypeMember(member As
SpecialMember
) As Symbol
57
Dim specialTypeMembers = New Symbol(
SpecialMember
.Count - 1) {}
Microsoft.CodeAnalysis.VisualBasic.Emit.UnitTests (1)
CodeGen\CodeGenTests.vb (1)
3590
compilation.MakeMemberMissing(
SpecialMember
.System_Nullable_T_GetValueOrDefault)
Microsoft.CodeAnalysis.VisualBasic.Semantic.UnitTests (32)
Semantics\ForeachTest.vb (12)
1161
Assert.Equal(Of ISymbol)(comp.GetSpecialTypeMember(
SpecialMember
.System_Collections_IEnumerable__GetEnumerator), loopInfo.GetEnumeratorMethod)
1162
Assert.Equal(Of ISymbol)(comp.GetSpecialTypeMember(
SpecialMember
.System_Collections_IEnumerator__Current), loopInfo.CurrentProperty)
1163
Assert.Equal(Of ISymbol)(comp.GetSpecialTypeMember(
SpecialMember
.System_Collections_IEnumerator__MoveNext), loopInfo.MoveNextMethod)
1164
Assert.Equal(Of ISymbol)(comp.GetSpecialTypeMember(
SpecialMember
.System_IDisposable__Dispose), loopInfo.DisposeMethod)
1201
Assert.Equal(Of ISymbol)(comp.GetSpecialTypeMember(
SpecialMember
.System_Collections_IEnumerable__GetEnumerator), loopInfo.GetEnumeratorMethod)
1202
Assert.Equal(Of ISymbol)(comp.GetSpecialTypeMember(
SpecialMember
.System_Collections_IEnumerator__Current), loopInfo.CurrentProperty)
1203
Assert.Equal(Of ISymbol)(comp.GetSpecialTypeMember(
SpecialMember
.System_Collections_IEnumerator__MoveNext), loopInfo.MoveNextMethod)
1204
Assert.Equal(Of ISymbol)(comp.GetSpecialTypeMember(
SpecialMember
.System_IDisposable__Dispose), loopInfo.DisposeMethod)
1257
Assert.Equal(Of ISymbol)(comp.GetSpecialTypeMember(
SpecialMember
.System_Collections_IEnumerator__Current), loopInfo0.CurrentProperty)
1258
Assert.Equal(Of ISymbol)(comp.GetSpecialTypeMember(
SpecialMember
.System_Collections_IEnumerator__MoveNext), loopInfo0.MoveNextMethod)
1259
Assert.Equal(Of ISymbol)(comp.GetSpecialTypeMember(
SpecialMember
.System_IDisposable__Dispose), loopInfo0.DisposeMethod)
1265
Assert.Equal(Of ISymbol)(comp.GetSpecialTypeMember(
SpecialMember
.System_Collections_IEnumerable__GetEnumerator), loopInfo1.GetEnumeratorMethod) ' No longer using System.Array method.
Semantics\GetExtendedSemanticInfoTests.vb (19)
6220
Dim moveNext = DirectCast(compilation.GetSpecialType(System_Object).ContainingAssembly.GetSpecialTypeMember(
SpecialMember
.System_Collections_IEnumerator__MoveNext), MethodSymbol)
6221
Dim current = DirectCast(compilation.GetSpecialType(System_Object).ContainingAssembly.GetSpecialTypeMember(
SpecialMember
.System_Collections_IEnumerator__Current), PropertySymbol)
6222
Dim dispose = DirectCast(compilation.GetSpecialType(System_Object).ContainingAssembly.GetSpecialTypeMember(
SpecialMember
.System_IDisposable__Dispose), MethodSymbol)
6272
Dim moveNext = DirectCast(compilation.GetSpecialType(System_Object).ContainingAssembly.GetSpecialTypeMember(
SpecialMember
.System_Collections_IEnumerator__MoveNext), MethodSymbol)
6273
Dim current = DirectCast(compilation.GetSpecialType(System_Object).ContainingAssembly.GetSpecialTypeMember(
SpecialMember
.System_Collections_IEnumerator__Current), PropertySymbol)
6274
Dim dispose = DirectCast(compilation.GetSpecialType(System_Object).ContainingAssembly.GetSpecialTypeMember(
SpecialMember
.System_IDisposable__Dispose), MethodSymbol)
6322
Dim dispose = DirectCast(compilation.GetSpecialType(System_Object).ContainingAssembly.GetSpecialTypeMember(
SpecialMember
.System_IDisposable__Dispose), MethodSymbol)
6460
Dim dispose = DirectCast(compilation.GetSpecialType(System_Object).ContainingAssembly.GetSpecialTypeMember(
SpecialMember
.System_IDisposable__Dispose), MethodSymbol)
6537
Dim dispose = DirectCast(compilation.GetSpecialType(System_Object).ContainingAssembly.GetSpecialTypeMember(
SpecialMember
.System_IDisposable__Dispose), MethodSymbol)
6653
Dim getEnumerator = DirectCast(compilation.GetSpecialType(System_Object).ContainingAssembly.GetSpecialTypeMember(
SpecialMember
.System_Collections_IEnumerable__GetEnumerator), MethodSymbol)
6654
Dim moveNext = DirectCast(compilation.GetSpecialType(System_Object).ContainingAssembly.GetSpecialTypeMember(
SpecialMember
.System_Collections_IEnumerator__MoveNext), MethodSymbol)
6655
Dim current = DirectCast(compilation.GetSpecialType(System_Object).ContainingAssembly.GetSpecialTypeMember(
SpecialMember
.System_Collections_IEnumerator__Current), PropertySymbol)
6656
Dim dispose = DirectCast(compilation.GetSpecialType(System_Object).ContainingAssembly.GetSpecialTypeMember(
SpecialMember
.System_IDisposable__Dispose), MethodSymbol)
6712
Dim moveNext = DirectCast(compilation.GetSpecialType(System_Object).ContainingAssembly.GetSpecialTypeMember(
SpecialMember
.System_Collections_IEnumerator__MoveNext), MethodSymbol)
6714
Dim dispose = DirectCast(compilation.GetSpecialType(System_Object).ContainingAssembly.GetSpecialTypeMember(
SpecialMember
.System_IDisposable__Dispose), MethodSymbol)
6756
Dim moveNext = DirectCast(compilation.GetSpecialType(System_Object).ContainingAssembly.GetSpecialTypeMember(
SpecialMember
.System_Collections_IEnumerator__MoveNext), MethodSymbol)
6757
Dim dispose = DirectCast(compilation.GetSpecialType(System_Object).ContainingAssembly.GetSpecialTypeMember(
SpecialMember
.System_IDisposable__Dispose), MethodSymbol)
6843
Dim moveNext = DirectCast(compilation.GetSpecialType(System_Object).ContainingAssembly.GetSpecialTypeMember(
SpecialMember
.System_Collections_IEnumerator__MoveNext), MethodSymbol)
6844
Dim dispose = DirectCast(compilation.GetSpecialType(System_Object).ContainingAssembly.GetSpecialTypeMember(
SpecialMember
.System_IDisposable__Dispose), MethodSymbol)
Semantics\GetSemanticInfoTests.vb (1)
5173
Assert.Equal(compilation.GetSpecialTypeMember(
SpecialMember
.System_Object__ReferenceEquals), methodInfo.Symbol)
Microsoft.CodeAnalysis.VisualBasic.Symbol.UnitTests (20)
SymbolsTests\Source\EventTests.vb (2)
1933
compilation.MakeMemberMissing(
SpecialMember
.System_Delegate__Combine)
1934
compilation.MakeMemberMissing(
SpecialMember
.System_Delegate__Remove)
SymbolsTests\WellKnownTypeValidationTests.vb (18)
81
Assert.NotNull(comp.GetSpecialTypeMember(
SpecialMember
.System_Object__ToString))
82
Assert.NotNull(comp.GetSpecialTypeMember(
SpecialMember
.System_String__ConcatStringString))
88
Assert.Null(comp.GetSpecialTypeMember(
SpecialMember
.System_Object__ToString))
89
Assert.Null(comp.GetSpecialTypeMember(
SpecialMember
.System_String__ConcatStringString))
471
For Each special As
SpecialMember
In [Enum].GetValues(GetType(
SpecialMember
))
473
Case
SpecialMember
.System_IntPtr__op_Explicit_ToPointer,
474
SpecialMember
.System_IntPtr__op_Explicit_FromPointer,
475
SpecialMember
.System_UIntPtr__op_Explicit_ToPointer,
476
SpecialMember
.System_UIntPtr__op_Explicit_FromPointer
479
Case
SpecialMember
.Count
486
If special =
SpecialMember
.System_Runtime_CompilerServices_RuntimeFeature__DefaultImplementationsOfInterfaces OrElse
487
special =
SpecialMember
.System_Runtime_CompilerServices_RuntimeFeature__UnmanagedSignatureCallingConvention OrElse
488
special =
SpecialMember
.System_Runtime_CompilerServices_RuntimeFeature__CovariantReturnsOfClasses OrElse
489
special =
SpecialMember
.System_Runtime_CompilerServices_RuntimeFeature__VirtualStaticsInInterfaces OrElse
490
special =
SpecialMember
.System_Runtime_CompilerServices_RuntimeFeature__NumericIntPtr OrElse
491
special =
SpecialMember
.System_Runtime_CompilerServices_RuntimeFeature__ByRefFields OrElse
492
special =
SpecialMember
.System_Runtime_CompilerServices_PreserveBaseOverridesAttribute__ctor Then
Roslyn.Compilers.VisualBasic.IOperation.UnitTests (3)
IOperation\IOperationTests_IForLoopStatement.vb (1)
8930
compilation.MakeMemberMissing(
SpecialMember
.System_Nullable_T_GetValueOrDefault)
IOperation\IOperationTests_ISwitchOperation.vb (1)
10683
compilation.MakeMemberMissing(
SpecialMember
.System_Nullable_T_GetValueOrDefault)
IOperation\IOperationTests_IUsingStatement.vb (1)
1352
compilation.MakeMemberMissing(
SpecialMember
.System_IDisposable__Dispose)