Binding\Binder_Attributes.vb (24)
83Return New SourceAttributeData(Compilation, node.GetReference(), DirectCast(boundAttribute.Type, NamedTypeSymbol), boundAttribute.Constructor, args, namedArgs, isConditionallyOmitted, hasErrors:=visitor.HasErrors)
536Debug.Assert(TypeSymbol.Equals(lValue.Type, fieldOrPropType, TypeCompareKind.ConsiderEverything))
589Dim sourceType As TypeSymbol = expression.SourceType.Type
749If _binder.IsValidTypeForAttributeArgument(node.Type) Then
750Return CreateTypedConstant(node.Type, node.ConstantValueOpt.Value)
752Return CreateErrorTypedConstant(node.Type)
766Not _binder.IsValidTypeForAttributeArgument(conv.Operand.Type) Then
769ReportDiagnostic(diagBag, conv.Operand.Syntax, ERRID.ERR_RequiredAttributeConstConversion2, conv.Operand.Type, conv.Type)
771Return CreateErrorTypedConstant(node.Type)
780Not _binder.IsValidTypeForAttributeArgument(conv.Operand.Type) Then
783ReportDiagnostic(diagBag, conv.Operand.Syntax, ERRID.ERR_RequiredAttributeConstConversion2, conv.Operand.Type, conv.Type)
785Return CreateErrorTypedConstant(node.Type)
794Not _binder.IsValidTypeForAttributeArgument(conv.Operand.Type) Then
798ReportDiagnostic(diagBag, conv.Operand.Syntax, ERRID.ERR_RequiredAttributeConstConversion2, If(conv.Operand.Type, _binder.Compilation.GetSpecialType(SpecialType.System_Object)), conv.Type)
800Return CreateErrorTypedConstant(node.Type)
819Return CreateErrorTypedConstant(node.Type)
823Return CreateErrorTypedConstant(node.Type)
831Dim getTypeArgument = sourceType.Type
844Return CreateErrorTypedConstant(node.Type)
848Return CreateTypedConstant(node.Type, getTypeArgument)
852Dim type = DirectCast(node.Type, ArrayTypeSymbol)
Binding\Binder_Expressions.vb (94)
123Return New BoundTypeExpression(node, asType.UnevaluatedReceiverOpt, asType.AliasOpt, operand.Type, operand.HasErrors)
131Return New BoundParenthesized(node, reclassified, reclassified.Type)
133Return New BoundParenthesized(node, operand, operand.Type)
324Return New BoundBadExpression(wrappedBadExpression.Syntax, resultKind, wrappedBadExpression.Symbols, wrappedBadExpression.ChildBoundNodes, wrappedBadExpression.Type, hasErrors:=True)
326Return New BoundBadExpression(wrappedExpression.Syntax, resultKind, ImmutableArray(Of Symbol).Empty, ImmutableArray.Create(wrappedExpression), wrappedExpression.Type, hasErrors:=True)
380If boundArgument.Type IsNot Nothing Then
530Dim expressionType As TypeSymbol = expression.Type
771Dim operandType = operand.Type
950Dim type = receiver.Type
963If expr.Kind = BoundKind.ConditionalAccess AndAlso expr.Type Is Nothing Then
967Dim resultType As TypeSymbol = access.Type
1022Dim type = expr.Type
1066Dim type As TypeSymbol = typeExpr.Type
1137If result.Type IsNot classType Then
1157type:=access.Type,
1163access.SuppressVirtualCalls, access.ConstantsInProgressOpt, access.Type, access.HasErrors)
1171type:=[call].Type,
1239Return parenthesized.Update(enclosed, enclosed.Type)
1247If Not expr.IsValue OrElse expr.Type Is Nothing OrElse expr.Type.IsVoidType Then
1254Dim exprType = expr.Type
1320Debug.Assert(receiverOpt.Type IsNot Nothing)
1321Return receiverOpt.Type
1354Return parenthesized.Update(enclosed, enclosed.Type)
1371Dim exprType = expr.Type
1448Return parenthesized.Update(enclosed, enclosed.Type)
1743invocation.Type)
1764Not receiver.Type.IsValueType) ' If this logic changes, logic in UseTwiceRewriter.UseTwicePropertyAccess might need to change too.
1821base.Type.IsValueType Then
1845Dim receiverType = receiver.Type
1995(candidate.IsNothingLiteral OrElse (candidate.Type IsNot Nothing AndAlso candidate.Type.AllowsCompileTimeOperations()))
2011dominantType = If(boundFirstArg.Type, If(boundSecondArg.Type, GetSpecialType(SpecialType.System_Object, node, diagnostics)))
2013ElseIf boundFirstArg.Type IsNot Nothing AndAlso boundFirstArg.Type.IsNullableType AndAlso boundSecondArg.IsNothingLiteral Then
2015dominantType = boundFirstArg.Type
2021If boundFirstArg.Type IsNot Nothing AndAlso boundFirstArg.Type.IsNullableType AndAlso
2022Not (boundSecondArg.Type IsNot Nothing AndAlso boundSecondArg.Type.IsNullableType) Then
2027Dim underlyingType = boundFirstArg.Type.GetNullableUnderlyingType
2057dominantType = boundSecondArg.Type
2063dominantType = boundFirstArg.Type
2082If Not hasErrors AndAlso boundFirstArg.Type Is Nothing Then
2106Debug.Assert(hasErrors OrElse boundFirstArg.IsNothingLiteral OrElse boundFirstArg.Type IsNot Nothing)
2119If Not hasErrors AndAlso Not (boundFirstArg.IsNothingLiteral OrElse boundFirstArg.Type.IsNullableType OrElse boundFirstArg.Type.IsReferenceType) Then
2122If Not boundFirstArg.Type.IsValueType Then
2161placeholder = New BoundRValuePlaceholder(testExpression.Syntax, testExpression.Type.GetNullableUnderlyingTypeOrSelf())
2724Debug.Assert(boundValue.Type IsNot Nothing)
2725leftType = boundValue.Type
2729Debug.Assert(boundValue.Type IsNot Nothing)
2730leftType = boundValue.Type
2743If TypeSymbol.Equals(boundType.Type, leftType, TypeCompareKind.ConsiderEverything) Then
2798Dim leftTypeSymbol As TypeSymbol = left.Type
2902type = DirectCast(left, BoundTypeExpression).Type
2924type = left.Type
3675receiver = New BoundTypeAsValueExpression(receiver.Syntax, DirectCast(receiver, BoundTypeExpression), receiver.Type).MakeCompilerGenerated()
3760Dim type = left.Type
3834Dim type = expr.Type
3853ReportDiagnostic(diagnostics, expr.Syntax, ERRID.ERR_QualNotObjectRecord1, expr.Type)
3860ReportDiagnostic(diagnostics, expr.Syntax, ERRID.ERR_DefaultMemberNotProperty1, expr.Type)
3927Dim exprType = expr.Type
3936Dim arrayType As ArrayTypeSymbol = DirectCast(expr.Type, ArrayTypeSymbol)
4526Dim expressionType As TypeSymbol = expression.Type
4663operand.Type IsNot Nothing AndAlso
4664operand.Type.IsVoidType() AndAlso
4679ElseIf operand.Type.IsObjectType() Then
4699Dim awaitableInstancePlaceholder = New BoundRValuePlaceholder(operand.Syntax, operand.Type).MakeCompilerGenerated()
4706If operand.Type.IsObjectType Then
4709getAwaiter = BindLateBoundMemberAccess(node, WellKnownMemberNames.GetAwaiter, Nothing, awaitableInstancePlaceholder, operand.Type,
4713Debug.Assert(getAwaiter.Type.IsObjectType())
4714awaiterInstancePlaceholder = New BoundLValuePlaceholder(operand.Syntax, getAwaiter.Type).MakeCompilerGenerated()
4716isCompleted = BindLateBoundMemberAccess(node, WellKnownMemberNames.IsCompleted, Nothing, awaiterInstancePlaceholder, awaiterInstancePlaceholder.Type,
4720Debug.Assert(isCompleted.Type.IsObjectType())
4722getResult = BindLateBoundMemberAccess(node, WellKnownMemberNames.GetResult, Nothing, awaiterInstancePlaceholder, awaiterInstancePlaceholder.Type,
4725Debug.Assert(getResult.Type.IsObjectType())
4728Debug.Assert(operand.Type.IsErrorType() OrElse ignoreDiagnostics.DiagnosticBag.IsEmptyWithoutResolution())
4736LookupMember(lookupResult, awaitableInstancePlaceholder.Type, WellKnownMemberNames.GetAwaiter, 0, LookupOptions.AllMethodsOfAnyArity, useSiteInfo)
4769getAwaiter.Type.IsObjectType() Then
4784If getAwaiter IsNot Nothing AndAlso Not getAwaiter.Type.IsErrorType() Then
4786awaiterInstancePlaceholder = New BoundLValuePlaceholder(operand.Syntax, getAwaiter.Type).MakeCompilerGenerated()
4789LookupMember(lookupResult, awaiterInstancePlaceholder.Type, WellKnownMemberNames.IsCompleted, 0,
4817Not isCompleted.Type.IsBooleanType() Then
4835LookupMember(lookupResult, awaiterInstancePlaceholder.Type, WellKnownMemberNames.GetResult, 0,
4885Not Conversions.IsWideningConversion(Conversions.ClassifyDirectCastConversion(getAwaiter.Type, notifyCompletion, useSiteInfo)) Then
4886ReportDiagnostic(diagnostics, node, ERRID.ERR_DoesntImplementAwaitInterface2, getAwaiter.Type, notifyCompletion)
4898ReportDiagnostic(diagnostics, node, ERRID.ERR_BadGetAwaiterMethod1, operand.Type)
4902ElseIf getAwaiter.Type.IsErrorType() Then
4906ReportDiagnostic(diagnostics, node, ERRID.ERR_BadIsCompletedOnCompletedGetResult2, getAwaiter.Type, operand.Type)
4911awaiterInstancePlaceholder = New BoundLValuePlaceholder(node, getAwaiter.Type).MakeCompilerGenerated()
4931type:=getResult.Type, hasErrors)
Binding\Binder_Invocation.vb (22)
152type:=callExpr.Type,
229Dim diagInfo = ErrorFactory.ErrorInfo(GetTypeNotExpressionErrorId(typeExp.Type), typeExp.Type)
272Dim targetType As TypeSymbol = target.Type
296ReportDiagnostic(diagnostics, target.Syntax, ERRID.ERR_DelegateNoInvoke1, target.Type)
338If target.Type.SpecialType = SpecialType.System_Object OrElse
339target.Type.SpecialType = SpecialType.System_Array Then
525MemberLookup.LookupDefaultProperty(result, target.Type, Me, useSiteInfo)
549LookupMember(result, target.Type, StringConstants.ElementAtMethod, 0, options, useSiteInfo)
1035Not receiver.Type.IsErrorType() Then
1042Conversions.ClassifyConversion(targetType, receiver.Type, useSiteInfo),
1527Dim type = boundArguments(i).Type
2450(param.IsExplicitByRef OrElse (argument.Type IsNot Nothing AndAlso argument.Type.IsStringType())) Then
2487If Not (argument.IsLValue() AndAlso targetType.IsSameTypeIgnoringAll(argument.Type)) Then
2609If argument.Type Is Nothing Then
2614CustomSymbolDisplayFormatter.ShortErrorName(param), argument.Type, targetType)
2759Dim argType = argument.Type
2807(param.IsExplicitByRef OrElse (argument.Type IsNot Nothing AndAlso argument.Type.IsStringType())) Then
2850Dim inPlaceholder = New BoundByRefArgumentPlaceholder(argument.Syntax, isOutParameter, argument.Type, argument.HasErrors).MakeCompilerGenerated()
2947invocation.Type)
Binding\Binder_Operators.vb (21)
100Dim targetArgumentType As TypeSymbol = targetArgument.Type
260Dim leftType As TypeSymbol = left.Type
261Dim rightType As TypeSymbol = right.Type
460If left.Type.IsNullableType Then
464If right.Type.IsNullableType Then
478type:=conversion.Type)
506type:=conversion.Type)
623Return New BoundUserDefinedBinaryOperator(node, opKind, result, CheckOverflow, result.Type)
674operatorType = bitwise.Type
738left.Type, right.Type)
942resultType = conv.Type
947resultType = conv.Type
967Dim leftType = left.Type
968Dim rightType = right.Type
1060rightType = right.Type
1103leftType = left.Type
1185Dim operandType As TypeSymbol = operand.Type
1274Return New BoundUserDefinedUnaryOperator(node, opKind, result, result.Type)
1282If operand.Type.IsErrorType() Then
1286ReportDiagnostic(diagnostics, syntax, ErrorFactory.ErrorInfo(ERRID.ERR_UnaryOperand2, syntax.OperatorToken, operand.Type))
Binding\Binder_Query.vb (107)
174If Not source.Type.IsErrorType() AndAlso source.Kind = BoundKind.QueryableSource AndAlso
180Return New BoundQueryExpression(query, source, source.Type)
237aggregationSelector.Type,
239aggregationSelector.Type)
248Dim groupReference = New BoundRValuePlaceholder(aggregate, source.Type).MakeCompilerGenerated()
270result.Type,
272result.Type)
277Return New BoundQueryExpression(query, source, If(malformedSyntax, ErrorTypeSymbol.UnknownResultType, source.Type), hasErrors:=malformedSyntax)
338letSelectorLambdaSymbol.SetQueryLambdaReturnType(letSelector.Type)
344If source.Type.IsErrorType() Then
369letSelectorLambda.Expression.Type,
404firstSelectExpression.Type)
423firstSelectExpression.Type).MakeCompilerGenerated()
534selectSelectorLambdaSymbol.SetQueryLambdaReturnType(selectSelector.Type)
539If letOperator.Type.IsErrorType() Then
560selectSelectorLambda.Expression.Type,
562underlyingExpression.Type)
584Debug.Assert(Not source.Type.IsErrorType())
634boundCallOrBadExpression.Type).MakeCompilerGenerated()
677lambdaSymbol.SetQueryLambdaReturnType(selector.Type)
683If source.Type.IsErrorType() Then
702selectorLambda.Expression.Type,
704boundCallOrBadExpression.Type)
718Dim bodyType As TypeSymbol = lambda.Expression.Type
814lambdaSymbol.SetQueryLambdaReturnType(selector.Type)
820If source.Type.IsErrorType() Then
848selectorLambda.Expression.Type,
850boundCallOrBadExpression.Type)
1129joinSelectorLambdaSymbol.SetQueryLambdaReturnType(joinSelector.Type)
1135If source.Type.IsErrorType() Then
1164joinSelectorLambda.Expression.Type,
1166boundCallOrBadExpression.Type)
1294absorbingJoin.Type)
1308absorbingJoin.Type)
1511joinSelectorLambdaSymbol.SetQueryLambdaReturnType(joinSelector.Type)
1517If outer.Type.IsErrorType() Then
1523If inner.HasErrors OrElse inner.Type.IsErrorType() OrElse
1541joinSelectorLambda.Expression.Type,
1543boundCallOrBadExpression.Type)
1700If outer.Type.IsErrorType() OrElse methodGroup Is Nothing Then
1706If inner.HasErrors OrElse inner.Type.IsErrorType() OrElse
1727intoLambda.Expression.Type,
1729boundCallOrBadExpression.Type)
1780groupCompoundVariableType = itemsLambda.Expression.Type
1785Dim intoLambda As BoundQueryLambda = BindIntoSelectorLambda(groupBy, keysRangeVariables, keysLambda.Expression.Type, False, Nothing,
1806If source.Type.IsErrorType() OrElse methodGroup Is Nothing Then
1832intoLambda.Expression.Type,
1834boundCallOrBadExpression.Type)
1882itemsLambdaSymbol.SetQueryLambdaReturnType(itemsSelector.Type)
1926keysLambdaSymbol.SetQueryLambdaReturnType(keysSelector.Type)
1954If Not source.Type.IsErrorType() Then
1969keysLambda.Expression.Type,
2030If Not outer.Type.IsErrorType() Then
2043Not inner.HasErrors AndAlso Not inner.Type.IsErrorType() Then
2148intoLambdaSymbol.SetQueryLambdaReturnType(intoSelector.Type)
2333Dim predicateType As TypeSymbol = predicate.Type
2374If source.Type.IsErrorType() Then
2395boundCallOrBadExpression.Type)
2414If source.Type.IsErrorType() Then
2431boundCallOrBadExpression.Type)
2482If source.Type.IsErrorType() Then
2486If boundCount.HasErrors OrElse (boundCount.Type IsNot Nothing AndAlso boundCount.Type.IsErrorType()) Then
2503boundCallOrBadExpression.Type)
2571If sourceOrPreviousOrdering.Type.IsErrorType() Then
2611sourceOrPreviousOrdering = New BoundOrdering(ordering, boundCallOrBadExpression, boundCallOrBadExpression.Type)
2626sourceOrPreviousOrdering.Type)
2763declaredRangeVariables = ImmutableArray.Create(RangeVariableSymbol.CreateForErrorRecovery(Me, selectorSyntax, selector.Type))
2875rangeVar = RangeVariableSymbol.Create(Me, rangeVarNameSyntax, selector.Type)
2889selector = New BoundRangeVariableAssignment(item, rangeVar, selector, selector.Type)
2909rangeVar = RangeVariableSymbol.CreateForErrorRecovery(Me, rangeVar.Syntax, selector.Type)
2917rangeVar = RangeVariableSymbol.CreateForErrorRecovery(Me, item, selector.Type)
3088groupRangeVar = RangeVariableSymbol.CreateCompilerGenerated(Me, aggregate, GeneratedNameConstants.Group, group.Type)
3318If outerKey.Type IsNot ErrorTypeSymbol.UnknownResultType Then
3321If innerKey.Type IsNot ErrorTypeSymbol.UnknownResultType Then
3350"Key" & i.ToString(), outerKeys(i).Type, joinConditions(i).GetLocation(), isKeyOrByRef:=True)
3463keysAreGood = Not (outerKey.Type.IsErrorType() OrElse innerKey.Type.IsErrorType())
3466If keysAreGood AndAlso Not outerKey.Type.IsSameTypeIgnoringAll(innerKey.Type) Then
3486targetType = innerKeyBinder.GetSpecialTypeForBinaryOperator(joinCondition, outerKey.Type, innerKey.Type, intrinsicOperatorType,
3491inferenceCollection.AddType(outerKey.Type, RequiredConversion.Any, outerKey)
3492inferenceCollection.AddType(innerKey.Type, RequiredConversion.Any, innerKey)
3510ReportDiagnostic(diagnostics, joinCondition, ERRID.ERR_EqualsTypeMismatch, outerKey.Type, innerKey.Type)
3756Return New BoundGroupAggregation(group, m_GroupReference, m_GroupReference.Type)
3807compoundKeyReferencePart1.Type,
3817compoundKeyReferencePart1.Type,
3823compoundKeyReferencePart2.Type,
3953If m_GroupReference.Type.IsErrorType() OrElse String.IsNullOrEmpty(functionAggregationSyntax.FunctionName.ValueText) Then
3974boundCallOrBadExpression.Type,
3976boundCallOrBadExpression.Type)
3986m_GroupReference.Type,
3997m_GroupReference.Type,
4055rangeVar = RangeVariableSymbol.Create(Me, rangeVarNameSyntax, selector.Type)
4068selector = New BoundRangeVariableAssignment(item, rangeVar, selector, selector.Type)
4079rangeVar = RangeVariableSymbol.CreateForErrorRecovery(Me, rangeVar.Syntax, selector.Type)
4084rangeVar = RangeVariableSymbol.CreateForErrorRecovery(Me, item, selector.Type)
4137ReportDiagnostic(diagnostics, syntax.Expression, ERRID.ERR_ExpectedQueryableSource, source.Type)
4235If(sourceIsNotQueryable, ErrorTypeSymbol.UnknownResultType, source.Type),
4252If source.Type.IsErrorType() Then
4305boundCallOrBadExpression.Type).MakeCompilerGenerated()
4325If Not source.IsValue OrElse source.Type.IsErrorType Then
4424LookupMember(lookupResult, source.Type, StringConstants.SelectMethod, 0, QueryOperatorLookupOptions, useSiteInfo)
4445Me.LookupExtensionMethods(lookupResult, source.Type, StringConstants.SelectMethod, 0, QueryOperatorLookupOptions, useSiteInfo)
4557LookupMember(lookupResult, source.Type, operatorName, 0, QueryOperatorLookupOptions, useSiteInfo)
Binding\Binder_Statements.vb (61)
742Dim redimTargetType = redimTarget.Type
806clause = New BoundAssignmentOperator(operand, target, nothingLiteral, False, target.Type, hasErrors:=True).MakeCompilerGenerated()
808ElseIf Not target.Type.IsErrorType() AndAlso
809Not target.Type.IsArrayType() AndAlso
810target.Type.SpecialType <> SpecialType.System_Array AndAlso
811target.Type.SpecialType <> SpecialType.System_Object Then
814clause = New BoundAssignmentOperator(operand, target, nothingLiteral, False, target.Type, hasErrors:=True).MakeCompilerGenerated()
818ApplyImplicitConversion(operand, target.Type, nothingLiteral, diagnostics).MakeCompilerGenerated(),
1225Debug.Assert(declarationInitializer.Type.IsSameTypeIgnoringAll(declType))
1241Not type.IsSameTypeIgnoringAll(declarationInitializer.Type) Then
1243declarationInitializer = BadExpression(asNew, declarationInitializer, declarationInitializer.Type).MakeCompilerGenerated()
1339asClauseType = valueExpression.Type
1406inferredType = inferFrom.Type
1435Dim valueType = valueExpression.Type
1437type = valueExpression.Type
2010Dim targetType As TypeSymbol = op1.Type
2047Dim targetType As TypeSymbol = assignmentTarget.Type
2143ApplyImplicitConversion(node.Right, op1.Type, op2, diagnostics, False),
2145op1.Type,
2151expr = New BoundAssignmentOperator(node, op1, op2, False, op1.Type, hasErrors:=True)
2234Dim targetType As TypeSymbol = assignmentTarget.Type
2251New BoundParenthesized(midExpression, original, original.Type),
2497Debug.Assert(TypeSymbol.Equals(targetAsEvent.Type, eventField.Type, TypeCompareKind.ConsiderEverything) OrElse eventSym.IsWindowsRuntimeEvent, "non-WinRT event should have the same type as its backing field")
2640Not boundExpression.Type.IsErrorType() AndAlso
2641Not boundExpression.Type.IsVoidType() AndAlso
2642Not boundExpression.Type.IsObjectType() Then
2672If IsOrInheritsFromOrImplementsInterface(boundExpression.Type, WellKnownType.Windows_Foundation_IAsyncAction, useSiteInfo:=useSiteInfo) OrElse
2673IsOrInheritsFromOrImplementsInterface(boundExpression.Type, WellKnownType.Windows_Foundation_IAsyncActionWithProgress_T, useSiteInfo:=useSiteInfo) OrElse
2674IsOrInheritsFromOrImplementsInterface(boundExpression.Type, WellKnownType.Windows_Foundation_IAsyncOperation_T, useSiteInfo:=useSiteInfo) OrElse
2675IsOrInheritsFromOrImplementsInterface(boundExpression.Type, WellKnownType.Windows_Foundation_IAsyncOperationWithProgress_T2, useSiteInfo:=useSiteInfo) Then
2746Debug.Assert(boundInvocation.Type Is Nothing)
3136Dim targetType = controlVariableOpt.Type
3291ReportDiagnostic(diagnostics, syntax, ERRID.ERR_ForLoopOperatorRequired2, left.Type, SyntaxFacts.GetText(OverloadResolution.GetOperatorTokenKind(opCode)))
3297If Not bestCandidate.Parameters(0).Type.IsSameTypeIgnoringAll(left.Type) OrElse
3298Not bestCandidate.Parameters(1).Type.IsSameTypeIgnoringAll(left.Type) OrElse
3299(Not isRelational AndAlso Not bestCandidate.ReturnType.IsSameTypeIgnoringAll(left.Type)) Then
3304left.Type.GetNullableUnderlyingTypeOrSelf(),
3305left.Type))
3309left.Type.GetNullableUnderlyingTypeOrSelf(),
3310left.Type))
3443Dim controlVariableType = controlVariableOpt.Type
3491Dim enumeratorType = boundGetEnumeratorCall.Type
3612controlVariable.Type,
3737Dim collectionType As TypeSymbol = collection.Type
3835collectionType = collection.Type
3899If(collectionType IsNot Nothing AndAlso collectionType.IsStringType, collectionType, collection.Type))
3911Dim enumeratorType = boundGetEnumeratorCall.Type
3968currentType = boundCurrentAccess.Type
3992Not boundGetEnumeratorCall.HasErrors AndAlso Not boundGetEnumeratorCall.Type.IsErrorType Then
3994Dim getEnumeratorReturnType = boundGetEnumeratorCall.Type
4113collectionPlaceholder = New BoundRValuePlaceholder(collectionSyntax, collection.Type)
4132Dim enumeratorType As TypeSymbol = boundGetEnumeratorCall.Type
4203currentType = boundCurrentAccess.Type
4521Dim resourceExpressionType = resourceExpression.Type
4524resourceExpression.Type,
4728Dim lockExpressionType = lockExpression.Type
4813If Not exceptionSource.IsValue OrElse exceptionSource.Type Is Nothing OrElse exceptionSource.Type.IsVoidType Then
4817exceptionType = exceptionSource.Type
5059If isAsync AndAlso Not retType.IsErrorType() AndAlso methodReturnType.Equals(arg.Type) AndAlso
5216Dim exceptionType = value.Type
Binding\Binder_XmlLiterals.vb (23)
29Return New BoundXmlComment(syntax, str, objectCreation, objectCreation.Type)
53Return New BoundXmlDocument(syntax, declaration, childNodes, rewriterInfo, objectCreation.Type, rewriterInfo.HasErrors)
65Return New BoundXmlDeclaration(syntax, version, encoding, standalone, objectCreation, objectCreation.Type)
85Return New BoundXmlProcessingInstruction(syntax, target, data, objectCreation, objectCreation.Type)
180If argument.Type.IsObjectType AndAlso OptionStrict <> VisualBasic.OptionStrict.On Then
213Return New BoundXmlElement(syntax, argument, childNodes, rewriterInfo, objectCreation.Type, rewriterInfo.HasErrors)
227Dim placeholder = (New BoundRValuePlaceholder(syntax, objectCreation.Type)).MakeCompilerGenerated()
276Debug.Assert(expr.Type IsNot Nothing)
283Not expr.Type.IsIntrinsicOrEnumType() Then
326xmlnsAttributes = BindObjectCreationExpression(syntax, xmlnsAttributesPlaceholder.Type, ImmutableArray(Of BoundExpression).Empty, diagnostics).MakeCompilerGenerated()
434Dim result = New BoundXmlAttribute(syntax, prefix, [namespace], matchesImport, objectCreation, objectCreation.Type, hasErrors)
507Return New BoundXmlAttribute(syntax, name, value, matchesImport, objectCreation, objectCreation.Type)
544Debug.Assert(expr.Type IsNot Nothing)
545Return New BoundXmlEmbeddedExpression(syntax, expr, expr.Type)
643Dim receiverType = receiver.Type
677Return New BoundXmlMemberAccess(syntax, memberAccess, memberAccess.Type)
693Dim receiverType = receiver.Type
737Return New BoundXmlMemberAccess(syntax, memberAccess, memberAccess.Type)
859Return New BoundXmlName(syntax, [namespace], localName, objectCreation, objectCreation.Type)
895Return New BoundXmlNamespace(syntax, [namespace], objectCreation, objectCreation.Type)
921Return New BoundXmlCData(syntax, value, objectCreation, objectCreation.Type)
961receiverOpt.Type.IsErrorType() OrElse
962receiverOpt.Type.IsOrDerivedFrom(type, CompoundUseSiteInfo(Of AssemblySymbol).Discarded))
CodeGen\EmitExpression.vb (102)
42EmitConstantExpression(expression.Type, constantValue, used, expression.Syntax)
215Debug.Assert(Not expression.Type.IsValueType)
217If used AndAlso Not expression.Type.IsReferenceType Then
218EmitLoadIndirect(expression.Type, expression.Syntax)
225Debug.Assert(Not expression.Type.IsReferenceType)
226Debug.Assert(Not expression.Type.IsValueType)
228Dim receiverType = expression.Type
254Dim receiverType As TypeSymbol = receiver.Type
424Debug.Assert(Not expression.Type.IsReferenceType)
425Debug.Assert(Not expression.Type.IsValueType)
427Dim receiverType = expression.Type
449EmitDelegateCreation(expression.ReceiverOpt, invoke, expression.Type, used, expression.Syntax)
466EmitLoadIndirect(local.Type, local.Syntax)
484If Not IsVerifierReference(receiver.Type) Then
485EmitBox(receiver.Type, receiver.Syntax)
518Dim thisType = thisRef.Type
524EmitSymbolToken(thisRef.Type, thisRef.Syntax)
544Debug.Assert(sequence.ValueOpt IsNot Nothing OrElse sequence.Type.SpecialType = SpecialType.System_Void)
591If DirectCast(arrayAccess.Expression.Type, ArrayTypeSymbol).IsSZArray Then
592Dim elementType = arrayAccess.Type
652_builder.EmitArrayElementLoad(_module.Translate(DirectCast(arrayAccess.Expression.Type, ArrayTypeSymbol)), arrayAccess.Expression.Syntax)
663If Not used AndAlso Not field.IsShared AndAlso fieldAccess.ReceiverOpt.Type.IsVerifierValue() Then
692EmitLoadIndirect(dupExpression.Type, dupExpression.Syntax)
717Debug.Assert(temp Is Nothing OrElse receiver.Type.IsEnumType, "temp is unexpected, just reading a field")
743If receiver Is Nothing OrElse receiver.Type.IsReferenceType Then
749EmitSymbolToken(receiver.Type, receiver.Syntax)
772If Not receiver.Type.IsVerifierValue() Then
809If expr.Type.IsEnumType Then
814Return expr.Type.IsTypeParameter()
897If receiver.Type.IsTypeParameter() Then
901Debug.Assert(IsVerifierReference(receiver.Type), "this is not a reference")
923If Not IsVerifierReference(convOperand.Type) Then
1012Dim receiverType = receiver.Type
1093Debug.Assert(receiver.Type.IsVerifierReference())
1098Debug.Assert(receiver.Type.IsVerifierReference())
1113EmitSymbolToken(receiver.Type, receiver.Syntax)
1199Dim receiverType = receiver.Type
1263Dim receiverType = receiver.Type
1334Debug.Assert(operand.Type.IsReferenceType AndAlso Not operand.Type.IsTypeParameter(), "operand.Type.IsReferenceType")
1340Dim typeFrom = operand.Type
1383(IsSimpleType(expr.Type.PrimitiveTypeCode) OrElse expr.Type.PrimitiveTypeCode = Cci.PrimitiveTypeCode.Char) AndAlso
1389Dim toType = expr.Type.PrimitiveTypeCode
1424If (IsVarianceCast(expr.Type, mergeTypeOfAlternative)) Then
1425EmitStaticCast(expr.Type, expr.Syntax)
1426mergeTypeOfAlternative = expr.Type
1441If (IsVarianceCast(expr.Type, mergeTypeOfConsequence)) Then
1442EmitStaticCast(expr.Type, expr.Syntax)
1443mergeTypeOfConsequence = expr.Type
1445ElseIf (expr.Type.IsInterfaceType() AndAlso Not TypeSymbol.Equals(expr.Type, mergeTypeOfAlternative, TypeCompareKind.ConsiderEverything) AndAlso Not TypeSymbol.Equals(expr.Type, mergeTypeOfConsequence, TypeCompareKind.ConsiderEverything)) Then
1446EmitStaticCast(expr.Type, expr.Syntax)
1467Debug.Assert(TypeSymbol.Equals(expr.Type, expr.ElseExpression.Type, TypeCompareKind.ConsiderEverything))
1468Debug.Assert(Not expr.Type.IsValueType)
1475If (IsVarianceCast(expr.Type, mergeTypeOfLeftValue)) Then
1476EmitStaticCast(expr.Type, expr.Syntax)
1477mergeTypeOfLeftValue = expr.Type
1483If (expr.Type.IsTypeParameter()) Then
1484EmitBox(expr.Type, expr.TestExpression.Syntax)
1497If (IsVarianceCast(expr.Type, mergeTypeOfRightValue)) Then
1498EmitStaticCast(expr.Type, expr.Syntax)
1499mergeTypeOfRightValue = expr.Type
1500ElseIf (expr.Type.IsInterfaceType() AndAlso Not TypeSymbol.Equals(expr.Type, mergeTypeOfLeftValue, TypeCompareKind.ConsiderEverything) AndAlso Not TypeSymbol.Equals(expr.Type, mergeTypeOfRightValue, TypeCompareKind.ConsiderEverything)) Then
1501EmitStaticCast(expr.Type, expr.Syntax)
1525If (Not (expr.Type.IsArrayType OrElse expr.Type.IsInterfaceType OrElse expr.Type.IsDelegateType)) Then
1526Return expr.Type
1575Return expr.Type
1625Dim arrayType = DirectCast(expression.Type, ArrayTypeSymbol)
1644Debug.Assert(expression.Type.SpecialType = SpecialType.System_Int32 OrElse expression.Type.SpecialType = SpecialType.System_Int64 OrElse expression.Type.SpecialType = SpecialType.System_UIntPtr)
1649Dim typeTo = expression.Type.PrimitiveTypeCode
1666EmitInitObj(expression.Type, used, expression.Syntax)
1718EmitInitObj(target.Type, True, target.Syntax)
1727EmitSymbolToken(target.Type, target.Syntax)
1823Dim rightType = right.Type
1854Return AllowedToTakeRef(left, AddressKind.Writeable) AndAlso Not (left.Kind = BoundKind.ArrayAccess AndAlso left.Type.TypeKind = TypeKind.TypeParameter)
1862Me.EmitSymbolToken(target.Type, target.Syntax)
2000temp = Me.AllocateTemp(assignmentOperator.Left.Type, assignmentOperator.Left.Syntax)
2036EmitLoadIndirect(capture.Type, capture.Syntax)
2059EmitStoreIndirect(expression.Type, expression.Syntax)
2063Dim arrayType = DirectCast(array.Type, ArrayTypeSymbol)
2086EmitStoreIndirect(expression.Type, expression.Syntax)
2100Debug.Assert(thisRef.Type.IsValueType)
2103EmitSymbolToken(thisRef.Type, thisRef.Syntax)
2245Dim type As TypeSymbol = boundTypeOfOperator.SourceType.Type
2275If Not TypeSymbol.Equals(node.Type, getField.ReturnType, TypeCompareKind.ConsiderEverything) Then
2277EmitSymbolToken(node.Type, node.Syntax)
2306If Not TypeSymbol.Equals(node.Type, node.GetMethodFromHandle.ReturnType, TypeCompareKind.ConsiderEverything) Then
2308EmitSymbolToken(node.Type, node.Syntax)
2326Debug.Assert(node.Type.SpecialType = SpecialType.System_Int32)
2342Debug.Assert(node.Type.SpecialType = SpecialType.System_Int32)
2358_builder.EmitToken(_module.GetModuleVersionId(_module.Translate(node.Type, node.Syntax, _diagnostics), node.Syntax, _diagnostics), node.Syntax)
2377_builder.EmitToken(_module.GetInstrumentationPayloadRoot(node.AnalysisKind, _module.Translate(node.Type, node.Syntax, _diagnostics), node.Syntax, _diagnostics), node.Syntax)
2381Debug.Assert(node.Type.SpecialType = SpecialType.System_Int32)
CodeGen\Optimizer\StackScheduler.Analyzer.vb (22)
383value, node.Type)
532Debug.Assert(node.ByRefLocal.Type.IsSameTypeIgnoringAll(node.LValue.Type),
537Return node.Update(left, right, node.IsLValue, node.Type)
577Dim leftType As TypeSymbol = left.Type
602Debug.Assert(node.Left.Type.IsSameTypeIgnoringAll(node.Right.Type),
610Return node.Update(left, Nothing, right, node.SuppressObjectClone, node.Type)
663Dim receiverType = receiver.Type
698type:=node.Type)
738Return node.Update(constructor, rewrittenArguments, node.DefaultArguments, Nothing, node.Type)
760If receiver.Type.IsTypeParameter Then
766If receiver.Type.IsValueType AndAlso
781Return node.Update(receiver, field, node.IsLValue, node.SuppressVirtualCalls, constantsInProgressOpt:=Nothing, node.Type)
821Return node.Update(testExpression, Nothing, Nothing, elseExpression, node.ConstantValueOpt, node.Type)
840Return node.Update(condition, whenTrue, whenFalse, node.ConstantValueOpt, node.Type)
871Return node.Update(receiver, node.CaptureReceiver, node.PlaceholderId, whenNotNull, whenNull, node.Type)
897Return node.Update(valueTypeReceiver, referenceTypeReceiver, node.Type)
955Dim type As TypeSymbol = Me.VisitType(binary.Type)
990Return node.Update(node.OperatorKind, left, right, node.Checked, node.ConstantValueOpt, node.Type)
1004Return node.Update(node.OperatorKind, operand, node.Checked, node.ConstantValueOpt, node.Type)
1143Return node.Update(If(rewrittenInitializers IsNot Nothing, rewrittenInitializers.ToImmutableAndFree(), initializers), node.Type)
CodeGen\Optimizer\StackScheduler.Rewriter.vb (6)
90Dim type As TypeSymbol = Me.VisitType(binary.Type)
122Return New BoundDup(node.Syntax, node.LocalSymbol.IsByRef, node.Type)
162Return node.Update(left, right, node.IsLValue, node.Type)
172Return node.Update(left, Nothing, right, node.SuppressObjectClone, node.Type)
222Return node.Update(left, node.LeftOnTheRightOpt, right, node.SuppressObjectClone, node.Type)
235Return node.Update(receiver, node.CaptureReceiver, node.PlaceholderId, whenNotNull, whenNullOpt, node.Type)
Generated\BoundNodes.xml.Generated.vb (344)
279If type IsNot Me.Type Then
338If underlyingLValue IsNot Me.UnderlyingLValue OrElse type IsNot Me.Type Then
409If type IsNot Me.Type Then
442If type IsNot Me.Type Then
482If type IsNot Me.Type Then
522If type IsNot Me.Type Then
558If isReference <> Me.IsReference OrElse type IsNot Me.Type Then
614If resultKind <> Me.ResultKind OrElse symbols <> Me.Symbols OrElse childBoundNodes <> Me.ChildBoundNodes OrElse type IsNot Me.Type Then
687If expression IsNot Me.Expression OrElse type IsNot Me.Type Then
729If expression IsNot Me.Expression OrElse isLValue <> Me.IsLValue OrElse type IsNot Me.Type Then
786If expression IsNot Me.Expression OrElse indices <> Me.Indices OrElse isLValue <> Me.IsLValue OrElse type IsNot Me.Type Then
821If expression IsNot Me.Expression OrElse type IsNot Me.Type Then
864If sourceType IsNot Me.SourceType OrElse getTypeFromHandle IsNot Me.GetTypeFromHandle OrElse type IsNot Me.Type Then
908If field IsNot Me.Field OrElse type IsNot Me.Type Then
963If method IsNot Me.Method OrElse getMethodFromHandle IsNot Me.GetMethodFromHandle OrElse type IsNot Me.Type Then
1005If unevaluatedReceiverOpt IsNot Me.UnevaluatedReceiverOpt OrElse aliasOpt IsNot Me.AliasOpt OrElse type IsNot Me.Type Then
1047If data <> Me.Data OrElse type IsNot Me.Type Then
1146If method IsNot Me.Method OrElse type IsNot Me.Type Then
1179If type IsNot Me.Type Then
1230If analysisKind <> Me.AnalysisKind OrElse isLValue <> Me.IsLValue OrElse type IsNot Me.Type Then
1272If isLValue <> Me.IsLValue OrElse type IsNot Me.Type Then
1305If type IsNot Me.Type Then
1349If document IsNot Me.Document OrElse type IsNot Me.Type Then
1413If operatorKind <> Me.OperatorKind OrElse operand IsNot Me.Operand OrElse checked <> Me.Checked OrElse constantValueOpt IsNot Me.ConstantValueOpt OrElse type IsNot Me.Type Then
1461If operatorKind <> Me.OperatorKind OrElse underlyingExpression IsNot Me.UnderlyingExpression OrElse type IsNot Me.Type Then
1501If operand IsNot Me.Operand OrElse type IsNot Me.Type Then
1574If operatorKind <> Me.OperatorKind OrElse left IsNot Me.Left OrElse right IsNot Me.Right OrElse checked <> Me.Checked OrElse constantValueOpt IsNot Me.ConstantValueOpt OrElse type IsNot Me.Type Then
1630If operatorKind <> Me.OperatorKind OrElse underlyingExpression IsNot Me.UnderlyingExpression OrElse checked <> Me.Checked OrElse type IsNot Me.Type Then
1694If leftOperand IsNot Me.LeftOperand OrElse leftOperandPlaceholder IsNot Me.LeftOperandPlaceholder OrElse leftTest IsNot Me.LeftTest OrElse bitwiseOperator IsNot Me.BitwiseOperator OrElse type IsNot Me.Type Then
1727If type IsNot Me.Type Then
1792If left IsNot Me.Left OrElse leftOnTheRightOpt IsNot Me.LeftOnTheRightOpt OrElse right IsNot Me.Right OrElse suppressObjectClone <> Me.SuppressObjectClone OrElse type IsNot Me.Type Then
1848If byRefLocal IsNot Me.ByRefLocal OrElse lValue IsNot Me.LValue OrElse isLValue <> Me.IsLValue OrElse type IsNot Me.Type Then
1965If condition IsNot Me.Condition OrElse whenTrue IsNot Me.WhenTrue OrElse whenFalse IsNot Me.WhenFalse OrElse constantValueOpt IsNot Me.ConstantValueOpt OrElse type IsNot Me.Type Then
2038If testExpression IsNot Me.TestExpression OrElse convertedTestExpression IsNot Me.ConvertedTestExpression OrElse testExpressionPlaceholder IsNot Me.TestExpressionPlaceholder OrElse elseExpression IsNot Me.ElseExpression OrElse constantValueOpt IsNot Me.ConstantValueOpt OrElse type IsNot Me.Type Then
2137If operand IsNot Me.Operand OrElse conversionKind <> Me.ConversionKind OrElse checked <> Me.Checked OrElse explicitCastInCode <> Me.ExplicitCastInCode OrElse constantValueOpt IsNot Me.ConstantValueOpt OrElse extendedInfoOpt IsNot Me.ExtendedInfoOpt OrElse type IsNot Me.Type Then
2288If underlyingExpression IsNot Me.UnderlyingExpression OrElse inOutConversionFlags <> Me.InOutConversionFlags OrElse type IsNot Me.Type Then
2360If operand IsNot Me.Operand OrElse conversionKind <> Me.ConversionKind OrElse suppressVirtualCalls <> Me.SuppressVirtualCalls OrElse constantValueOpt IsNot Me.ConstantValueOpt OrElse relaxationLambdaOpt IsNot Me.RelaxationLambdaOpt OrElse type IsNot Me.Type Then
2424If operand IsNot Me.Operand OrElse conversionKind <> Me.ConversionKind OrElse constantValueOpt IsNot Me.ConstantValueOpt OrElse relaxationLambdaOpt IsNot Me.RelaxationLambdaOpt OrElse type IsNot Me.Type Then
2476If operand IsNot Me.Operand OrElse isTypeOfIsNotExpression <> Me.IsTypeOfIsNotExpression OrElse targetType IsNot Me.TargetType OrElse type IsNot Me.Type Then
2554If expression IsNot Me.Expression OrElse type IsNot Me.Type Then
3105If method IsNot Me.Method OrElse methodGroupOpt IsNot Me.MethodGroupOpt OrElse receiverOpt IsNot Me.ReceiverOpt OrElse arguments <> Me.Arguments OrElse defaultArguments <> Me.DefaultArguments OrElse constantValueOpt IsNot Me.ConstantValueOpt OrElse isLValue <> Me.IsLValue OrElse suppressObjectClone <> Me.SuppressObjectClone OrElse type IsNot Me.Type Then
3173If constructor IsNot Me.Constructor OrElse constructorArguments <> Me.ConstructorArguments OrElse constructorDefaultArguments <> Me.ConstructorDefaultArguments OrElse namedArguments <> Me.NamedArguments OrElse resultKind <> Me.ResultKind OrElse type IsNot Me.Type Then
3244If nameOpt IsNot Me.NameOpt OrElse containerTypeOpt IsNot Me.ContainerTypeOpt OrElse receiverOpt IsNot Me.ReceiverOpt OrElse typeArgumentsOpt IsNot Me.TypeArgumentsOpt OrElse accessKind <> Me.AccessKind OrElse type IsNot Me.Type Then
3316If member IsNot Me.Member OrElse argumentsOpt <> Me.ArgumentsOpt OrElse argumentNamesOpt <> Me.ArgumentNamesOpt OrElse accessKind <> Me.AccessKind OrElse methodOrPropertyGroupOpt IsNot Me.MethodOrPropertyGroupOpt OrElse type IsNot Me.Type Then
3359If binder IsNot Me.Binder OrElse memberAccess IsNot Me.MemberAccess OrElse type IsNot Me.Type Then
3429If inferredType IsNot Me.InferredType OrElse argumentNamesOpt <> Me.ArgumentNamesOpt OrElse inferredNamesOpt <> Me.InferredNamesOpt OrElse arguments <> Me.Arguments OrElse type IsNot Me.Type Then
3464If naturalTypeOpt IsNot Me.NaturalTypeOpt OrElse arguments <> Me.Arguments OrElse type IsNot Me.Type Then
3553If constructorOpt IsNot Me.ConstructorOpt OrElse methodGroupOpt IsNot Me.MethodGroupOpt OrElse arguments <> Me.Arguments OrElse defaultArguments <> Me.DefaultArguments OrElse initializerOpt IsNot Me.InitializerOpt OrElse type IsNot Me.Type Then
3587If guidString IsNot Me.GuidString OrElse initializerOpt IsNot Me.InitializerOpt OrElse type IsNot Me.Type Then
3638If binderOpt IsNot Me.BinderOpt OrElse declarations <> Me.Declarations OrElse arguments <> Me.Arguments OrElse type IsNot Me.Type Then
3689If binder IsNot Me.Binder OrElse propertyIndex <> Me.PropertyIndex OrElse type IsNot Me.Type Then
3732If binder IsNot Me.Binder OrElse value IsNot Me.Value OrElse type IsNot Me.Type Then
3799If createTemporaryLocalForInitialization <> Me.CreateTemporaryLocalForInitialization OrElse placeholderOpt IsNot Me.PlaceholderOpt OrElse initializers <> Me.Initializers OrElse type IsNot Me.Type Then
3830If placeholderOpt IsNot Me.PlaceholderOpt OrElse initializers <> Me.Initializers OrElse type IsNot Me.Type Then
3861If initializerOpt IsNot Me.InitializerOpt OrElse type IsNot Me.Type Then
3928If receiverOpt IsNot Me.ReceiverOpt OrElse method IsNot Me.Method OrElse relaxationLambdaOpt IsNot Me.RelaxationLambdaOpt OrElse relaxationReceiverPlaceholderOpt IsNot Me.RelaxationReceiverPlaceholderOpt OrElse methodGroupOpt IsNot Me.MethodGroupOpt OrElse type IsNot Me.Type Then
4000If isParamArrayArgument <> Me.IsParamArrayArgument OrElse bounds <> Me.Bounds OrElse initializerOpt IsNot Me.InitializerOpt OrElse arrayLiteralOpt IsNot Me.ArrayLiteralOpt OrElse arrayLiteralConversion <> Me.ArrayLiteralConversion OrElse type IsNot Me.Type Then
4111If initializers <> Me.Initializers OrElse type IsNot Me.Type Then
4183If receiverOpt IsNot Me.ReceiverOpt OrElse fieldSymbol IsNot Me.FieldSymbol OrElse isLValue <> Me.IsLValue OrElse suppressVirtualCalls <> Me.SuppressVirtualCalls OrElse constantsInProgressOpt IsNot Me.ConstantsInProgressOpt OrElse type IsNot Me.Type Then
4280If propertySymbol IsNot Me.PropertySymbol OrElse propertyGroupOpt IsNot Me.PropertyGroupOpt OrElse accessKind <> Me.AccessKind OrElse isWriteable <> Me.IsWriteable OrElse isLValue <> Me.IsLValue OrElse receiverOpt IsNot Me.ReceiverOpt OrElse arguments <> Me.Arguments OrElse defaultArguments <> Me.DefaultArguments OrElse type IsNot Me.Type Then
4323If receiverOpt IsNot Me.ReceiverOpt OrElse eventSymbol IsNot Me.EventSymbol OrElse type IsNot Me.Type Then
4853If locals <> Me.Locals OrElse sideEffects <> Me.SideEffects OrElse valueOpt IsNot Me.ValueOpt OrElse type IsNot Me.Type Then
5921If value IsNot Me.Value OrElse type IsNot Me.Type Then
5954If type IsNot Me.Type Then
5994If type IsNot Me.Type Then
6027If type IsNot Me.Type Then
6060If type IsNot Me.Type Then
6104If sourceType IsNot Me.SourceType OrElse type IsNot Me.Type Then
6137If type IsNot Me.Type Then
6197If localSymbol IsNot Me.LocalSymbol OrElse isLValue <> Me.IsLValue OrElse type IsNot Me.Type Then
6268If localSymbol IsNot Me.LocalSymbol OrElse isLValue <> Me.IsLValue OrElse emitExpressions IsNot Me.EmitExpressions OrElse type IsNot Me.Type Then
6330If parameterSymbol IsNot Me.ParameterSymbol OrElse isLValue <> Me.IsLValue OrElse suppressVirtualCalls <> Me.SuppressVirtualCalls OrElse type IsNot Me.Type Then
6372If isOut <> Me.IsOut OrElse type IsNot Me.Type Then
6447If originalArgument IsNot Me.OriginalArgument OrElse inConversion IsNot Me.InConversion OrElse inPlaceholder IsNot Me.InPlaceholder OrElse outConversion IsNot Me.OutConversion OrElse outPlaceholder IsNot Me.OutPlaceholder OrElse type IsNot Me.Type Then
6495If originalArgument IsNot Me.OriginalArgument OrElse localSymbol IsNot Me.LocalSymbol OrElse type IsNot Me.Type Then
6579If label IsNot Me.Label OrElse type IsNot Me.Type Then
6962If lastOperator IsNot Me.LastOperator OrElse type IsNot Me.Type Then
7016If expression IsNot Me.Expression OrElse type IsNot Me.Type Then
7051If conversionCall IsNot Me.ConversionCall OrElse type IsNot Me.Type Then
7154If source IsNot Me.Source OrElse rangeVariableOpt IsNot Me.RangeVariableOpt OrElse rangeVariables <> Me.RangeVariables OrElse compoundVariableType IsNot Me.CompoundVariableType OrElse binders <> Me.Binders OrElse type IsNot Me.Type Then
7192If underlyingExpression IsNot Me.UnderlyingExpression OrElse rangeVariables <> Me.RangeVariables OrElse compoundVariableType IsNot Me.CompoundVariableType OrElse binders <> Me.Binders OrElse type IsNot Me.Type Then
7227If underlyingExpression IsNot Me.UnderlyingExpression OrElse type IsNot Me.Type Then
7331If rangeVariable IsNot Me.RangeVariable OrElse value IsNot Me.Value OrElse type IsNot Me.Type Then
7449If capturedGroupOpt IsNot Me.CapturedGroupOpt OrElse groupPlaceholderOpt IsNot Me.GroupPlaceholderOpt OrElse underlyingExpression IsNot Me.UnderlyingExpression OrElse rangeVariables <> Me.RangeVariables OrElse compoundVariableType IsNot Me.CompoundVariableType OrElse binders <> Me.Binders OrElse type IsNot Me.Type Then
7484If group IsNot Me.Group OrElse type IsNot Me.Type Then
7528If rangeVariable IsNot Me.RangeVariable OrElse type IsNot Me.Type Then
7818If xmlNamespace IsNot Me.XmlNamespace OrElse localName IsNot Me.LocalName OrElse objectCreation IsNot Me.ObjectCreation OrElse type IsNot Me.Type Then
7862If xmlNamespace IsNot Me.XmlNamespace OrElse objectCreation IsNot Me.ObjectCreation OrElse type IsNot Me.Type Then
7915If declaration IsNot Me.Declaration OrElse childNodes <> Me.ChildNodes OrElse rewriterInfo IsNot Me.RewriterInfo OrElse type IsNot Me.Type Then
7974If version IsNot Me.Version OrElse encoding IsNot Me.Encoding OrElse standalone IsNot Me.Standalone OrElse objectCreation IsNot Me.ObjectCreation OrElse type IsNot Me.Type Then
8027If target IsNot Me.Target OrElse data IsNot Me.Data OrElse objectCreation IsNot Me.ObjectCreation OrElse type IsNot Me.Type Then
8071If value IsNot Me.Value OrElse objectCreation IsNot Me.ObjectCreation OrElse type IsNot Me.Type Then
8137If name IsNot Me.Name OrElse value IsNot Me.Value OrElse matchesImport <> Me.MatchesImport OrElse objectCreation IsNot Me.ObjectCreation OrElse type IsNot Me.Type Then
8190If argument IsNot Me.Argument OrElse childNodes <> Me.ChildNodes OrElse rewriterInfo IsNot Me.RewriterInfo OrElse type IsNot Me.Type Then
8225If memberAccess IsNot Me.MemberAccess OrElse type IsNot Me.Type Then
8260If expression IsNot Me.Expression OrElse type IsNot Me.Type Then
8304If value IsNot Me.Value OrElse objectCreation IsNot Me.ObjectCreation OrElse type IsNot Me.Type Then
8528If activeHandlerLocal IsNot Me.ActiveHandlerLocal OrElse resumeTargetLocal IsNot Me.ResumeTargetLocal OrElse type IsNot Me.Type Then
8727If operand IsNot Me.Operand OrElse awaitableInstancePlaceholder IsNot Me.AwaitableInstancePlaceholder OrElse getAwaiter IsNot Me.GetAwaiter OrElse awaiterInstancePlaceholder IsNot Me.AwaiterInstancePlaceholder OrElse isCompleted IsNot Me.IsCompleted OrElse getResult IsNot Me.GetResult OrElse type IsNot Me.Type Then
8792If locals <> Me.Locals OrElse spillFields <> Me.SpillFields OrElse statements <> Me.Statements OrElse valueOpt IsNot Me.ValueOpt OrElse type IsNot Me.Type Then
8894If original IsNot Me.Original OrElse start IsNot Me.Start OrElse lengthOpt IsNot Me.LengthOpt OrElse source IsNot Me.Source OrElse type IsNot Me.Type Then
8946If receiver IsNot Me.Receiver OrElse placeholder IsNot Me.Placeholder OrElse accessExpression IsNot Me.AccessExpression OrElse type IsNot Me.Type Then
9004If placeholderId <> Me.PlaceholderId OrElse capture <> Me.Capture OrElse type IsNot Me.Type Then
9077If receiver IsNot Me.Receiver OrElse captureReceiver <> Me.CaptureReceiver OrElse placeholderId <> Me.PlaceholderId OrElse whenNotNull IsNot Me.WhenNotNull OrElse whenNullOpt IsNot Me.WhenNullOpt OrElse type IsNot Me.Type Then
9126If valueTypeReceiver IsNot Me.ValueTypeReceiver OrElse referenceTypeReceiver IsNot Me.ReferenceTypeReceiver OrElse type IsNot Me.Type Then
9174If argument IsNot Me.Argument OrElse constantValueOpt IsNot Me.ConstantValueOpt OrElse type IsNot Me.Type Then
9214If expression IsNot Me.Expression OrElse type IsNot Me.Type Then
9262If contents <> Me.Contents OrElse constructionOpt IsNot Me.ConstructionOpt OrElse type IsNot Me.Type Then
12040Dim type as TypeSymbol = Me.VisitType(node.Type)
12045Dim type as TypeSymbol = Me.VisitType(node.Type)
12051Dim type as TypeSymbol = Me.VisitType(node.Type)
12056Dim type as TypeSymbol = Me.VisitType(node.Type)
12061Dim type as TypeSymbol = Me.VisitType(node.Type)
12066Dim type as TypeSymbol = Me.VisitType(node.Type)
12071Dim type as TypeSymbol = Me.VisitType(node.Type)
12076Dim type as TypeSymbol = Me.VisitType(node.Type)
12082Dim type as TypeSymbol = Me.VisitType(node.Type)
12093Dim type as TypeSymbol = Me.VisitType(node.Type)
12099Dim type as TypeSymbol = Me.VisitType(node.Type)
12106Dim type as TypeSymbol = Me.VisitType(node.Type)
12112Dim type as TypeSymbol = Me.VisitType(node.Type)
12118Dim type as TypeSymbol = Me.VisitType(node.Type)
12123Dim type as TypeSymbol = Me.VisitType(node.Type)
12128Dim type as TypeSymbol = Me.VisitType(node.Type)
12134Dim type as TypeSymbol = Me.VisitType(node.Type)
12139Dim type as TypeSymbol = Me.VisitType(node.Type)
12145Dim type as TypeSymbol = Me.VisitType(node.Type)
12150Dim type as TypeSymbol = Me.VisitType(node.Type)
12155Dim type as TypeSymbol = Me.VisitType(node.Type)
12160Dim type as TypeSymbol = Me.VisitType(node.Type)
12165Dim type as TypeSymbol = Me.VisitType(node.Type)
12170Dim type as TypeSymbol = Me.VisitType(node.Type)
12175Dim type as TypeSymbol = Me.VisitType(node.Type)
12181Dim type as TypeSymbol = Me.VisitType(node.Type)
12187Dim type as TypeSymbol = Me.VisitType(node.Type)
12193Dim type as TypeSymbol = Me.VisitType(node.Type)
12200Dim type as TypeSymbol = Me.VisitType(node.Type)
12206Dim type as TypeSymbol = Me.VisitType(node.Type)
12215Dim type as TypeSymbol = Me.VisitType(node.Type)
12220Dim type as TypeSymbol = Me.VisitType(node.Type)
12228Dim type as TypeSymbol = Me.VisitType(node.Type)
12235Dim type as TypeSymbol = Me.VisitType(node.Type)
12241Dim type as TypeSymbol = Me.VisitType(node.Type)
12249Dim type as TypeSymbol = Me.VisitType(node.Type)
12258Dim type as TypeSymbol = Me.VisitType(node.Type)
12265Dim type as TypeSymbol = Me.VisitType(node.Type)
12283Dim type as TypeSymbol = Me.VisitType(node.Type)
12290Dim type as TypeSymbol = Me.VisitType(node.Type)
12297Dim type as TypeSymbol = Me.VisitType(node.Type)
12304Dim type as TypeSymbol = Me.VisitType(node.Type)
12315Dim type as TypeSymbol = Me.VisitType(node.Type)
12331Dim type as TypeSymbol = Me.VisitType(node.Type)
12337Dim type as TypeSymbol = Me.VisitType(node.Type)
12376Dim type as TypeSymbol = Me.VisitType(node.Type)
12383Dim type as TypeSymbol = Me.VisitType(node.Type)
12391Dim type as TypeSymbol = Me.VisitType(node.Type)
12399Dim type as TypeSymbol = Me.VisitType(node.Type)
12405Dim type as TypeSymbol = Me.VisitType(node.Type)
12411Dim type as TypeSymbol = Me.VisitType(node.Type)
12418Dim type as TypeSymbol = Me.VisitType(node.Type)
12426Dim type as TypeSymbol = Me.VisitType(node.Type)
12432Dim type as TypeSymbol = Me.VisitType(node.Type)
12439Dim type as TypeSymbol = Me.VisitType(node.Type)
12444Dim type as TypeSymbol = Me.VisitType(node.Type)
12450Dim type as TypeSymbol = Me.VisitType(node.Type)
12457Dim type as TypeSymbol = Me.VisitType(node.Type)
12464Dim type as TypeSymbol = Me.VisitType(node.Type)
12470Dim type as TypeSymbol = Me.VisitType(node.Type)
12479Dim type as TypeSymbol = Me.VisitType(node.Type)
12487Dim type as TypeSymbol = Me.VisitType(node.Type)
12494Dim type as TypeSymbol = Me.VisitType(node.Type)
12500Dim type as TypeSymbol = Me.VisitType(node.Type)
12506Dim type as TypeSymbol = Me.VisitType(node.Type)
12514Dim type as TypeSymbol = Me.VisitType(node.Type)
12520Dim type as TypeSymbol = Me.VisitType(node.Type)
12581Dim type as TypeSymbol = Me.VisitType(node.Type)
12702Dim type as TypeSymbol = Me.VisitType(node.Type)
12707Dim type as TypeSymbol = Me.VisitType(node.Type)
12712Dim type as TypeSymbol = Me.VisitType(node.Type)
12717Dim type as TypeSymbol = Me.VisitType(node.Type)
12722Dim type as TypeSymbol = Me.VisitType(node.Type)
12727Dim type as TypeSymbol = Me.VisitType(node.Type)
12732Dim type as TypeSymbol = Me.VisitType(node.Type)
12737Dim type as TypeSymbol = Me.VisitType(node.Type)
12742Dim type as TypeSymbol = Me.VisitType(node.Type)
12747Dim type as TypeSymbol = Me.VisitType(node.Type)
12752Dim type as TypeSymbol = Me.VisitType(node.Type)
12762Dim type as TypeSymbol = Me.VisitType(node.Type)
12768Dim type as TypeSymbol = Me.VisitType(node.Type)
12777Dim type as TypeSymbol = Me.VisitType(node.Type)
12804Dim type as TypeSymbol = Me.VisitType(node.Type)
12810Dim type as TypeSymbol = Me.VisitType(node.Type)
12816Dim type as TypeSymbol = Me.VisitType(node.Type)
12822Dim type as TypeSymbol = Me.VisitType(node.Type)
12828Dim type as TypeSymbol = Me.VisitType(node.Type)
12835Dim type as TypeSymbol = Me.VisitType(node.Type)
12842Dim type as TypeSymbol = Me.VisitType(node.Type)
12848Dim type as TypeSymbol = Me.VisitType(node.Type)
12854Dim type as TypeSymbol = Me.VisitType(node.Type)
12860Dim type as TypeSymbol = Me.VisitType(node.Type)
12865Dim type as TypeSymbol = Me.VisitType(node.Type)
12874Dim type as TypeSymbol = Me.VisitType(node.Type)
12880Dim type as TypeSymbol = Me.VisitType(node.Type)
12885Dim type as TypeSymbol = Me.VisitType(node.Type)
12923Dim type as TypeSymbol = Me.VisitType(node.Type)
12930Dim type as TypeSymbol = Me.VisitType(node.Type)
12937Dim type as TypeSymbol = Me.VisitType(node.Type)
12946Dim type as TypeSymbol = Me.VisitType(node.Type)
12954Dim type as TypeSymbol = Me.VisitType(node.Type)
12961Dim type as TypeSymbol = Me.VisitType(node.Type)
12969Dim type as TypeSymbol = Me.VisitType(node.Type)
12976Dim type as TypeSymbol = Me.VisitType(node.Type)
12982Dim type as TypeSymbol = Me.VisitType(node.Type)
12988Dim type as TypeSymbol = Me.VisitType(node.Type)
12995Dim type as TypeSymbol = Me.VisitType(node.Type)
13017Dim type as TypeSymbol = Me.VisitType(node.Type)
13042Dim type as TypeSymbol = Me.VisitType(node.Type)
13049Dim type as TypeSymbol = Me.VisitType(node.Type)
13066Dim type as TypeSymbol = Me.VisitType(node.Type)
13074Dim type as TypeSymbol = Me.VisitType(node.Type)
13079Dim type as TypeSymbol = Me.VisitType(node.Type)
13087Dim type as TypeSymbol = Me.VisitType(node.Type)
13094Dim type as TypeSymbol = Me.VisitType(node.Type)
13100Dim type as TypeSymbol = Me.VisitType(node.Type)
13106Dim type as TypeSymbol = Me.VisitType(node.Type)
13113Dim type as TypeSymbol = Me.VisitType(node.Type)
13139New TreeDumperNode("type", node.Type, Nothing)
13145New TreeDumperNode("type", node.Type, Nothing)
13152New TreeDumperNode("type", node.Type, Nothing)
13158New TreeDumperNode("type", node.Type, Nothing)
13164New TreeDumperNode("type", node.Type, Nothing)
13170New TreeDumperNode("type", node.Type, Nothing)
13176New TreeDumperNode("type", node.Type, Nothing)
13183New TreeDumperNode("type", node.Type, Nothing)
13192New TreeDumperNode("type", node.Type, Nothing)
13205New TreeDumperNode("type", node.Type, Nothing)
13213New TreeDumperNode("type", node.Type, Nothing)
13222New TreeDumperNode("type", node.Type, Nothing)
13229New TreeDumperNode("type", node.Type, Nothing)
13237New TreeDumperNode("type", node.Type, Nothing)
13244New TreeDumperNode("type", node.Type, Nothing)
13252New TreeDumperNode("type", node.Type, Nothing)
13260New TreeDumperNode("type", node.Type, Nothing)
13267New TreeDumperNode("type", node.Type, Nothing)
13276New TreeDumperNode("type", node.Type, Nothing)
13283New TreeDumperNode("type", node.Type, Nothing)
13289New TreeDumperNode("type", node.Type, Nothing)
13297New TreeDumperNode("type", node.Type, Nothing)
13304New TreeDumperNode("type", node.Type, Nothing)
13310New TreeDumperNode("type", node.Type, Nothing)
13317New TreeDumperNode("type", node.Type, Nothing)
13327New TreeDumperNode("type", node.Type, Nothing)
13335New TreeDumperNode("type", node.Type, Nothing)
13342New TreeDumperNode("type", node.Type, Nothing)
13353New TreeDumperNode("type", node.Type, Nothing)
13362New TreeDumperNode("type", node.Type, Nothing)
13372New TreeDumperNode("type", node.Type, Nothing)
13378New TreeDumperNode("type", node.Type, Nothing)
13388New TreeDumperNode("type", node.Type, Nothing)
13397New TreeDumperNode("type", node.Type, Nothing)
13406New TreeDumperNode("type", node.Type, Nothing)
13416New TreeDumperNode("type", node.Type, Nothing)
13427New TreeDumperNode("type", node.Type, Nothing)
13439New TreeDumperNode("type", node.Type, Nothing)
13461New TreeDumperNode("type", node.Type, Nothing)
13472New TreeDumperNode("type", node.Type, Nothing)
13482New TreeDumperNode("type", node.Type, Nothing)
13491New TreeDumperNode("type", node.Type, Nothing)
13504New TreeDumperNode("type", node.Type, Nothing)
13529New TreeDumperNode("type", node.Type, Nothing)
13539New TreeDumperNode("type", node.Type, Nothing)
13594New TreeDumperNode("type", node.Type, Nothing)
13605New TreeDumperNode("type", node.Type, Nothing)
13616New TreeDumperNode("type", node.Type, Nothing)
13627New TreeDumperNode("type", node.Type, Nothing)
13635New TreeDumperNode("type", node.Type, Nothing)
13645New TreeDumperNode("type", node.Type, Nothing)
13653New TreeDumperNode("type", node.Type, Nothing)
13664New TreeDumperNode("type", node.Type, Nothing)
13672New TreeDumperNode("type", node.Type, Nothing)
13681New TreeDumperNode("type", node.Type, Nothing)
13689New TreeDumperNode("type", node.Type, Nothing)
13697New TreeDumperNode("type", node.Type, Nothing)
13706New TreeDumperNode("type", node.Type, Nothing)
13714New TreeDumperNode("type", node.Type, Nothing)
13721New TreeDumperNode("type", node.Type, Nothing)
13732New TreeDumperNode("type", node.Type, Nothing)
13743New TreeDumperNode("type", node.Type, Nothing)
13755New TreeDumperNode("type", node.Type, Nothing)
13762New TreeDumperNode("type", node.Type, Nothing)
13773New TreeDumperNode("type", node.Type, Nothing)
13787New TreeDumperNode("type", node.Type, Nothing)
13795New TreeDumperNode("type", node.Type, Nothing)
13878New TreeDumperNode("type", node.Type, Nothing)
14040New TreeDumperNode("type", node.Type, Nothing)
14046New TreeDumperNode("type", node.Type, Nothing)
14052New TreeDumperNode("type", node.Type, Nothing)
14058New TreeDumperNode("type", node.Type, Nothing)
14064New TreeDumperNode("type", node.Type, Nothing)
14071New TreeDumperNode("type", node.Type, Nothing)
14077New TreeDumperNode("type", node.Type, Nothing)
14085New TreeDumperNode("type", node.Type, Nothing)
14094New TreeDumperNode("type", node.Type, Nothing)
14103New TreeDumperNode("type", node.Type, Nothing)
14110New TreeDumperNode("type", node.Type, Nothing)
14121New TreeDumperNode("type", node.Type, Nothing)
14129New TreeDumperNode("type", node.Type, Nothing)
14142New TreeDumperNode("type", node.Type, Nothing)
14182New TreeDumperNode("type", node.Type, Nothing)
14194New TreeDumperNode("type", node.Type, Nothing)
14201New TreeDumperNode("type", node.Type, Nothing)
14208New TreeDumperNode("type", node.Type, Nothing)
14215New TreeDumperNode("type", node.Type, Nothing)
14226New TreeDumperNode("type", node.Type, Nothing)
14236New TreeDumperNode("type", node.Type, Nothing)
14243New TreeDumperNode("type", node.Type, Nothing)
14253New TreeDumperNode("type", node.Type, Nothing)
14261New TreeDumperNode("type", node.Type, Nothing)
14270New TreeDumperNode("type", node.Type, Nothing)
14282New TreeDumperNode("type", node.Type, Nothing)
14289New TreeDumperNode("type", node.Type, Nothing)
14296New TreeDumperNode("type", node.Type, Nothing)
14343New TreeDumperNode("type", node.Type, Nothing)
14351New TreeDumperNode("type", node.Type, Nothing)
14360New TreeDumperNode("type", node.Type, Nothing)
14370New TreeDumperNode("type", node.Type, Nothing)
14379New TreeDumperNode("type", node.Type, Nothing)
14387New TreeDumperNode("type", node.Type, Nothing)
14397New TreeDumperNode("type", node.Type, Nothing)
14406New TreeDumperNode("type", node.Type, Nothing)
14413New TreeDumperNode("type", node.Type, Nothing)
14420New TreeDumperNode("type", node.Type, Nothing)
14428New TreeDumperNode("type", node.Type, Nothing)
14462New TreeDumperNode("type", node.Type, Nothing)
14490New TreeDumperNode("type", node.Type, Nothing)
14500New TreeDumperNode("type", node.Type, Nothing)
14518New TreeDumperNode("type", node.Type, Nothing)
14527New TreeDumperNode("type", node.Type, Nothing)
14535New TreeDumperNode("type", node.Type, Nothing)
14546New TreeDumperNode("type", node.Type, Nothing)
14554New TreeDumperNode("type", node.Type, Nothing)
14562New TreeDumperNode("type", node.Type, Nothing)
14569New TreeDumperNode("type", node.Type, Nothing)
14577New TreeDumperNode("type", node.Type, Nothing)
Lowering\AsyncRewriter\AsyncRewriter.AsyncMethodToClassRewriter.Spilling.vb (14)
165newArgs(index) = nestedInitializer.Update(newInitializers, nestedInitializer.Type)
228If isReceiver AndAlso expr.Type.IsReferenceType Then
272array = array.Update(spilledExpression, spilledIndices.AsImmutableOrNull, array.IsLValue, array.Type)
302fieldAccess.Type)
328Return complexReceiver.Update(spilledValueReceiver, spilledReferenceReceiver, complexReceiver.Type)
332Dim isValueTypeCheck = Me.F.ReferenceIsNotNothing(Me.F.DirectCast(Me.F.DirectCast(Me.F.Null(), complexReceiver.Type),
338Return complexReceiver.Update(spilledValueReceiver, referenceReceiverSpillSequence.ValueOpt, complexReceiver.Type)
344Dim isValueTypeCheck = Me.F.ReferenceIsNotNothing(Me.F.DirectCast(Me.F.DirectCast(Me.F.Null(), complexReceiver.Type),
350Return complexReceiver.Update(valueReceiverSpillSequence.ValueOpt, spilledReferenceReceiver, complexReceiver.Type)
355Dim isValueTypeCheck = Me.F.ReferenceIsNotNothing(Me.F.DirectCast(Me.F.DirectCast(Me.F.Null(), complexReceiver.Type),
363Return complexReceiver.Update(valueReceiverSpillSequence.ValueOpt, referenceReceiverSpillSequence.ValueOpt, complexReceiver.Type)
397Return arrayInit.Update(SpillExpressionList(builder, arrayInit.Initializers), arrayInit.Type)
413Dim spillField As FieldSymbol = Me._spillFieldAllocator.AllocateField(expr.Type)
577Return spill.Update(spill.Locals, spill.SpillFields, spill.Statements, newValue, newValue.Type)
Lowering\ExpressionLambdaRewriter\ExpressionLambdaRewriter_BinaryOperator.vb (23)
191Return VisitInternal(AdjustCallForLiftedOperator(opKind, [call], node.Type))
199Dim resultType As TypeSymbol = node.Type
214Dim operandType As TypeSymbol = originalLeft.Type
225If originalRight.Type.IsNullableType Then
226Debug.Assert(originalLeft.Type Is Nothing OrElse originalLeft.Type.IsObjectType)
227left = CreateLiteralExpression(originalLeft, originalRight.Type)
228operandType = originalRight.Type
232If originalLeft.Type.IsNullableType Then
233Debug.Assert(originalRight.Type Is Nothing OrElse originalRight.Type.IsObjectType)
234right = CreateLiteralExpression(originalRight, originalLeft.Type)
246Debug.Assert(TypeSymbol.Equals(operandType, originalLeft.Type, TypeCompareKind.ConsiderEverything))
251Debug.Assert(TypeSymbol.Equals(operandType, originalRight.Type, TypeCompareKind.ConsiderEverything))
334Dim resultType As TypeSymbol = node.Type
345Debug.Assert(TypeSymbol.Equals(resultType, originalLeft.Type, TypeCompareKind.ConsiderEverything))
349Debug.Assert(TypeSymbol.Equals(resultType, originalRight.Type, TypeCompareKind.ConsiderEverything))
383Dim resultType As TypeSymbol = node.Type
550Dim operandType As TypeSymbol = operand.Type
553Debug.Assert(conversion.Type.IsNullableType AndAlso conversion.Type.GetNullableUnderlyingType.SpecialType = SpecialType.System_Int32)
723Debug.Assert(oldArg.Type.IsNullableType)
725Debug.Assert(TypeSymbol.Equals(oldArg.Type.GetNullableUnderlyingTypeOrSelf(), parameterType, TypeCompareKind.ConsiderEverything))
Lowering\ExpressionLambdaRewriter\ExpressionLambdaRewriter_Conversion.vb (11)
21If Conversions.IsIdentityConversion(node.ConversionKind) AndAlso Not node.Type.IsFloatingType() Then
26Return ConvertExpression(node.Operand, node.ConversionKind, node.Operand.Type, node.Type, node.Checked, node.ExplicitCastInCode, ConversionSemantics.[Default])
35Return ConvertExpression(node.Operand, node.ConversionKind, node.Operand.Type, node.Type, False, True, ConversionSemantics.DirectCast)
44Return ConvertExpression(node.Operand, node.ConversionKind, node.Operand.Type, node.Type, False, True, ConversionSemantics.TryCast)
366Dim methodCallType As TypeSymbol = methodCall.Type
377If originalArgument.Type.IsNullableType = resultType.IsNullableType Then
393Debug.Assert(outerConversion.Type.IsSameTypeIgnoringAll(resultType))
414If expr.Type IsNot _expressionType Then
Lowering\ExpressionLambdaRewriter\ExpressionLambdaRewriter_UnaryOperator.vb (9)
23Dim origArgType As TypeSymbol = origArg.Type
27Debug.Assert(TypeSymbol.Equals(origArgType, node.Type, TypeCompareKind.ConsiderEverything))
117Debug.Assert(node.Type.IsBooleanType())
118Debug.Assert(node.Operand.Type.IsNullableOfBoolean())
135Dim udoOperandType As TypeSymbol = userDefinedOperator.Operand.Type
138Dim lambdaBody As BoundExpression = BuildLambdaBodyForCoalesce(userDefinedOperator.OperatorKind, [call], node.Type, paramSymbol)
139Dim coalesceLambda As BoundExpression = BuildLambdaForCoalesceCall(node.Type, paramSymbol, lambdaBody)
169type:=[call].Type),
208Return VisitInternal(AdjustCallForLiftedOperator(opKind, [call], node.Type))
Lowering\LambdaRewriter\LambdaRewriter.vb (18)
381Debug.Assert(TypeSymbol.Equals(result.Type, frameType, TypeCompareKind.ConsiderEverything))
407Dim proxyFieldParented = proxyField.AsMember(DirectCast(innerFrame.Type, NamedTypeSymbol))
417Dim constructedProxyField = proxy.AsMember(DirectCast(frame.Type, NamedTypeSymbol))
560Dim assignment = New BoundAssignmentOperator(syntaxNode, left, right, True, left.Type)
698Return FramePointer(node.Syntax, TryCast(node.Type, NamedTypeSymbol))
704New BoundMyClassReference(node.Syntax, node.Type),
711New BoundMyBaseReference(node.Syntax, node.Type),
851rewrittenExceptionSource.Type)
935Dim result As BoundExpression = RewriteLambda(lambda, VisitType(node.Type), (node.ConversionKind And ConversionKind.ConvertedToExpressionTree) <> 0)
937result = node.Update(result, node.ConversionKind, node.ConstantValueOpt, node.RelaxationLambdaOpt, node.Type)
950Dim result As BoundExpression = RewriteLambda(lambda, VisitType(node.Type), (node.ConversionKind And ConversionKind.ConvertedToExpressionTree) <> 0)
952result = node.Update(result, node.ConversionKind, node.SuppressVirtualCalls, node.ConstantValueOpt, node.RelaxationLambdaOpt, node.Type)
965Dim result As BoundExpression = RewriteLambda(lambda, VisitType(conversion.Type), (conversion.ConversionKind And ConversionKind.ConvertedToExpressionTree) <> 0)
973conversion.Type)
1246F.ObjectReferenceEqual(cacheVariableRight, F.Null(cacheVariableRight.Type)),
1249cacheVariableRight.Type)
1445Return result.Update(result.Receiver, True, result.PlaceholderId, result.WhenNotNull, result.WhenNullOpt, result.Type)
1488type:=node.Type)
Lowering\LocalRewriter\LocalRewriter.vb (22)
74Debug.Assert(value.Type.IsSameTypeIgnoringAll(placeholder.Type))
324If node.Type Is Nothing Then
325Debug.Assert(result.Type Is Nothing)
327Debug.Assert(result.Type IsNot Nothing)
333Debug.Assert(result.Type.IsVoidType())
335Debug.Assert(result.Type.IsSameTypeIgnoringAll(node.Type))
516result.Type)
522result.Type)
706If Not value.Type.IsDecimalType() Then
716Dim local = New SynthesizedLocal(container, value.Type, kind, syntaxOpt)
727type:=localAccess.Type
760Debug.Assert(value.Type IsNot Nothing)
763Dim type = value.Type
883Debug.Assert(node.Type.ExtendedSpecialType = InternalSpecialType.System_Type OrElse
884TypeSymbol.Equals(node.Type, Compilation.GetWellKnownType(WellKnownType.System_Type), TypeCompareKind.AllIgnoreOptionsForVB))
892If node.Type.ExtendedSpecialType = InternalSpecialType.System_Type Then
899Return New BoundGetType(result.Syntax, result.SourceType, getTypeFromHandle:=Nothing, result.Type, hasErrors:=True)
902Debug.Assert(TypeSymbol.Equals(result.Type, getTypeFromHandle.ReturnType, TypeCompareKind.AllIgnoreOptionsForVB))
903Return New BoundGetType(result.Syntax, result.SourceType, getTypeFromHandle, result.Type)
913node.Type))
Lowering\LocalRewriter\LocalRewriter_AssignmentOperator.vb (17)
98node.Type)
102If result.Type.IsVoidType() Then
107result.Type)
113result.Type)
142Return node.Update(VisitAssignmentLeftExpression(node), Nothing, VisitAndGenerateObjectCloneIfNeeded(node.Right, node.SuppressObjectClone), True, node.Type)
231node.Type)
309invocation.Type)
323result.Type)
350If Not result.HasErrors AndAlso result.Type.IsObjectType() AndAlso Not Me.ContainingAssembly.IsVbRuntime Then
465Debug.Assert(midResult.Type.IsStringType())
476node.Type)
490If(midResult.LengthOpt, New BoundLiteral(node.Syntax, ConstantValue.Create(&H7FFFFFFF), midResult.Start.Type)),
510Dim temp = New SynthesizedLocal(Me._currentMethodOrLambda, node.Type, SynthesizedLocalKind.LoweringTemp)
511Dim localRef = New BoundLocal(node.Syntax, temp, node.Type)
512Dim placeholder = New BoundCompoundAssignmentTargetPlaceholder(node.Syntax, node.Type)
527node.Type),
530node.Type)
Lowering\LocalRewriter\LocalRewriter_BinaryOperators.vb (143)
15Return node.Update(node.OperatorKind, DirectCast(Visit(node.UnderlyingExpression), BoundExpression), node.Checked, node.Type)
45Return node.Update(node.LeftOperand, node.LeftOperandPlaceholder, node.LeftTest, rewritten, node.Type)
51Dim temp As New SynthesizedLocal(_currentMethodOrLambda, node.LeftOperand.Type, SynthesizedLocalKind.LoweringTemp)
130left = TransformRewrittenBinaryOperator(binary.Update(binary.OperatorKind, left, right, binary.Checked, binary.ConstantValueOpt, Me.VisitType(binary.Type)))
184cast.ConversionKind, cast.SuppressVirtualCalls, cast.ConstantValueOpt, cast.RelaxationLambdaOpt, cast.Type)
192cast.Type)
204type:=boundCall.Type)
218type:=propertyAccess.Type)
240node.Type)
242If (node.Left.Type IsNot Nothing AndAlso node.Left.Type.IsNullableType) OrElse
243(node.Right.Type IsNot Nothing AndAlso node.Right.Type.IsNullableType) Then
249If node.Type.IsObjectType() Then
256If node.Left.Type.IsObjectType() Then
263Dim leftType = node.Left.Type
269If node.Type.IsObjectType() OrElse Me._inExpressionLambda AndAlso leftType.IsObjectType() Then
271ElseIf node.Type.IsBooleanType() Then
285Dim leftType = node.Left.Type
288If node.Type.IsObjectType() OrElse Me._inExpressionLambda AndAlso leftType.IsObjectType() Then
290ElseIf node.Type.IsBooleanType() Then
304Dim leftType = node.Left.Type
307If node.Type.IsObjectType() OrElse Me._inExpressionLambda AndAlso leftType.IsObjectType() Then
309ElseIf node.Type.IsBooleanType() Then
323Dim leftType = node.Left.Type
326If node.Type.IsObjectType() OrElse Me._inExpressionLambda AndAlso leftType.IsObjectType() Then
328ElseIf node.Type.IsBooleanType() Then
342Dim leftType = node.Left.Type
345If node.Type.IsObjectType() OrElse Me._inExpressionLambda AndAlso leftType.IsObjectType() Then
347ElseIf node.Type.IsBooleanType() Then
361Dim leftType = node.Left.Type
364If node.Type.IsObjectType() OrElse Me._inExpressionLambda AndAlso leftType.IsObjectType() Then
366ElseIf node.Type.IsBooleanType() Then
380If node.Type.IsObjectType() AndAlso Not _inExpressionLambda Then
382ElseIf node.Type.IsDecimalType() Then
387If node.Type.IsObjectType() AndAlso Not _inExpressionLambda Then
389ElseIf node.Type.IsDecimalType() Then
394If node.Type.IsObjectType() AndAlso Not _inExpressionLambda Then
396ElseIf node.Type.IsDecimalType() Then
401If node.Type.IsObjectType() AndAlso Not _inExpressionLambda Then
403ElseIf node.Type.IsDecimalType() Then
408If node.Type.IsObjectType() AndAlso Not _inExpressionLambda Then
410ElseIf node.Type.IsDecimalType() Then
415If node.Type.IsObjectType() AndAlso Not _inExpressionLambda Then
420If node.Type.IsObjectType() AndAlso Not _inExpressionLambda Then
427If node.Type.IsObjectType() AndAlso Not _inExpressionLambda Then
432If node.Type.IsObjectType() AndAlso Not _inExpressionLambda Then
437If node.Type.IsObjectType() AndAlso Not _inExpressionLambda Then
442If node.Type.IsObjectType() AndAlso Not _inExpressionLambda Then
447If node.Type.IsObjectType() AndAlso Not _inExpressionLambda Then
452If node.Type.IsObjectType() AndAlso Not _inExpressionLambda Then
466Debug.Assert(node.Left.Type.IsDateTimeType())
467Debug.Assert(node.Right.Type.IsDateTimeType())
468Debug.Assert(node.Type.IsBooleanType())
474If left.Type.IsDateTimeType() AndAlso right.Type.IsDateTimeType() Then
493node.Type)
505Debug.Assert(node.Left.Type.IsDecimalType())
506Debug.Assert(node.Right.Type.IsDecimalType())
507Debug.Assert(node.Type.IsBooleanType())
513If left.Type.IsDecimalType() AndAlso right.Type.IsDecimalType() Then
532node.Type)
540Debug.Assert(node.Type.IsObjectType())
546If rewrittenLeft.Type.IsObjectType() AndAlso rewrittenRight.Type.IsObjectType() Then
563If cast.Operand.Type.IsBooleanType() Then
571If cast.Operand.Type.IsBooleanType() Then
601Debug.Assert(left.Type.IsBooleanType() AndAlso right.Type.IsBooleanType())
603Dim op = New BoundBinaryOperator(node.Syntax, node.OperatorKind And BinaryOperatorKind.OpMask, left, right, False, left.Type)
606result = New BoundDirectCast(node.Syntax, op, ConversionKind.WideningValue, node.Type, Nothing)
625If node.Type.IsDoubleType() AndAlso left.Type.IsDoubleType() AndAlso right.Type.IsDoubleType() Then
649Debug.Assert(node.Left.Type.IsDecimalType())
650Debug.Assert(node.Right.Type.IsDecimalType())
651Debug.Assert(node.Type.IsDecimalType())
657If left.Type.IsDecimalType() AndAlso right.Type.IsDecimalType() Then
673Debug.Assert(node.Left.Type.IsStringType())
674Debug.Assert(node.Right.Type.IsStringType())
675Debug.Assert(node.Type.IsBooleanType())
706False, node.Type)
713Debug.Assert(node.Left.Type.IsObjectType())
714Debug.Assert(node.Right.Type.IsObjectType())
715Debug.Assert(node.Type.IsObjectType() OrElse node.Type.IsBooleanType())
726Debug.Assert(memberSymbol.ReturnType Is node.Type OrElse Me._inExpressionLambda AndAlso memberSymbol.ReturnType.IsObjectType)
737If Me._inExpressionLambda AndAlso memberSymbol.ReturnType.IsObjectType AndAlso node.Type.IsBooleanType Then
738result = New BoundConversion(node.Syntax, DirectCast(result, BoundExpression), ConversionKind.NarrowingBoolean, node.Checked, False, node.Type)
748Debug.Assert((node.Type.IsObjectType() AndAlso left.Type.IsObjectType() AndAlso right.Type.IsObjectType()) OrElse
749(node.Type.IsBooleanType() AndAlso left.Type.IsStringType() AndAlso right.Type.IsStringType()))
758Debug.Assert(memberSymbol.ReturnType Is node.Type)
777Debug.Assert(left.Type.IsObjectType())
778Debug.Assert(right.Type.IsObjectType())
779Debug.Assert(node.Type.IsObjectType())
817If optimizeForConditionalBranch AndAlso node.Type.IsNullableOfBoolean() AndAlso left.Type.IsNullableOfBoolean() AndAlso right.Type.IsNullableOfBoolean() AndAlso
824Return node.Update(node.OperatorKind, left, right, node.Checked, node.ConstantValueOpt, node.Type)
832Return NullableNull(left, node.Type)
842Return WrapInNullable(unliftedOp, node.Type)
846If node.Left.Type.IsNullableOfBoolean Then
863Dim nullOperand = NullableNull(If(leftHasNoValue, left, right), node.Type)
885node.Type),
886NullableNull(whenNull, node.Type))
925WrapInNullable(unliftedOpOnCaptured, node.Type),
926NullableNull(node.Syntax, node.Type))
934value.Type)
959Return NullableNull(left, node.Type)
1002node.Type.GetNullableUnderlyingType()),
1016booleanResult.Type)
1031Return WrapInNullable(booleanResult, node.Type)
1035Debug.Assert(node.Type.IsNullableOfBoolean())
1036Debug.Assert(operand.Type.IsNullableOfBoolean())
1038Dim result = New BoundLiteral(node.Syntax, ConstantValue.False, node.Type.GetNullableUnderlyingType())
1041result, result.Type)
1045Debug.Assert(operand.Type.IsNullableOfBoolean())
1051Return New BoundNullableIsTrueOperator(operand.Syntax, operand, operand.Type.GetNullableUnderlyingType())
1063Debug.Assert(left.Type.IsNullableOfBoolean AndAlso right.Type.IsNullableOfBoolean AndAlso node.Type.IsNullableOfBoolean)
1067Dim nullableOfBoolean = node.Type
1141result.Type)
1300value.Type)
1317Return RewriteNullableIsOrIsNotOperator((node.OperatorKind And BinaryOperatorKind.OpMask) = BinaryOperatorKind.Is, If(left.IsNothingLiteral, right, left), node.Type)
1322Debug.Assert(operand.Type.IsNullableType)
1391Dim resultType = operatorCall.Type
1396Debug.Assert(left.Type.IsNullableType() AndAlso right.Type.IsNullableType(), "left and right must be nullable")
1445Debug.Assert(leftCallInput.Type.IsSameTypeIgnoringAll(operatorCall.Method.Parameters(0).Type),
1447Debug.Assert(rightCallInput.Type.IsSameTypeIgnoringAll(operatorCall.Method.Parameters(1).Type),
1460If Not whenHasValue.Type.IsSameTypeIgnoringAll(resultType) Then
1464Debug.Assert(whenHasValue.Type.IsSameTypeIgnoringAll(resultType), "result type must be same as resultType")
1484result.Type)
1496Debug.Assert(Not left.Type.IsNullableType)
1497Debug.Assert(Not right.Type.IsNullableType)
1507originalOperator.Type.GetNullableUnderlyingType)
Lowering\LocalRewriter\LocalRewriter_Call.vb (11)
30type:=node.Type)
95type:=node.Type)
107node.Type)
113node.Type)
236Dim temp = New SynthesizedLocal(Me._currentMethodOrLambda, rewrittenArgument.Type, SynthesizedLocalKind.LoweringTemp)
244rewrittenArgument.Type)
246Return New BoundSequence(rewrittenArgument.Syntax, ImmutableArray(Of LocalSymbol).Empty, ImmutableArray.Create(storeVal), boundTemp, rewrittenArgument.Type)
323Dim temp = New SynthesizedLocal(Me._currentMethodOrLambda, argument.Type, SynthesizedLocalKind.LoweringTemp)
328Dim storeVal As BoundExpression = New BoundAssignmentOperator(argument.Syntax, boundTemp, inputValue, True, argument.Type)
370invocation.Type)
382Return New BoundSequence(argument.Syntax, ImmutableArray(Of LocalSymbol).Empty, ImmutableArray.Create(storeVal), boundTemp, argument.Type)
Lowering\LocalRewriter\LocalRewriter_ConditionalAccess.vb (17)
33Debug.Assert(node.Type IsNot Nothing)
36Dim receiverType As TypeSymbol = rewrittenReceiver.Type
108newPlaceHolder = New BoundConditionalAccessReceiverPlaceholder(node.Placeholder.Syntax, newPlaceholderId, captureReceiver, node.Placeholder.Type)
114Dim accessResultType As TypeSymbol = node.AccessExpression.Type
126If node.Type.IsVoidType() Then
130whenNotNull = WrapInNullable(whenNotNull, node.Type)
134whenNull = If(node.Type.IsNullableType(), NullableNull(node.Syntax, node.Type), factory.Null(node.Type))
146result = New BoundLoweredConditionalAccess(node.Syntax, receiver, captureReceiver, newPlaceholderId, whenNotNull, whenNull, node.Type)
157Debug.Assert(node.Type.IsVoidType())
158result = New BoundSequence(node.Syntax, ImmutableArray(Of LocalSymbol).Empty, ImmutableArray(Of BoundExpression).Empty, Nothing, node.Type)
162If result.Type.IsVoidType() Then
163result = New BoundSequence(node.Syntax, ImmutableArray.Create(temp), ImmutableArray.Create(assignment, result), Nothing, result.Type)
165result = New BoundSequence(node.Syntax, ImmutableArray.Create(temp), ImmutableArray.Create(assignment), result, result.Type)
214whenNotNull.Type)
220Return sequence.Update(sequence.Locals, sequence.SideEffects, operand, operand.Type)
Lowering\LocalRewriter\LocalRewriter_ConditionalExpressions.vb (22)
18If node.TestExpression.Type IsNot Nothing AndAlso node.TestExpression.Type.IsNullableType Then
42node.Type))
52Dim rewrittenTestExpressionType As TypeSymbol = rewrittenTestExpression.Type
111type:=node.Type))
121type:=result.Type)
127Dim testExpressionType As TypeSymbol = testExpression.Type
129Debug.Assert(TypeSymbol.Equals(testExpressionType, rewrittenTestExpression.Type, TypeCompareKind.ConsiderEverything))
144Debug.Assert(node.TestExpressionPlaceholder Is Nothing OrElse TypeSymbol.Equals(node.TestExpressionPlaceholder.Type, testExpressionType.GetNullableUnderlyingTypeOrSelf, TypeCompareKind.ConsiderEverything))
158Return node.Update(rewrittenTestExpression, rewrittenWhenTrue, Nothing, rewrittenWhenFalse, node.ConstantValueOpt, node.Type)
183Debug.Assert(testExpr.IsNothingLiteral OrElse Not testExpr.Type.IsValueType)
187If testExpr.IsConstant AndAlso (TypeSymbol.Equals(testExpr.Type, elseExpr.Type, TypeCompareKind.ConsiderEverything)) Then
201Debug.Assert(Not testExpr.Type.IsValueType)
234If rewrittenLeft.Type.IsNullableType() AndAlso
235rewrittenRight.Type.IsSameTypeIgnoringAll(rewrittenLeft.Type.GetNullableUnderlyingType()) _
273If capturedleft.Type.IsSameTypeIgnoringAll(node.ConvertedTestExpression.Type) Then
291result.Type)
301If rewrittenLeft.Type.IsSameTypeIgnoringAll(convertedTestExpression.Type) Then
Lowering\LocalRewriter\LocalRewriter_Conversion.vb (71)
28type:=node.Type)
42node.Type)
53If (node.Type IsNot Nothing AndAlso node.Type.IsNullableType OrElse
54node.Operand.Type IsNot Nothing AndAlso node.Operand.Type.IsNullableType) AndAlso
70If Not node.HasErrors AndAlso node.Type.IsBooleanType() AndAlso node.Operand.Type.IsObjectType() Then
92Debug.Assert(binary.Type.IsObjectType())
98node.Type))
137Dim specialType = rewrittenNode.Type.SpecialType
170Dim rewrittenType = DirectCast(VisitType(node.Type), NamedTypeSymbol)
176If destinationType.IsSameTypeIgnoringAll(rewrittenOperand.Type) Then
186Dim srcType As TypeSymbol = rewrittenOperand.Type
242extendedInfoOpt:=Nothing, type:=node.Type))
249extendedInfoOpt:=Nothing, type:=node.Type)
266relaxationLambdaOpt:=Nothing, type:=node.Type))
272relaxationLambdaOpt:=Nothing, type:=node.Type)
289relaxationLambdaOpt:=Nothing, type:=node.Type))
295relaxationLambdaOpt:=Nothing, type:=node.Type)
315Debug.Assert(node.Operand.Type.IsDelegateType() AndAlso
316DirectCast(node.Operand.Type, NamedTypeSymbol).IsAnonymousType AndAlso
317node.Type.IsDelegateType() AndAlso
318node.Type.SpecialType <> SpecialType.System_MulticastDelegate)
322Return F.Null(node.Type)
337Dim savedOriginalValue = F.SynthesizedLocal(node.Operand.Type)
339Dim conversionIfNothing = F.Null(node.Type)
341DirectCast(node.Operand.Type, NamedTypeSymbol).DelegateInvokeMethod,
345type:=node.Type)
352DirectCast(node.Operand.Type, NamedTypeSymbol).DelegateInvokeMethod,
356type:=node.Type)
388Debug.Assert(rewrittenOperand.Type.IsSameTypeIgnoringAll(node.Type))
397Dim resultType = node.Type
398Dim operandType = rewrittenOperand.Type
425Dim convKind = Conversions.ClassifyConversion(rewrittenOperand.Type, innerTargetType, useSiteInfo).Key
452Dim convKind = Conversions.ClassifyDirectCastConversion(unwrappedOperand.Type, resultType, useSiteInfo)
528Debug.Assert(resultType Is node.Type)
533If Not operand.Type.IsSameTypeIgnoringAll(unwrappedResultType) Then
535Dim convKind = Conversions.ClassifyConversion(operand.Type, unwrappedResultType, useSiteInfo).Key
586operand.Type)
607Debug.Assert(operand.Type.IsNullableType)
622Dim resultType As TypeSymbol = outConversion.Type
666inputToOperatorMethod = WrapInNullable(NullableValueOrDefault(capturedleft), capturedleft.Type)
681type:=operatorCall.Type)
700result.Type)
716Dim underlyingTypeTo = rewrittenConversion.Type.GetEnumUnderlyingTypeOrSelf()
735Dim underlyingTypeFrom = operand.Type.GetEnumUnderlyingTypeOrSelf()
801If Not operand.Type.IsObjectType() Then
806Conversions.ClassifyDirectCastConversion(operand.Type, objectType, useSiteInfo),
814Debug.Assert(memberSymbol.ReturnType.IsSameTypeIgnoringAll(node.Type))
823Conversions.ClassifyDirectCastConversion(node.Operand.Type, node.Type, CompoundUseSiteInfo(Of AssemblySymbol).Discarded))
829Return New BoundDirectCast(node.Syntax, node.Operand, node.ConversionKind, node.Type, Nothing)
873If Not operand.Type.IsObjectType() Then
875Debug.Assert(operand.Type.IsReferenceType)
881Conversions.ClassifyDirectCastConversion(operand.Type, typeFrom, useSiteInfo),
892Dim targetResultType = node.Type
961Dim operandType = operand.Type
1037Dim targetResultType = node.Type
1100Dim operandType = operand.Type
1174Dim targetResultType = node.Type
1201Return New BoundConversion(node.Syntax, callOperand.Arguments(0), node.ConversionKind, node.Checked, node.ExplicitCastInCode, node.Type)
1227Debug.Assert(node.ConversionKind = Conversions.ClassifyConversion(mathRound.ReturnType, node.Type, CompoundUseSiteInfo(Of AssemblySymbol).Discarded).Key)
1230node.Checked, node.ExplicitCastInCode, node.Type, Nothing)
1248Select Case node.Type.SpecialType
1267Select Case node.Type.SpecialType
1332Dim typeFrom As TypeSymbol = operand.Type
1333Dim typeTo As TypeSymbol = node.Type
1338Debug.Assert(node.ConversionKind = Conversions.ClassifyDirectCastConversion(operand.Type, node.Type, CompoundUseSiteInfo(Of AssemblySymbol).Discarded))
Lowering\LocalRewriter\LocalRewriter_ForTo.vb (27)
25Dim isObjectLoop = rewrittenControlVariable.Type.IsObjectType
94positiveFlag = New SynthesizedLocal(_currentMethodOrLambda, greaterThanOrEqual.Type, SynthesizedLocalKind.ForDirection, blockSyntax)
108Not rewrittenStep.Type.GetEnumUnderlyingTypeOrSelf.IsSignedIntegralType AndAlso
109Not rewrittenStep.Type.GetEnumUnderlyingTypeOrSelf.IsUnsignedIntegralType Then
114If stepValue.Type.IsNullableType Then
119If stepValue.Type.GetEnumUnderlyingTypeOrSelf.IsNumericType Then
127Dim literalUnderlyingType As TypeSymbol = stepValue.Type.GetEnumUnderlyingTypeOrSelf
128Dim literal As BoundExpression = New BoundLiteral(rewrittenStep.Syntax, ConstantValue.Default(literalUnderlyingType.SpecialType), stepValue.Type)
151positiveFlag = New SynthesizedLocal(_currentMethodOrLambda, isUp.Type, SynthesizedLocalKind.ForDirection, blockSyntax)
171rewrittenInitialValue.Type)
183type:=rewrittenInitialValue.Type
327If rewrittenStep.Type.GetEnumUnderlyingTypeOrSelf.IsUnsignedIntegralType Then
416Debug.Assert(Compilation.GetSpecialType(SpecialType.System_Object) Is rewrittenControlVariable.Type)
417Dim objType = rewrittenControlVariable.Type
578If controlVariable.Type.IsNullableType Then
594controlVariableUnwrapped.Type))
596If controlVariable.Type.IsNullableType Then
599WrapInNullable(newValue, controlVariable.Type),
600NullableNull(controlVariable.Syntax, controlVariable.Type))
621type:=controlVariable.Type
631Dim int32Type = [step].Type.ContainingAssembly.GetPrimitiveType(Microsoft.Cci.PrimitiveTypeCode.Int32)
633Dim bits As Integer = [step].Type.GetEnumUnderlyingTypeOrSelf.SpecialType.VBForToShiftBits()
637New BoundBinaryOperator(value.Syntax, BinaryOperatorKind.RightShift, [step], shiftConst, False, [step].Type))
639Return TransformRewrittenBinaryOperator(New BoundBinaryOperator(value.Syntax, BinaryOperatorKind.Xor, shiftedStep, value, False, value.Type))
682If stepValue.Type.GetEnumUnderlyingTypeOrSelf.IsUnsignedIntegralType Then
719If stepValue.Type.GetEnumUnderlyingTypeOrSelf.IsSignedIntegralType Then
732If controlVariable.Type.IsNullableType Then
Lowering\LocalRewriter\LocalRewriter_LateBindingHelpers.vb (25)
22If Not rewrittenReceiver.Type.IsObjectType Then
24Dim convKind = Conversions.ClassifyDirectCastConversion(rewrittenReceiver.Type, objectType, useSiteInfo)
114Dim arrayTemp As LocalSymbol = New SynthesizedLocal(Me._currentMethodOrLambda, arrayCreation.Type, SynthesizedLocalKind.LoweringTemp)
127If Not argument.Type.IsObjectType Then
129Dim convKind = Conversions.ClassifyDirectCastConversion(argument.Type, objectType, useSiteInfo)
151Return New BoundSequence(node, ImmutableArray.Create(arrayTemp), sideeffects.ToImmutableAndFree, arrayTempRef, arrayTempRef.Type)
169If Not rewrittenValue.Type.IsObjectType Then
170Dim convKind = Conversions.ClassifyDirectCastConversion(rewrittenValue.Type, objectType, useSiteInfo)
203Dim arrayTemp As LocalSymbol = New SynthesizedLocal(Me._currentMethodOrLambda, arrayCreation.Type, SynthesizedLocalKind.LoweringTemp)
216If Not argument.Type.IsObjectType Then
217Dim convKind = Conversions.ClassifyDirectCastConversion(argument.Type, objectType, useSiteInfo)
232If Not rewrittenValue.Type.IsObjectType Then
233Dim convKind = Conversions.ClassifyDirectCastConversion(rewrittenValue.Type, objectType, useSiteInfo)
241Return New BoundSequence(node, ImmutableArray.Create(arrayTemp), sideeffects.ToImmutableAndFree, arrayTempRef, arrayTempRef.Type)
254value.Type)
281If Not argument.Type.IsObjectType Then
283Dim convKind = Conversions.ClassifyDirectCastConversion(argument.Type, objectType, useSiteInfo)
346Dim booleanType = DirectCast(copyBackArrayRef.Type, ArrayTypeSymbol).ElementType
352Dim objectType = DirectCast(valueArrayRef.Type, ArrayTypeSymbol).ElementType
358Dim targetType = assignmentTarget.Type
749copyBackFlagArrayTemp = New SynthesizedLocal(Me._currentMethodOrLambda, copyBackFlagArray.Type, SynthesizedLocalKind.LoweringTemp)
753valueArrayTemp = New SynthesizedLocal(Me._currentMethodOrLambda, argumentsArray.Type, SynthesizedLocalKind.LoweringTemp)
835Dim valueTemp = New SynthesizedLocal(Me._currentMethodOrLambda, callerInvocation.Type, SynthesizedLocalKind.LoweringTemp)
844valueRef.Type)
902type:=argumentWithCapture.Type)
Lowering\LocalRewriter\LocalRewriter_LateInvocation.vb (1)
88result.Type)
Lowering\LocalRewriter\LocalRewriter_LocalDeclaration.vb (8)
201Conversions.ClassifyDirectCastConversion(flag.Type, objectType, useSiteInfo),
219flag.Type)
223compareExchange.Construct(flag.Type),
225ImmutableArray.Create(Of BoundExpression)(flag, newFlagInstance, New BoundLiteral(syntax, ConstantValue.Nothing, flag.Type)),
227flag.Type)
265Dim two = New BoundLiteral(syntax, ConstantValue.Create(2S), flagState.Type)
269New BoundLiteral(syntax, ConstantValue.Default(ConstantValueTypeDiscriminator.Int16), flagState.Type),
319New BoundLiteral(syntax, ConstantValue.Create(1S), flagState.Type),
Lowering\LocalRewriter\LocalRewriter_NullableHelpers.vb (32)
14Debug.Assert(nullableType.GetNullableUnderlyingType.IsSameTypeIgnoringAll(expr.Type))
114temp = New SynthesizedLocal(Me._currentMethodOrLambda, operand.Type, SynthesizedLocalKind.LoweringTemp)
116init = New BoundAssignmentOperator(operand.Syntax, localAccess, operand, True, operand.Type)
153Debug.Assert(expr.Type.IsNullableType)
174If Not _inExpressionLambda AndAlso expr.Type.IsNullableOfBoolean() Then
187New BoundLiteral(expr.Syntax, ConstantValue.False, expr.Type.GetNullableUnderlyingType()))
192Dim getValueOrDefaultMethod = GetNullableMethod(expr.Syntax, expr.Type, SpecialMember.System_Nullable_T_GetValueOrDefault, isOptional)
206Return If(isOptional, Nothing, New BoundBadExpression(expr.Syntax, LookupResultKind.NotReferencable, ImmutableArray(Of Symbol).Empty, ImmutableArray.Create(expr), expr.Type.GetNullableUnderlyingType(), hasErrors:=True))
210Debug.Assert(expr.Type.IsNullableType)
212Dim getValueOrDefaultWithDefaultValueMethod = GetNullableMethod(expr.Syntax, expr.Type, SpecialMember.System_Nullable_T_GetValueOrDefaultDefaultValue, isOptional:=True)
231conversion.Type.GetNullableUnderlyingType().Equals(conversion.Operand.Type, TypeCompareKind.AllIgnoreOptionsForVB)
235Debug.Assert(expr.Type.IsNullableType)
241Dim getValueMethod As MethodSymbol = GetNullableMethod(expr.Syntax, expr.Type, SpecialMember.System_Nullable_T_get_Value)
255Return New BoundBadExpression(expr.Syntax, LookupResultKind.NotReferencable, ImmutableArray(Of Symbol).Empty, ImmutableArray.Create(expr), expr.Type.GetNullableUnderlyingType(), hasErrors:=True)
262Debug.Assert(expr.Type.IsNullableType)
269Dim hasValueMethod As MethodSymbol = GetNullableMethod(expr.Syntax, expr.Type, SpecialMember.System_Nullable_T_get_HasValue)
309If (Not type.IsSameTypeIgnoringAll(candidateNullExpression.Type)) OrElse
353Debug.Assert(expr.Type.IsNullableType)
370Debug.Assert(expr.Type.IsNullableType)
399Debug.Assert(Not left.Type.IsNullableType)
400Debug.Assert(Not right.Type.IsNullableType)
498Debug.Assert(TypeSymbol.Equals(left.Type, right.Type, TypeCompareKind.ConsiderEverything))
499Debug.Assert(left.Type.IsBooleanType)
501Return MakeBinaryExpression(syntax, binaryOpKind, left, right, False, left.Type)
531second.Type)
542Debug.Assert(condition.Type.IsBooleanType, "ternary condition must be boolean")
543Debug.Assert(whenTrue.Type.IsSameTypeIgnoringAll(whenFalse.Type), "ternary branches must have same types")
550Return TransformRewrittenTernaryConditionalExpression(New BoundTernaryConditionalExpression(syntax, condition, whenTrue, whenFalse, Nothing, whenTrue.Type))
569If operand.Type.IsNullableType Then
Lowering\LocalRewriter\LocalRewriter_ObjectCreation.vb (22)
19node = node.Update(node.ConstructorOpt, node.Arguments, node.DefaultArguments, Nothing, node.Type)
39If node.Type.IsInterfaceType() Then
40Debug.Assert(result.Type.Equals(DirectCast(node.Type, NamedTypeSymbol).CoClassType))
43Dim conv As ConversionKind = Conversions.ClassifyDirectCastConversion(result.Type, node.Type, useSiteInfo)
46result = New BoundDirectCast(node.Syntax, result, conv, node.Type, Nothing)
48Debug.Assert(node.Type.IsSameTypeIgnoringAll(result.Type))
90Dim conversion = Conversions.ClassifyDirectCastConversion(createInstance.ReturnType, node.Type, useSiteInfo)
92rewrittenObjectCreation = New BoundDirectCast(node.Syntax, factory.Call(Nothing, createInstance, callGetTypeFromCLSID), conversion, node.Type)
94rewrittenObjectCreation = New BoundBadExpression(node.Syntax, LookupResultKind.OverloadResolutionFailure, ImmutableArray(Of Symbol).Empty, ImmutableArray(Of BoundExpression).Empty, node.Type, hasErrors:=True)
134Dim typeParameter = DirectCast(node.Type, TypeParameterSymbol)
186Dim expressionType = node.Type
201newPlaceholder = New BoundWithLValueExpressionPlaceholder(node.PlaceholderOpt.Syntax, node.PlaceholderOpt.Type)
252node.Type))
299Dim expressionType = node.Type
365assignment.Type)
393node.Type))
407Return objCreation.Update(objCreation.ConstructorOpt, objCreation.Arguments, objCreation.DefaultArguments, rewrittenInitializer, objCreation.Type)
411Return newT.Update(rewrittenInitializer, newT.Type)
422sequence.Type)
Lowering\LocalRewriter\LocalRewriter_RedimClause.vb (7)
55Conversions.ClassifyDirectCastConversion(arrayValueAccess.Type, systemArray, useSiteInfo),
59Conversions.ClassifyDirectCastConversion(valueBeingAssigned.Type, systemArray, useSiteInfo),
71Conversions.ClassifyDirectCastConversion(valueBeingAssigned.Type, assignmentTarget.Type, useSiteInfo),
72assignmentTarget.Type, Nothing)
93If(assignmentOperator.Type.IsVoidType(),
94assignmentOperator.Type,
Lowering\LocalRewriter\LocalRewriter_UnaryOperators.vb (22)
18Debug.Assert(node.Operand.Type.IsNullableOfBoolean())
28Return node.Update(operand, node.Type)
32Return New BoundLiteral(node.Syntax, ConstantValue.False, node.Type)
52binary.Left, binary.Right, binary.Checked, binary.ConstantValueOpt, binary.Type)
69Return node.Update(node.OperatorKind, VisitExpression(node.UnderlyingExpression), node.Type)
98Dim opType As TypeSymbol = node.Type
111Debug.Assert(node.Operand.Type.IsObjectType() AndAlso node.Type.IsObjectType())
139Debug.Assert(node.Operand.Type.IsDecimalType() AndAlso node.Type.IsDecimalType())
169Return NullableNull(operand, node.Type)
177Return WrapInNullable(unliftedOp, node.Type)
197WrapInNullable(unliftedOpOnCaptured, node.Type),
206value.Type)
238Dim resultType = operatorCall.Type
243Debug.Assert(operand.Type.IsNullableType, "operand must be nullable")
266Debug.Assert(callInput.Type.IsSameTypeIgnoringAll(operatorCall.Method.Parameters(0).Type),
279If Not whenHasValue.Type.IsSameTypeIgnoringAll(resultType) Then
283Debug.Assert(whenHasValue.Type.IsSameTypeIgnoringAll(resultType), "result type must be same as resultType")
304result.Type)
313Debug.Assert(Not operandValue.Type.IsNullableType)
323originalOperator.Type.GetNullableUnderlyingType))
Lowering\LocalRewriter\LocalRewriter_XmlLiterals.vb (11)
92Dim type = expr.Type
104attributes = CreateTempLocal(syntax, rewriterInfo.XmlnsAttributesPlaceholder.Type, VisitExpressionNode(rewriterInfo.XmlnsAttributes), sideEffects)
114Dim prefixes = CreateTempLocal(syntax, rewriterInfo.PrefixesPlaceholder.Type, prefixesArray, sideEffects)
118Dim namespaces = CreateTempLocal(syntax, rewriterInfo.NamespacesPlaceholder.Type, namespacesArray, sideEffects)
205Dim type = objCreation.Type
214attributes = CreateTempLocalInExpressionLambda(syntax, rewriterInfo.XmlnsAttributesPlaceholder.Type, VisitExpressionNode(rewriterInfo.XmlnsAttributes))
223Dim prefixes = CreateTempLocalInExpressionLambda(syntax, rewriterInfo.PrefixesPlaceholder.Type, prefixesArray)
226Dim namespaces = CreateTempLocalInExpressionLambda(syntax, rewriterInfo.NamespacesPlaceholder.Type, namespacesArray)
277objCreation.Type)
306prefixes = VisitExpressionNode(CreateCompilerGeneratedArray(syntax, rewriterInfo.PrefixesPlaceholder.Type, prefixesBuilder.ToImmutableAndFree()))
307namespaces = VisitExpressionNode(CreateCompilerGeneratedArray(syntax, rewriterInfo.NamespacesPlaceholder.Type, namespacesBuilder.ToImmutableAndFree()))
Lowering\SyntheticBoundNodeFactory.vb (31)
204Debug.Assert(receiver.Type.GetMembers(propertySym.Name).OfType(Of PropertySymbol)().Single() = propertySym)
214Dim propertySym = receiver.Type.GetMembers(name).OfType(Of PropertySymbol)().[Single]()
300Debug.Assert(left.Type.IsSameTypeIgnoringAll(right.Type) OrElse right.Type.IsErrorType() OrElse left.Type.IsErrorType())
307Debug.Assert(TypeSymbol.Equals(byRefLocal.Type, lValue.Type, TypeCompareKind.ConsiderEverything))
310Dim boundNode = New BoundReferenceAssignment(_syntax, Local(byRefLocal, isLValue:=True), lValue, isLValue:=True, type:=lValue.Type)
357Dim conversion = Conversions.ClassifyDirectCastConversion(expression.Type, Me.CurrentMethod.ReturnType, useSiteInfo)
620Return New BoundTernaryConditionalExpression(Me.Syntax, condition, ifTrue, ifFalse, Nothing, ifTrue.Type).MakeCompilerGenerated()
626Debug.Assert(expression.Type.IsReferenceType) 'Others are not supported yet
628Debug.Assert(Not expression.Type.IsErrorType)
631Return New BoundTryCast(Me.Syntax, expression, Conversions.ClassifyTryCastConversion(expression.Type, type, CompoundUseSiteInfo(Of AssemblySymbol).Discarded), type)
636Debug.Assert(expression.IsNothingLiteral OrElse expression.Type.IsReferenceType OrElse expression.Type.IsTypeParameter()) 'Others are not supported yet
638Debug.Assert(expression.Type Is Nothing OrElse Not expression.Type.IsErrorType)
645Conversions.ClassifyDirectCastConversion(expression.Type, type, CompoundUseSiteInfo(Of AssemblySymbol).Discarded)),
686Dim boundNode = New BoundSequence(_syntax, locals, sideEffects, result, result.Type)
793Debug.Assert(array.Type IsNot Nothing AndAlso array.Type.IsArrayType())
794Dim boundNode = New BoundArrayAccess(_syntax, array, indices, isLValue, (DirectCast(array.Type, ArrayTypeSymbol)).ElementType)
1017ElseIf type.IsErrorType() OrElse arg.Type.IsErrorType() Then
1020Return Convert(type, arg, Conversions.ClassifyConversion(arg.Type, type, CompoundUseSiteInfo(Of AssemblySymbol).Discarded).Key, isChecked)
1056Return New BoundBinaryConditionalExpression(Syntax, left, Nothing, Nothing, right, Nothing, left.Type)
1072Debug.Assert(operand.Type.IsReferenceType)
1073Dim boundNode = Binary(BinaryOperatorKind.Is, SpecialType(Microsoft.CodeAnalysis.SpecialType.System_Boolean), operand, Me.Null(operand.Type))
1079Debug.Assert(operand.Type.IsReferenceType)
1080Dim boundNode = Binary(BinaryOperatorKind.IsNot, SpecialType(Microsoft.CodeAnalysis.SpecialType.System_Boolean), operand, Me.Null(operand.Type))
1086Return New BoundUnaryOperator(expression.Syntax, UnaryOperatorKind.Not, expression, False, expression.Type)
1138valueOpt.Type)).MakeCompilerGenerated()
Lowering\UseTwiceRewriter.vb (43)
86ElseIf receiverOpt.IsLValue AndAlso receiverOpt.Type.IsReferenceType Then
89boundTemp = boundTemp.Update(boundTemp.LocalSymbol, isLValue:=True, type:=boundTemp.Type)
90receiver = New Result(New BoundSequence(capture.Syntax, ImmutableArray(Of LocalSymbol).Empty, ImmutableArray.Create(Of BoundExpression)(capture), boundTemp, boundTemp.Type),
92ElseIf Not receiverOpt.IsLValue AndAlso Not receiverOpt.Type.IsReferenceType AndAlso Not receiverOpt.Type.IsValueType Then
95boundTemp = boundTemp.Update(boundTemp.LocalSymbol, isLValue:=True, type:=boundTemp.Type)
97receiver = New Result(New BoundSequence(capture.Syntax, ImmutableArray(Of LocalSymbol).Empty, ImmutableArray.Create(Of BoundExpression)(capture), boundTemp, boundTemp.Type),
144Debug.Assert(type IsNot Nothing AndAlso Not type.IsVoidType() AndAlso value.Type Is type)
164Return CaptureInATemp(containingMember, value, value.Type, temporaries, referToTemp)
177ElseIf value.IsValue AndAlso value.Type IsNot Nothing AndAlso Not value.Type.IsVoidType() Then
188Dim second = New BoundLiteral(value.Syntax, constantValue, value.Type)
217If IsInvariantArray(node.Expression.Type) Then
240Dim second = node.Update(boundArrayTemp, indicesSecond.AsImmutableOrNull(), node.IsLValue, node.Type)
241Dim first = node.Update(storeArray, indicesFirst.AsImmutableOrNull(), node.IsLValue, node.Type)
255Dim temp = New SynthesizedLocal(containingMember, lvalue.Type, SynthesizedLocalKind.LoweringTemp, isByRef:=True)
258lvalue, isLValue:=True, type:=lvalue.Type).MakeCompilerGenerated()
260Dim second = New BoundLocal(lvalue.Syntax, temp, isLValue:=True, type:=lvalue.Type).MakeCompilerGenerated()
273Dim second = node.Update(Nothing, fieldSymbol, node.IsLValue, node.SuppressVirtualCalls, constantsInProgressOpt:=Nothing, node.Type)
315ElseIf receiverOpt.IsLValue AndAlso receiverOpt.Type.IsReferenceType Then
318ElseIf Not receiverOpt.IsLValue AndAlso Not receiverOpt.Type.IsReferenceType AndAlso Not receiverOpt.Type.IsValueType Then
321boundTemp = boundTemp.Update(boundTemp.LocalSymbol, isLValue:=True, type:=boundTemp.Type)
323receiver = New Result(New BoundSequence(capture.Syntax, ImmutableArray(Of LocalSymbol).Empty, ImmutableArray.Create(Of BoundExpression)(capture), boundTemp, boundTemp.Type),
330Debug.Assert(Not receiverOpt.Type.IsReferenceType)
348cloneTemp.Update(cloneTemp.LocalSymbol, isLValue:=True, cloneTemp.Type),
349cloneTemp.Type).MakeCompilerGenerated(),
350receiverOpt.Type).MakeCompilerGenerated()
354cloneTemp.Update(cloneTemp.LocalSymbol, isLValue:=True, cloneTemp.Type),
355receiverOpt.Type).MakeCompilerGenerated()
359complexReceiverFirst, receiverOpt.Type).MakeCompilerGenerated(),
401type:=node.Type)
412type:=node.Type)
443Dim temp = New SynthesizedLocal(containingMember, boundArgument.Type, SynthesizedLocalKind.LoweringTemp)
449boundArgument.Type)
465node.Type)
473node.Type)
488node.Type)
495node.Type)
543initializer.Update(firstArgsArray.AsImmutableOrNull(), initializer.Type), Nothing, Nothing, boundArray.Type)
545initializer.Update(secondArgsArray.AsImmutableOrNull(), initializer.Type), Nothing, Nothing, boundArray.Type)
Lowering\WithExpressionRewriter.vb (13)
93Dim type As TypeSymbol = value.Type
103value = New BoundLValueToRValueWrapper(value.Syntax, value, value.Type).MakeCompilerGenerated()
118Dim type As TypeSymbol = value.Type
143Return value.Update(boundArrayTemp, indices.AsImmutableOrNull(), value.IsLValue, value.Type)
159If value.IsValue AndAlso value.Type IsNot Nothing AndAlso Not value.Type.IsVoidType() Then
183Return value.Update(Nothing, fieldSymbol, value.IsLValue, value.SuppressVirtualCalls, value.ConstantsInProgressOpt, value.Type)
190Return value.Update(receiver, fieldSymbol, value.IsLValue, value.SuppressVirtualCalls, value.ConstantsInProgressOpt, value.Type)
198If value.IsLValue AndAlso value.Type.IsReferenceType Then
281Dim type As TypeSymbol = value.Type
304Debug.Assert(value.Type.IsStructureType OrElse value.Type.IsTypeParameter)
324If Not (state.DoNotUseByRefLocal OrElse (value.Kind = BoundKind.ArrayAccess AndAlso value.Type.Kind = SymbolKind.TypeParameter)) Then
Semantics\Operators.vb (53)
511Dim operandType = operand.Type
721Dim operandType = operand.Type
869Dim leftType As TypeSymbol = left.Type
870Dim rightType As TypeSymbol = right.Type
1047Dim leftType = left.Type
1048Dim rightType = right.Type
2955CollectUserDefinedOperators(argument.Type, Nothing, MethodKind.UserDefinedOperator,
2969CollectUserDefinedOperators(argument.Type, Nothing, MethodKind.UserDefinedOperator,
2992CollectUserDefinedOperators(argument.Type, Nothing, MethodKind.UserDefinedOperator,
2997CollectUserDefinedOperators(argument.Type, Nothing, MethodKind.UserDefinedOperator,
3002CollectUserDefinedOperators(argument.Type, Nothing, MethodKind.UserDefinedOperator,
3028CollectUserDefinedOperators(left.Type, right.Type, MethodKind.UserDefinedOperator,
3033CollectUserDefinedOperators(left.Type, right.Type, MethodKind.UserDefinedOperator,
3038CollectUserDefinedOperators(left.Type, right.Type, MethodKind.UserDefinedOperator,
3043CollectUserDefinedOperators(left.Type, right.Type, MethodKind.UserDefinedOperator,
3048CollectUserDefinedOperators(left.Type, right.Type, MethodKind.UserDefinedOperator,
3053CollectUserDefinedOperators(left.Type, right.Type, MethodKind.UserDefinedOperator,
3058CollectUserDefinedOperators(left.Type, right.Type, MethodKind.UserDefinedOperator,
3063CollectUserDefinedOperators(left.Type, right.Type, MethodKind.UserDefinedOperator,
3068CollectUserDefinedOperators(left.Type, right.Type, MethodKind.UserDefinedOperator,
3073CollectUserDefinedOperators(left.Type, right.Type, MethodKind.UserDefinedOperator,
3078CollectUserDefinedOperators(left.Type, right.Type, MethodKind.UserDefinedOperator,
3083CollectUserDefinedOperators(left.Type, right.Type, MethodKind.UserDefinedOperator,
3088CollectUserDefinedOperators(left.Type, right.Type, MethodKind.UserDefinedOperator,
3093CollectUserDefinedOperators(left.Type, right.Type, MethodKind.UserDefinedOperator,
3098CollectUserDefinedOperators(left.Type, right.Type, MethodKind.UserDefinedOperator,
3104CollectUserDefinedOperators(left.Type, right.Type, MethodKind.UserDefinedOperator,
3111CollectUserDefinedOperators(left.Type, right.Type, MethodKind.UserDefinedOperator,
3116CollectUserDefinedOperators(left.Type, right.Type, MethodKind.UserDefinedOperator,
3122CollectUserDefinedOperators(left.Type, right.Type, MethodKind.UserDefinedOperator,
3128CollectUserDefinedOperators(left.Type, right.Type, MethodKind.UserDefinedOperator,
3155argument1.Type.IsObjectType OrElse argument2.Type.IsObjectType,