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
1153If method IsNot Me.Method OrElse type IsNot Me.Type Then
1186If type IsNot Me.Type Then
1237If analysisKind <> Me.AnalysisKind OrElse isLValue <> Me.IsLValue OrElse type IsNot Me.Type Then
1279If isLValue <> Me.IsLValue OrElse type IsNot Me.Type Then
1312If type IsNot Me.Type Then
1356If document IsNot Me.Document OrElse type IsNot Me.Type Then
1420If operatorKind <> Me.OperatorKind OrElse operand IsNot Me.Operand OrElse checked <> Me.Checked OrElse constantValueOpt IsNot Me.ConstantValueOpt OrElse type IsNot Me.Type Then
1468If operatorKind <> Me.OperatorKind OrElse underlyingExpression IsNot Me.UnderlyingExpression OrElse type IsNot Me.Type Then
1508If operand IsNot Me.Operand OrElse type IsNot Me.Type Then
1581If 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
1637If operatorKind <> Me.OperatorKind OrElse underlyingExpression IsNot Me.UnderlyingExpression OrElse checked <> Me.Checked OrElse type IsNot Me.Type Then
1701If 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
1734If type IsNot Me.Type Then
1799If left IsNot Me.Left OrElse leftOnTheRightOpt IsNot Me.LeftOnTheRightOpt OrElse right IsNot Me.Right OrElse suppressObjectClone <> Me.SuppressObjectClone OrElse type IsNot Me.Type Then
1855If byRefLocal IsNot Me.ByRefLocal OrElse lValue IsNot Me.LValue OrElse isLValue <> Me.IsLValue OrElse type IsNot Me.Type Then
1972If 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
2045If 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
2144If 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
2295If underlyingExpression IsNot Me.UnderlyingExpression OrElse inOutConversionFlags <> Me.InOutConversionFlags OrElse type IsNot Me.Type Then
2367If 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
2431If operand IsNot Me.Operand OrElse conversionKind <> Me.ConversionKind OrElse constantValueOpt IsNot Me.ConstantValueOpt OrElse relaxationLambdaOpt IsNot Me.RelaxationLambdaOpt OrElse type IsNot Me.Type Then
2483If operand IsNot Me.Operand OrElse isTypeOfIsNotExpression <> Me.IsTypeOfIsNotExpression OrElse targetType IsNot Me.TargetType OrElse type IsNot Me.Type Then
2561If expression IsNot Me.Expression OrElse type IsNot Me.Type Then
3112If 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
3180If 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
3251If 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
3323If 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
3366If binder IsNot Me.Binder OrElse memberAccess IsNot Me.MemberAccess OrElse type IsNot Me.Type Then
3436If inferredType IsNot Me.InferredType OrElse argumentNamesOpt <> Me.ArgumentNamesOpt OrElse inferredNamesOpt <> Me.InferredNamesOpt OrElse arguments <> Me.Arguments OrElse type IsNot Me.Type Then
3471If naturalTypeOpt IsNot Me.NaturalTypeOpt OrElse arguments <> Me.Arguments OrElse type IsNot Me.Type Then
3560If 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
3594If guidString IsNot Me.GuidString OrElse initializerOpt IsNot Me.InitializerOpt OrElse type IsNot Me.Type Then
3645If binderOpt IsNot Me.BinderOpt OrElse declarations <> Me.Declarations OrElse arguments <> Me.Arguments OrElse type IsNot Me.Type Then
3696If binder IsNot Me.Binder OrElse propertyIndex <> Me.PropertyIndex OrElse type IsNot Me.Type Then
3739If binder IsNot Me.Binder OrElse value IsNot Me.Value OrElse type IsNot Me.Type Then
3806If createTemporaryLocalForInitialization <> Me.CreateTemporaryLocalForInitialization OrElse placeholderOpt IsNot Me.PlaceholderOpt OrElse initializers <> Me.Initializers OrElse type IsNot Me.Type Then
3837If placeholderOpt IsNot Me.PlaceholderOpt OrElse initializers <> Me.Initializers OrElse type IsNot Me.Type Then
3868If initializerOpt IsNot Me.InitializerOpt OrElse type IsNot Me.Type Then
3935If 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
4007If 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
4118If initializers <> Me.Initializers OrElse type IsNot Me.Type Then
4190If 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
4287If 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
4330If receiverOpt IsNot Me.ReceiverOpt OrElse eventSymbol IsNot Me.EventSymbol OrElse type IsNot Me.Type Then
4860If locals <> Me.Locals OrElse sideEffects <> Me.SideEffects OrElse valueOpt IsNot Me.ValueOpt OrElse type IsNot Me.Type Then
5928If value IsNot Me.Value OrElse type IsNot Me.Type Then
5961If type IsNot Me.Type Then
6001If type IsNot Me.Type Then
6034If type IsNot Me.Type Then
6067If type IsNot Me.Type Then
6111If sourceType IsNot Me.SourceType OrElse type IsNot Me.Type Then
6144If type IsNot Me.Type Then
6204If localSymbol IsNot Me.LocalSymbol OrElse isLValue <> Me.IsLValue OrElse type IsNot Me.Type Then
6275If localSymbol IsNot Me.LocalSymbol OrElse isLValue <> Me.IsLValue OrElse emitExpressions IsNot Me.EmitExpressions OrElse type IsNot Me.Type Then
6337If parameterSymbol IsNot Me.ParameterSymbol OrElse isLValue <> Me.IsLValue OrElse suppressVirtualCalls <> Me.SuppressVirtualCalls OrElse type IsNot Me.Type Then
6379If isOut <> Me.IsOut OrElse type IsNot Me.Type Then
6454If 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
6502If originalArgument IsNot Me.OriginalArgument OrElse localSymbol IsNot Me.LocalSymbol OrElse type IsNot Me.Type Then
6586If label IsNot Me.Label OrElse type IsNot Me.Type Then
6969If lastOperator IsNot Me.LastOperator OrElse type IsNot Me.Type Then
7023If expression IsNot Me.Expression OrElse type IsNot Me.Type Then
7058If conversionCall IsNot Me.ConversionCall OrElse type IsNot Me.Type Then
7161If 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
7199If underlyingExpression IsNot Me.UnderlyingExpression OrElse rangeVariables <> Me.RangeVariables OrElse compoundVariableType IsNot Me.CompoundVariableType OrElse binders <> Me.Binders OrElse type IsNot Me.Type Then
7234If underlyingExpression IsNot Me.UnderlyingExpression OrElse type IsNot Me.Type Then
7338If rangeVariable IsNot Me.RangeVariable OrElse value IsNot Me.Value OrElse type IsNot Me.Type Then
7456If 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
7491If group IsNot Me.Group OrElse type IsNot Me.Type Then
7535If rangeVariable IsNot Me.RangeVariable OrElse type IsNot Me.Type Then
7825If xmlNamespace IsNot Me.XmlNamespace OrElse localName IsNot Me.LocalName OrElse objectCreation IsNot Me.ObjectCreation OrElse type IsNot Me.Type Then
7869If xmlNamespace IsNot Me.XmlNamespace OrElse objectCreation IsNot Me.ObjectCreation OrElse type IsNot Me.Type Then
7922If declaration IsNot Me.Declaration OrElse childNodes <> Me.ChildNodes OrElse rewriterInfo IsNot Me.RewriterInfo OrElse type IsNot Me.Type Then
7981If 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
8034If target IsNot Me.Target OrElse data IsNot Me.Data OrElse objectCreation IsNot Me.ObjectCreation OrElse type IsNot Me.Type Then
8078If value IsNot Me.Value OrElse objectCreation IsNot Me.ObjectCreation OrElse type IsNot Me.Type Then
8144If name IsNot Me.Name OrElse value IsNot Me.Value OrElse matchesImport <> Me.MatchesImport OrElse objectCreation IsNot Me.ObjectCreation OrElse type IsNot Me.Type Then
8197If argument IsNot Me.Argument OrElse childNodes <> Me.ChildNodes OrElse rewriterInfo IsNot Me.RewriterInfo OrElse type IsNot Me.Type Then
8232If memberAccess IsNot Me.MemberAccess OrElse type IsNot Me.Type Then
8267If expression IsNot Me.Expression OrElse type IsNot Me.Type Then
8311If value IsNot Me.Value OrElse objectCreation IsNot Me.ObjectCreation OrElse type IsNot Me.Type Then
8535If activeHandlerLocal IsNot Me.ActiveHandlerLocal OrElse resumeTargetLocal IsNot Me.ResumeTargetLocal OrElse type IsNot Me.Type Then
8734If 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
8799If locals <> Me.Locals OrElse spillFields <> Me.SpillFields OrElse statements <> Me.Statements OrElse valueOpt IsNot Me.ValueOpt OrElse type IsNot Me.Type Then
8901If 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
8953If receiver IsNot Me.Receiver OrElse placeholder IsNot Me.Placeholder OrElse accessExpression IsNot Me.AccessExpression OrElse type IsNot Me.Type Then
9011If placeholderId <> Me.PlaceholderId OrElse capture <> Me.Capture OrElse type IsNot Me.Type Then
9084If 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
9133If valueTypeReceiver IsNot Me.ValueTypeReceiver OrElse referenceTypeReceiver IsNot Me.ReferenceTypeReceiver OrElse type IsNot Me.Type Then
9181If argument IsNot Me.Argument OrElse constantValueOpt IsNot Me.ConstantValueOpt OrElse type IsNot Me.Type Then
9221If expression IsNot Me.Expression OrElse type IsNot Me.Type Then
9269If contents <> Me.Contents OrElse constructionOpt IsNot Me.ConstructionOpt OrElse type IsNot Me.Type Then
12047Dim type as TypeSymbol = Me.VisitType(node.Type)
12052Dim type as TypeSymbol = Me.VisitType(node.Type)
12058Dim type as TypeSymbol = Me.VisitType(node.Type)
12063Dim type as TypeSymbol = Me.VisitType(node.Type)
12068Dim type as TypeSymbol = Me.VisitType(node.Type)
12073Dim type as TypeSymbol = Me.VisitType(node.Type)
12078Dim type as TypeSymbol = Me.VisitType(node.Type)
12083Dim type as TypeSymbol = Me.VisitType(node.Type)
12089Dim type as TypeSymbol = Me.VisitType(node.Type)
12100Dim type as TypeSymbol = Me.VisitType(node.Type)
12106Dim type as TypeSymbol = Me.VisitType(node.Type)
12113Dim type as TypeSymbol = Me.VisitType(node.Type)
12119Dim type as TypeSymbol = Me.VisitType(node.Type)
12125Dim type as TypeSymbol = Me.VisitType(node.Type)
12130Dim type as TypeSymbol = Me.VisitType(node.Type)
12135Dim type as TypeSymbol = Me.VisitType(node.Type)
12141Dim type as TypeSymbol = Me.VisitType(node.Type)
12146Dim type as TypeSymbol = Me.VisitType(node.Type)
12152Dim type as TypeSymbol = Me.VisitType(node.Type)
12157Dim type as TypeSymbol = Me.VisitType(node.Type)
12162Dim type as TypeSymbol = Me.VisitType(node.Type)
12167Dim type as TypeSymbol = Me.VisitType(node.Type)
12172Dim type as TypeSymbol = Me.VisitType(node.Type)
12177Dim type as TypeSymbol = Me.VisitType(node.Type)
12182Dim type as TypeSymbol = Me.VisitType(node.Type)
12188Dim type as TypeSymbol = Me.VisitType(node.Type)
12194Dim type as TypeSymbol = Me.VisitType(node.Type)
12200Dim type as TypeSymbol = Me.VisitType(node.Type)
12207Dim type as TypeSymbol = Me.VisitType(node.Type)
12213Dim type as TypeSymbol = Me.VisitType(node.Type)
12222Dim type as TypeSymbol = Me.VisitType(node.Type)
12227Dim type as TypeSymbol = Me.VisitType(node.Type)
12235Dim type as TypeSymbol = Me.VisitType(node.Type)
12242Dim type as TypeSymbol = Me.VisitType(node.Type)
12248Dim type as TypeSymbol = Me.VisitType(node.Type)
12256Dim type as TypeSymbol = Me.VisitType(node.Type)
12265Dim type as TypeSymbol = Me.VisitType(node.Type)
12272Dim 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)
12311Dim type as TypeSymbol = Me.VisitType(node.Type)
12322Dim type as TypeSymbol = Me.VisitType(node.Type)
12338Dim type as TypeSymbol = Me.VisitType(node.Type)
12344Dim type as TypeSymbol = Me.VisitType(node.Type)
12383Dim type as TypeSymbol = Me.VisitType(node.Type)
12390Dim type as TypeSymbol = Me.VisitType(node.Type)
12398Dim type as TypeSymbol = Me.VisitType(node.Type)
12406Dim type as TypeSymbol = Me.VisitType(node.Type)
12412Dim type as TypeSymbol = Me.VisitType(node.Type)
12418Dim type as TypeSymbol = Me.VisitType(node.Type)
12425Dim type as TypeSymbol = Me.VisitType(node.Type)
12433Dim type as TypeSymbol = Me.VisitType(node.Type)
12439Dim type as TypeSymbol = Me.VisitType(node.Type)
12446Dim type as TypeSymbol = Me.VisitType(node.Type)
12451Dim type as TypeSymbol = Me.VisitType(node.Type)
12457Dim type as TypeSymbol = Me.VisitType(node.Type)
12464Dim type as TypeSymbol = Me.VisitType(node.Type)
12471Dim type as TypeSymbol = Me.VisitType(node.Type)
12477Dim type as TypeSymbol = Me.VisitType(node.Type)
12486Dim type as TypeSymbol = Me.VisitType(node.Type)
12494Dim type as TypeSymbol = Me.VisitType(node.Type)
12501Dim type as TypeSymbol = Me.VisitType(node.Type)
12507Dim type as TypeSymbol = Me.VisitType(node.Type)
12513Dim type as TypeSymbol = Me.VisitType(node.Type)
12521Dim type as TypeSymbol = Me.VisitType(node.Type)
12527Dim type as TypeSymbol = Me.VisitType(node.Type)
12588Dim type as TypeSymbol = Me.VisitType(node.Type)
12709Dim type as TypeSymbol = Me.VisitType(node.Type)
12714Dim type as TypeSymbol = Me.VisitType(node.Type)
12719Dim type as TypeSymbol = Me.VisitType(node.Type)
12724Dim type as TypeSymbol = Me.VisitType(node.Type)
12729Dim type as TypeSymbol = Me.VisitType(node.Type)
12734Dim type as TypeSymbol = Me.VisitType(node.Type)
12739Dim type as TypeSymbol = Me.VisitType(node.Type)
12744Dim type as TypeSymbol = Me.VisitType(node.Type)
12749Dim type as TypeSymbol = Me.VisitType(node.Type)
12754Dim type as TypeSymbol = Me.VisitType(node.Type)
12759Dim type as TypeSymbol = Me.VisitType(node.Type)
12769Dim type as TypeSymbol = Me.VisitType(node.Type)
12775Dim type as TypeSymbol = Me.VisitType(node.Type)
12784Dim type as TypeSymbol = Me.VisitType(node.Type)
12811Dim type as TypeSymbol = Me.VisitType(node.Type)
12817Dim type as TypeSymbol = Me.VisitType(node.Type)
12823Dim type as TypeSymbol = Me.VisitType(node.Type)
12829Dim type as TypeSymbol = Me.VisitType(node.Type)
12835Dim type as TypeSymbol = Me.VisitType(node.Type)
12842Dim type as TypeSymbol = Me.VisitType(node.Type)
12849Dim type as TypeSymbol = Me.VisitType(node.Type)
12855Dim type as TypeSymbol = Me.VisitType(node.Type)
12861Dim type as TypeSymbol = Me.VisitType(node.Type)
12867Dim type as TypeSymbol = Me.VisitType(node.Type)
12872Dim type as TypeSymbol = Me.VisitType(node.Type)
12881Dim type as TypeSymbol = Me.VisitType(node.Type)
12887Dim type as TypeSymbol = Me.VisitType(node.Type)
12892Dim type as TypeSymbol = Me.VisitType(node.Type)
12930Dim type as TypeSymbol = Me.VisitType(node.Type)
12937Dim type as TypeSymbol = Me.VisitType(node.Type)
12944Dim type as TypeSymbol = Me.VisitType(node.Type)
12953Dim type as TypeSymbol = Me.VisitType(node.Type)
12961Dim type as TypeSymbol = Me.VisitType(node.Type)
12968Dim type as TypeSymbol = Me.VisitType(node.Type)
12976Dim type as TypeSymbol = Me.VisitType(node.Type)
12983Dim type as TypeSymbol = Me.VisitType(node.Type)
12989Dim type as TypeSymbol = Me.VisitType(node.Type)
12995Dim type as TypeSymbol = Me.VisitType(node.Type)
13002Dim type as TypeSymbol = Me.VisitType(node.Type)
13024Dim type as TypeSymbol = Me.VisitType(node.Type)
13049Dim type as TypeSymbol = Me.VisitType(node.Type)
13056Dim type as TypeSymbol = Me.VisitType(node.Type)
13073Dim type as TypeSymbol = Me.VisitType(node.Type)
13081Dim type as TypeSymbol = Me.VisitType(node.Type)
13086Dim type as TypeSymbol = Me.VisitType(node.Type)
13094Dim type as TypeSymbol = Me.VisitType(node.Type)
13101Dim type as TypeSymbol = Me.VisitType(node.Type)
13107Dim type as TypeSymbol = Me.VisitType(node.Type)
13113Dim type as TypeSymbol = Me.VisitType(node.Type)
13120Dim type as TypeSymbol = Me.VisitType(node.Type)
13146New TreeDumperNode("type", node.Type, Nothing)
13152New TreeDumperNode("type", node.Type, Nothing)
13159New TreeDumperNode("type", node.Type, Nothing)
13165New TreeDumperNode("type", node.Type, Nothing)
13171New TreeDumperNode("type", node.Type, Nothing)
13177New TreeDumperNode("type", node.Type, Nothing)
13183New TreeDumperNode("type", node.Type, Nothing)
13190New TreeDumperNode("type", node.Type, Nothing)
13199New TreeDumperNode("type", node.Type, Nothing)
13212New TreeDumperNode("type", node.Type, Nothing)
13220New TreeDumperNode("type", node.Type, Nothing)
13229New TreeDumperNode("type", node.Type, Nothing)
13236New TreeDumperNode("type", node.Type, Nothing)
13244New TreeDumperNode("type", node.Type, Nothing)
13251New TreeDumperNode("type", node.Type, Nothing)
13259New TreeDumperNode("type", node.Type, Nothing)
13267New TreeDumperNode("type", node.Type, Nothing)
13274New TreeDumperNode("type", node.Type, Nothing)
13283New TreeDumperNode("type", node.Type, Nothing)
13290New TreeDumperNode("type", node.Type, Nothing)
13296New TreeDumperNode("type", node.Type, Nothing)
13304New TreeDumperNode("type", node.Type, Nothing)
13311New TreeDumperNode("type", node.Type, Nothing)
13317New TreeDumperNode("type", node.Type, Nothing)
13324New TreeDumperNode("type", node.Type, Nothing)
13334New TreeDumperNode("type", node.Type, Nothing)
13342New TreeDumperNode("type", node.Type, Nothing)
13349New TreeDumperNode("type", node.Type, Nothing)
13360New TreeDumperNode("type", node.Type, Nothing)
13369New TreeDumperNode("type", node.Type, Nothing)
13379New TreeDumperNode("type", node.Type, Nothing)
13385New TreeDumperNode("type", node.Type, Nothing)
13395New TreeDumperNode("type", node.Type, Nothing)
13404New TreeDumperNode("type", node.Type, Nothing)
13413New TreeDumperNode("type", node.Type, Nothing)
13423New TreeDumperNode("type", node.Type, Nothing)
13434New TreeDumperNode("type", node.Type, Nothing)
13446New TreeDumperNode("type", node.Type, Nothing)
13468New TreeDumperNode("type", node.Type, Nothing)
13479New TreeDumperNode("type", node.Type, Nothing)
13489New TreeDumperNode("type", node.Type, Nothing)
13498New TreeDumperNode("type", node.Type, Nothing)
13511New TreeDumperNode("type", node.Type, Nothing)
13536New TreeDumperNode("type", node.Type, Nothing)
13546New TreeDumperNode("type", node.Type, Nothing)
13601New TreeDumperNode("type", node.Type, Nothing)
13612New TreeDumperNode("type", node.Type, Nothing)
13623New TreeDumperNode("type", node.Type, Nothing)
13634New TreeDumperNode("type", node.Type, Nothing)
13642New TreeDumperNode("type", node.Type, Nothing)
13652New TreeDumperNode("type", node.Type, Nothing)
13660New TreeDumperNode("type", node.Type, Nothing)
13671New TreeDumperNode("type", node.Type, Nothing)
13679New TreeDumperNode("type", node.Type, Nothing)
13688New TreeDumperNode("type", node.Type, Nothing)
13696New TreeDumperNode("type", node.Type, Nothing)
13704New TreeDumperNode("type", node.Type, Nothing)
13713New TreeDumperNode("type", node.Type, Nothing)
13721New TreeDumperNode("type", node.Type, Nothing)
13728New TreeDumperNode("type", node.Type, Nothing)
13739New TreeDumperNode("type", node.Type, Nothing)
13750New TreeDumperNode("type", node.Type, Nothing)
13762New TreeDumperNode("type", node.Type, Nothing)
13769New TreeDumperNode("type", node.Type, Nothing)
13780New TreeDumperNode("type", node.Type, Nothing)
13794New TreeDumperNode("type", node.Type, Nothing)
13802New TreeDumperNode("type", node.Type, Nothing)
13885New TreeDumperNode("type", node.Type, Nothing)
14047New TreeDumperNode("type", node.Type, Nothing)
14053New TreeDumperNode("type", node.Type, Nothing)
14059New TreeDumperNode("type", node.Type, Nothing)
14065New TreeDumperNode("type", node.Type, Nothing)
14071New TreeDumperNode("type", node.Type, Nothing)
14078New TreeDumperNode("type", node.Type, Nothing)
14084New TreeDumperNode("type", node.Type, Nothing)
14092New TreeDumperNode("type", node.Type, Nothing)
14101New TreeDumperNode("type", node.Type, Nothing)
14110New TreeDumperNode("type", node.Type, Nothing)
14117New TreeDumperNode("type", node.Type, Nothing)
14128New TreeDumperNode("type", node.Type, Nothing)
14136New TreeDumperNode("type", node.Type, Nothing)
14149New TreeDumperNode("type", node.Type, Nothing)
14189New TreeDumperNode("type", node.Type, Nothing)
14201New TreeDumperNode("type", node.Type, Nothing)
14208New TreeDumperNode("type", node.Type, Nothing)
14215New TreeDumperNode("type", node.Type, Nothing)
14222New TreeDumperNode("type", node.Type, Nothing)
14233New TreeDumperNode("type", node.Type, Nothing)
14243New TreeDumperNode("type", node.Type, Nothing)
14250New TreeDumperNode("type", node.Type, Nothing)
14260New TreeDumperNode("type", node.Type, Nothing)
14268New TreeDumperNode("type", node.Type, Nothing)
14277New TreeDumperNode("type", node.Type, Nothing)
14289New TreeDumperNode("type", node.Type, Nothing)
14296New TreeDumperNode("type", node.Type, Nothing)
14303New TreeDumperNode("type", node.Type, Nothing)
14350New TreeDumperNode("type", node.Type, Nothing)
14358New TreeDumperNode("type", node.Type, Nothing)
14367New TreeDumperNode("type", node.Type, Nothing)
14377New TreeDumperNode("type", node.Type, Nothing)
14386New TreeDumperNode("type", node.Type, Nothing)
14394New TreeDumperNode("type", node.Type, Nothing)
14404New TreeDumperNode("type", node.Type, Nothing)
14413New TreeDumperNode("type", node.Type, Nothing)
14420New TreeDumperNode("type", node.Type, Nothing)
14427New TreeDumperNode("type", node.Type, Nothing)
14435New TreeDumperNode("type", node.Type, Nothing)
14469New TreeDumperNode("type", node.Type, Nothing)
14497New TreeDumperNode("type", node.Type, Nothing)
14507New TreeDumperNode("type", node.Type, Nothing)
14525New TreeDumperNode("type", node.Type, Nothing)
14534New TreeDumperNode("type", node.Type, Nothing)
14542New TreeDumperNode("type", node.Type, Nothing)
14553New TreeDumperNode("type", node.Type, Nothing)
14561New TreeDumperNode("type", node.Type, Nothing)
14569New TreeDumperNode("type", node.Type, Nothing)
14576New TreeDumperNode("type", node.Type, Nothing)
14584New 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,