2017 references to Type
Microsoft.CodeAnalysis.VisualBasic (2017)
Analysis\FlowAnalysis\AbstractFlowPass.vb (5)
830Debug.Assert(node.ValueOpt IsNot Nothing OrElse node.HasErrors OrElse node.Type.SpecialType = SpecialType.System_Void) 986Return DirectCast(node, BoundLocal).Type.IsValueType 989Return DirectCast(node, BoundParameter).Type.IsValueType 1238If receiver.Type.IsReferenceType Then 1700Dim receiverType = receiver.Type
Analysis\FlowAnalysis\DataFlowPass.vb (3)
457If receiverOpt.Type Is Nothing OrElse receiverOpt.Type.TypeKind <> TypeKind.Structure Then 1014If IsEmptyStructType(node.Type) Then
Analysis\FlowAnalysis\ReadWriteWalker.vb (1)
145If receiver.Type.IsStructureType AndAlso receiverSyntax.Span.OverlapsWith(_region) Then NoteReceiverReadOrWritten(CType(receiver, BoundFieldAccess), readOrWritten)
Analysis\InitializerRewriter.vb (3)
212Debug.Assert(expr.Type IsNot Nothing) 213If expr.Type.SpecialType <> SpecialType.System_Void Then 227Debug.Assert(submissionResult.Type.SpecialType <> SpecialType.System_Void)
Analysis\IteratorAndAsyncAnalysis\IteratorAndAsyncCaptureWalker.vb (1)
265If TypeOf objCreation.Type Is LambdaFrame AndAlso objCreation.Arguments.Length = 1 Then
Binding\Binder_AnonymousTypes.vb (2)
244boundExpression = New BoundAnonymousTypeFieldInitializer(initializer, initializerBinder, boundExpression, boundExpression.Type).MakeCompilerGenerated() 248Dim fieldType As TypeSymbol = boundExpression.Type
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_ConditionalAccess.vb (1)
49Dim type As TypeSymbol = boundExpression.Type
Binding\Binder_Conversions.vb (14)
111Dim sourceType = argument.Type 228Dim sourceType = argument.Type 337If Not isExplicit AndAlso argument.Type.IsSameTypeIgnoringAll(targetType) Then 418Debug.Assert(argument.Type.IsNullableOfBoolean() AndAlso booleanType.IsBooleanType()) 442Debug.Assert(argument.Type.IsSameTypeIgnoringAll(targetType)) 471Dim sourceType = argument.Type 987Dim sourceType = argument.Type 1105Dim originalArgumentType As TypeSymbol = argument.Type 1205If argument.Type Is Nothing AndAlso Not argument.IsNothingLiteral() Then 1211argument = parenthesized.Update(enclosed, enclosed.Type) 1321Debug.Assert(anonymousDelegate.Type Is anonymousDelegateInfo.Key) 1512Debug.Assert(lambda.Type Is Nothing) 1677sourceTuple.Type, 1681If Not TypeSymbol.Equals(sourceTuple.Type, destination, TypeCompareKind.ConsiderEverything) AndAlso convKind <> Nothing Then
Binding\Binder_Delegates.vb (6)
51Return New BoundLateAddressOfOperator(node, Me, DirectCast(boundOperand, BoundLateMemberAccess), boundOperand.Type) 147boundConversion.Type) 1096Debug.Assert(Not actualReceiver.Type.IsTypeParameter()) 1100relaxationReceiverPlaceholder = New BoundRValuePlaceholder(actualReceiver.Syntax, actualReceiver.Type) 1246receiver.Type.IsDelegateType() AndAlso 1247receiver.Type.IsAnonymousType Then
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_Initializers.vb (5)
214If expression.Type Is Nothing OrElse expression.Type.SpecialType <> SpecialType.System_Void Then 549targetType = If(boundInitValue.Type, ErrorTypeSymbol.UnknownResultType) 621If (valueExpression.Type Is Nothing OrElse Not valueExpression.Type.IsErrorType) Then
Binding\Binder_InterpolatedString.vb (6)
77Debug.Assert(node.Type.SpecialType = SpecialType.System_String) 101factoryType:=node.Type, 103targetType:=node.Type, 105node.Type) 136node.Type) 229If Not result.Type.Equals(targetType) Then
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_Lambda.vb (2)
940lambdaReturnType = returnExpression.Type 1062If expr Is Nothing OrElse expr.Type Is LambdaSymbol.ReturnTypeIsBeingInferred Then
Binding\Binder_Latebound.vb (2)
115If receiver IsNot Nothing AndAlso receiver.Type IsNot Nothing AndAlso receiver.Type.IsInterfaceType Then
Binding\Binder_ObjectInitializer.vb (5)
208Debug.Assert(objectInitializerExpressionOpt Is Nothing OrElse TypeSymbol.Equals(objectInitializerExpressionOpt.Type, type0, TypeCompareKind.ConsiderEverything)) 465badExpression.Type) 514Debug.Assert(resultExpression.Type.IsSameTypeIgnoringAll(type0)) 605Return BadExpression(node, children, expr.Type) 745propertyAccess.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_SelectCase.vb (8)
31Dim exprPlaceHolder = New BoundRValuePlaceholder(selectExprStatementSyntax.Expression, expression.Type) 47convertCaseElements:=expression.Type.IsIntrinsicOrEnumType(), 75Return New BoundParenthesized(node, boundExpression, boundExpression.Type) 332If convertCaseElements AndAlso caseExpr.Type.IsIntrinsicOrEnumType() Then 336Debug.Assert(selectExpressionOpt.Type IsNot Nothing) 337Return ApplyImplicitConversion(expressionSyntax, selectExpressionOpt.Type, caseExpr, diagnostics) 572If Not caseBlocks.Any() OrElse Not selectExpr.Type.IsValidTypeForSwitchTable() Then 576Dim isSelectExprStringType = selectExpr.Type.IsStringType
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_Utils.vb (2)
1396Dim conversionType As TypeSymbol = conv.Type 1397Dim operandType As TypeSymbol = operand.Type
Binding\Binder_WithBlock.vb (4)
239placeholder = New BoundWithLValueExpressionPlaceholder(Me.Expression, boundExpression.Type) 241placeholder = New BoundWithRValueExpressionPlaceholder(Me.Expression, boundExpression.Type) 284Dim type As TypeSymbol = node.Type 292Dim type As TypeSymbol = node.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))
Binding\MemberSemanticModel.vb (6)
614Return TryCast(boundExpression.Type, AnonymousTypeManager.AnonymousTypePublicSymbol) 640Dim anonymousType = TryCast(boundExpression.Type, AnonymousTypeManager.AnonymousTypePublicSymbol) 784If boundCurrentConversion IsNot Nothing AndAlso Not boundCurrentConversion.Type.IsErrorType() Then 788elementConversion = New Conversion(Conversions.ClassifyConversion(elementType, boundCurrentConversion.Type, useSiteInfo:=CompoundUseSiteInfo(Of AssemblySymbol).Discarded)) 803If(enumeratorInfo.NeedToDispose OrElse (originalCollection.Type IsNot Nothing AndAlso originalCollection.Type.IsArrayType()),
Binding\SyntheticBoundTrees\AnonymousTypeSyntheticMethods.vb (1)
297ternary, ternary.Type).MakeCompilerGenerated()
Binding\SyntheticBoundTrees\SynthesizedPropertyAccessorBase.vb (3)
174Dim handlerLocal = New SynthesizedLocal(accessor, handledEvent.delegateCreation.Type, SynthesizedLocalKind.LoweringTemp) 187localAccess.Type)) 210Dim withEventsLocal = New SynthesizedLocal(accessor, withEventsValue.Type, SynthesizedLocalKind.LoweringTemp)
BoundTree\BoundAnonymousTypeCreationExpression.vb (1)
15Dim type = Me.Type
BoundTree\BoundArrayAccess.vb (1)
25Return Update(_Expression, _Indices, False, Type)
BoundTree\BoundArrayCreation.vb (4)
25If Type.Kind = SymbolKind.ArrayType Then 26elementType = DirectCast(Type, ArrayTypeSymbol).ElementType 41If Not elementType.IsErrorType() AndAlso Not item.Type.IsErrorType() Then 42Debug.Assert(elementType.IsSameTypeIgnoringAll(item.Type))
BoundTree\BoundAssignmentOperator.vb (11)
44left.Type.ContainingAssembly.GetSpecialType(SpecialType.System_Void), 45left.Type)), 51Debug.Assert(Left.Type IsNot Nothing) 62Debug.Assert(Type.IsVoidType()) 66Debug.Assert(Type.IsVoidType()) 85Debug.Assert(Left.Type.IsSameTypeIgnoringAll(Right.Type)) 92Left.Type.IsSameTypeIgnoringAll(Type) OrElse 93(Type.IsVoidType() AndAlso Syntax.Kind = SyntaxKind.MidAssignmentStatement) OrElse 96Type.IsVoidType()))
BoundTree\BoundAwaitOperator.vb (2)
11Debug.Assert(Type.Equals(GetResult.Type))
BoundTree\BoundBadVariable.vb (1)
22Return Update(_Expression, False, Type)
BoundTree\BoundBinaryConditionalExpression.vb (10)
30Type.IsSameTypeIgnoringAll(ElseExpression.Type)) 34Debug.Assert(Type.IsSameTypeIgnoringAll(ConvertedTestExpression.Type)) 37Debug.Assert(TestExpressionPlaceholder.Type.IsSameTypeIgnoringAll(TestExpression.Type.GetNullableUnderlyingTypeOrSelf())) 40If Not Type.IsSameTypeIgnoringAll(TestExpression.Type.GetNullableUnderlyingTypeOrSelf()) Then 41Dim conversion As ConversionKind = Conversions.ClassifyDirectCastConversion(TestExpression.Type, Type, CompoundUseSiteInfo(Of AssemblySymbol).Discarded)
BoundTree\BoundBinaryOperator.vb (5)
31Debug.Assert(HasErrors OrElse Left.Type.IsSameTypeIgnoringAll(Right.Type) OrElse 43Dim leftType = TryCast(Left.Type.GetNullableUnderlyingTypeOrSelf(), NamedTypeSymbol) 57Right.Type.GetNullableUnderlyingTypeOrSelf(), 58Type.GetNullableUnderlyingTypeOrSelf())
BoundTree\BoundCall.vb (5)
60type:=Type) 87AssertArgument(isOperator, argument.IsLateBound, isLifted, argument.Type, parameter.Type) 99Type.IsNullableType() AndAlso 100Type.GetNullableUnderlyingType().IsSameTypeIgnoringAll(Method.ReturnType)) 102Debug.Assert(Type.IsSameTypeIgnoringAll(Method.ReturnType))
BoundTree\BoundConversion.vb (3)
68Debug.Assert(udc.UnderlyingExpression.Type.IsSameTypeIgnoringAll(Type)) 72Debug.Assert(udc.Type.IsNullableType() AndAlso Not underlyingCall.Method.Parameters(0).Type.IsNullableType())
BoundTree\BoundExpression.vb (1)
70ValidateConstantValue(Me.Type, Me.ConstantValueOpt)
BoundTree\BoundExpressionExtensions.vb (13)
47If node.Type.IsTypeParameter() OrElse Not node.Type.IsValueType Then 74Return node.Type IsNot Nothing 157Return node.Type 347Return node.Update(memberAccess, memberAccess.Type) 371Debug.Assert(node.Value.IsBad OrElse node.Type.IsValidForConstantValue(node.Value)) 373If node.Value.Discriminator = ConstantValueTypeDiscriminator.Int32 AndAlso node.Type.SpecialType = SpecialType.System_Int32 Then 426Dim type As SpecialType = expression.Type.SpecialType 454Dim type = node.Type 474Debug.Assert(node.Type Is Nothing) 475Return node.Type Is Nothing 641Debug.Assert(If(node.Type Is Nothing, 646Not node.Type.IsVoidType()))
BoundTree\BoundFieldAccess.vb (2)
30Return Update(_ReceiverOpt, _FieldSymbol, False, Me.SuppressVirtualCalls, Me.ConstantsInProgressOpt, Type) 57ValidateConstantValue(Me.Type, result)
BoundTree\BoundInterpolatedStringExpression.vb (1)
40Debug.Assert(Type.SpecialType = SpecialType.System_String)
BoundTree\BoundLateInvocation.vb (2)
28Return Me.Update(member, Me.ArgumentsOpt, Me.ArgumentNamesOpt, newAccessKind, Me.MethodOrPropertyGroupOpt, Me.Type) 39Debug.Assert(Type.IsObjectType())
BoundTree\BoundLateMemberAccess.vb (2)
30Return Me.Update(Me.NameOpt, Me.ContainerTypeOpt, Me.ReceiverOpt, Me.TypeArgumentsOpt, newAccessKind, Me.Type) 36Debug.Assert(Type.IsObjectType())
BoundTree\BoundLocal.vb (3)
33Return Update(_LocalSymbol, False, Type) 41If HasErrors OrElse Type.IsErrorType Then 49ValidateConstantValue(Me.Type, result)
BoundTree\BoundLocalDeclaration.vb (3)
39If InitializerOpt.Type Is Nothing Then 42Debug.Assert(LocalSymbol.Type.IsSameTypeIgnoringAll(InitializerOpt.Type) OrElse InitializerOpt.Type.IsErrorType() OrElse
BoundTree\BoundLValuePlaceholderBase.vb (1)
21Return New BoundLValueToRValueWrapper(Me.Syntax, Me, Me.Type).MakeCompilerGenerated() ' This is a compiler generated node
BoundTree\BoundLValueToRValueWrapper.vb (2)
16Debug.Assert(UnderlyingLValue.Type.IsSameTypeIgnoringAll(Type))
BoundTree\BoundMethodGroup.vb (2)
64If receiverOpt IsNot Nothing AndAlso receiverOpt.Type IsNot Nothing Then 68receiverOpt.Type,
BoundTree\BoundNewT.vb (1)
16Debug.Assert(Type.TypeKind = TypeKind.TypeParameter)
BoundTree\BoundNullableIsTrueOperator.vb (2)
15Debug.Assert(Type.IsBooleanType()) 16Debug.Assert(Operand.Type.IsNullableOfBoolean())
BoundTree\BoundObjectCreationExpressionBase.vb (2)
15Debug.Assert(InitializerOpt Is Nothing OrElse TypeSymbol.Equals(InitializerOpt.Type, Type, TypeCompareKind.ConsiderEverything))
BoundTree\BoundParameter.vb (1)
39Return Me.Update(_ParameterSymbol, False, SuppressVirtualCalls, Type)
BoundTree\BoundParenthesized.vb (2)
15Debug.Assert(Type Is _Expression.Type)
BoundTree\BoundPropertyAccess.vb (2)
70Debug.Assert(TypeSymbol.Equals(Me.Type, expectedType, TypeCompareKind.ConsiderEverything)) 91type:=Type)
BoundTree\BoundPseudoVariable.vb (2)
13Debug.Assert(Not Type.IsTypeParameter()) 20Return Update(_LocalSymbol, isLValue:=False, emitExpressions:=_EmitExpressions, type:=Type)
BoundTree\BoundQuerySource.vb (1)
14Me.New(source.Syntax, source, source.Type)
BoundTree\BoundReferenceAssignment.vb (3)
14Debug.Assert(ByRefLocal.LocalSymbol.IsByRef AndAlso LValue.IsLValue AndAlso TypeSymbol.Equals(Type, LValue.Type, TypeCompareKind.ConsiderEverything)) 24Return Update(ByRefLocal, LValue, False, Type)
BoundTree\BoundSequence.vb (6)
16Debug.Assert(Me.ValueOpt IsNot Nothing OrElse Me.HasErrors OrElse Me.Type.SpecialType = SpecialType.System_Void) 28Return Update(_Locals, _SideEffects, Me.ValueOpt.MakeRValue(), Type) 37Debug.Assert(Type.IsVoidType()) 39Debug.Assert(Type.IsSameTypeIgnoringAll(ValueOpt.Type)) 47Debug.Assert(val.IsValue AndAlso Not val.IsLValue AndAlso val.Type IsNot Nothing)
BoundTree\BoundSequencePointExpression.vb (3)
16Debug.Assert(Type Is _Expression.Type) 33Return Update(Expression.MakeRValue(), Type)
BoundTree\BoundSpillSequence.vb (1)
22Return Update(Locals, SpillFields, Statements, ValueOpt.MakeRValue(), Type)
BoundTree\BoundTernaryConditionalExpression.vb (7)
19If (Not Type.IsVoidType) Then 23Debug.Assert(Condition.IsNothingLiteral() OrElse Condition.Type.IsBooleanType() OrElse Not Condition.Type.IsValueType) 24Debug.Assert(WhenTrue.Type.IsSameTypeIgnoringAll(WhenFalse.Type)) 25Debug.Assert(Type.IsSameTypeIgnoringAll(WhenTrue.Type))
BoundTree\BoundToQueryableCollectionConversion.vb (1)
13Me.New([call].Syntax, [call], [call].Type)
BoundTree\BoundTreeRewriter.vb (1)
136Dim type As TypeSymbol = Me.VisitType(binary.Type)
BoundTree\BoundTypeExpression.vb (1)
19Return If(DirectCast(Me.AliasOpt, Symbol), Me.Type)
BoundTree\BoundUnaryOperator.vb (4)
28Debug.Assert(HasErrors OrElse Type.IsSameTypeIgnoringAll(Operand.Type)) 36Dim operandType = TryCast(Operand.Type.GetNullableUnderlyingTypeOrSelf(), NamedTypeSymbol) 46Type.GetNullableUnderlyingTypeOrSelf())
BoundTree\BoundUnstructuredExceptionHandlingCatchFilter.vb (1)
15Debug.Assert(Me.Type.IsBooleanType())
BoundTree\BoundUserDefinedBinaryOperator.vb (9)
33Debug.Assert(Type.Equals(UnderlyingExpression.Type)) 49Debug.Assert(argument.Type.IsNullableType() AndAlso 50argument.Type.GetNullableUnderlyingType().IsSameTypeIgnoringAll(parameter.Type)) 53Debug.Assert(underlyingCall.Type.IsNullableType()) 54Debug.Assert(underlyingCall.Type.IsSameTypeIgnoringAll(underlyingCall.Method.ReturnType) OrElse 56underlyingCall.Type.GetNullableUnderlyingType().IsSameTypeIgnoringAll(underlyingCall.Method.ReturnType))) 62Debug.Assert(argument.Type.IsSameTypeIgnoringAll(parameter.Type)) 65Debug.Assert(underlyingCall.Type.IsSameTypeIgnoringAll(underlyingCall.Method.ReturnType))
BoundTree\BoundUserDefinedConversion.vb (2)
74Debug.Assert(operand.Type.IsSameTypeIgnoringAll(Type))
BoundTree\BoundUserDefinedShortCircuitingOperator.vb (1)
15Debug.Assert(LeftTest Is Nothing OrElse LeftTest.Type.IsBooleanType())
BoundTree\BoundUserDefinedUnaryOperator.vb (9)
27Debug.Assert(TypeSymbol.Equals(Type, UnderlyingExpression.Type, TypeCompareKind.ConsiderEverything)) 41argument.Type.IsNullableType() AndAlso 42argument.Type.GetNullableUnderlyingType().IsSameTypeIgnoringAll(parameter.Type)) 44Debug.Assert(underlyingCall.Type.IsNullableType()) 45Debug.Assert(underlyingCall.Type.IsSameTypeIgnoringAll(underlyingCall.Method.ReturnType) OrElse 47underlyingCall.Type.GetNullableUnderlyingType().IsSameTypeIgnoringAll(underlyingCall.Method.ReturnType))) 49Debug.Assert(argument.Type.IsSameTypeIgnoringAll(parameter.Type)) 50Debug.Assert(underlyingCall.Type.IsSameTypeIgnoringAll(underlyingCall.Method.ReturnType))
BoundTree\BoundValueTypeMeReference.vb (2)
15Debug.Assert(Me.Type.IsValueType) 16Debug.Assert(Not Me.Type.IsTypeParameter)
BoundTree\BoundXmlAttribute.vb (2)
14Debug.Assert(TypeSymbol.Equals(Type, ObjectCreation.Type, TypeCompareKind.ConsiderEverything))
CodeGen\EmitAddress.vb (11)
73Debug.Assert(Not expression.Type.IsReferenceType) 74Debug.Assert(Not expression.Type.IsValueType OrElse expression.Type.IsNullableType()) 91Debug.Assert(expression.Type.IsValueType, "only valuetypes may need a ref to Me/MyClass") 144Dim value = AllocateTemp(expression.Type, expression.Syntax) 293Return addressKind = AddressKind.ReadOnly OrElse addressKind = AddressKind.Immutable Or expression.Type.IsNullableType() 359Dim localConstType = boundLocal.Type 409Dim elementType As TypeSymbol = arrayAccess.Type 417If DirectCast(arrayAccess.Expression.Type, ArrayTypeSymbol).IsSZArray Then 421_builder.EmitArrayElementAddress(_module.Translate(DirectCast(arrayAccess.Expression.Type, ArrayTypeSymbol)), arrayAccess.Syntax) 464Dim receiverType = receiver.Type
CodeGen\EmitArrayInitializer.vb (1)
186Dim type As TypeSymbol = init.Type.GetEnumUnderlyingTypeOrSelf
CodeGen\EmitConversion.vb (18)
57Debug.Assert(underlyingFrom = conversion.Operand.Type.GetEnumUnderlyingTypeOrSelf().PrimitiveTypeCode) 58Debug.Assert(underlyingTo = conversion.Type.GetEnumUnderlyingTypeOrSelf().PrimitiveTypeCode) 156Dim typeTo = conversion.Type 167Dim typeFrom = conversion.Operand.Type 284Dim typeTo As TypeSymbol = conversion.Type 285Dim typeFrom As TypeSymbol = conversion.Operand.Type 307If conversion.Type.IsTypeParameter() Then 308EmitLoadDefaultValueOfTypeParameter(conversion.Type, used, conversion.Syntax) 313If conversion.Type.IsValueType Then 315EmitUnboxAny(conversion.Type, conversion.Syntax) 317Debug.Assert(conversion.Type.IsReferenceType) 325Dim typeTo = conversion.Type 326Dim typeFrom = conversion.Operand.Type 472If conversion.Type.IsTypeParameter() Then 474EmitLoadDefaultValueOfTypeParameter(conversion.Type, used:=True, syntaxNode:=conversion.Syntax) 476Debug.Assert(conversion.Type.IsReferenceType) 484Dim typeTo = conversion.Type 485Dim typeFrom = conversion.Operand.Type
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\EmitOperators.vb (24)
27Dim targetPrimitiveType = expression.Type.PrimitiveTypeCode 55If expression.Type.IsBooleanType() Then 67Dim targetPrimitiveType = expression.Type.PrimitiveTypeCode 89expression.Type.IsIntegralType() Then 249Return expression.Checked AndAlso expression.Type.IsIntegralType() 265Dim targetPrimitiveType = expression.Type.PrimitiveTypeCode 325Debug.Assert(expression.Right.Type.PrimitiveTypeCode = Cci.PrimitiveTypeCode.Int32) 327Dim shiftMax = GetShiftSizeMask(expression.Left.Type) 339Debug.Assert(expression.Right.Type.PrimitiveTypeCode = Cci.PrimitiveTypeCode.Int32) 342Dim shiftMax = GetShiftSizeMask(expression.Left.Type) 433Dim operandType = binOp.Left.Type 459Debug.Assert(binOp.Left.Type.SpecialType = SpecialType.System_Boolean) 460Debug.Assert(binOp.Right.Type.SpecialType = SpecialType.System_Boolean) 515Debug.Assert(binOp.Left.Type.SpecialType = SpecialType.System_Boolean) 516Debug.Assert(binOp.Right.Type.SpecialType = SpecialType.System_Boolean) 522Debug.Assert(binOp.Left.Type.SpecialType = SpecialType.System_Boolean) 523Debug.Assert(binOp.Right.Type.SpecialType = SpecialType.System_Boolean) 529Debug.Assert(binOp.Left.Type.SpecialType = SpecialType.System_Boolean) 530Debug.Assert(binOp.Right.Type.SpecialType = SpecialType.System_Boolean) 577Dim comparandType = comparand.Type 589Dim comparandType = comparand.Type 613Debug.Assert(condition.Type.SpecialType = SpecialType.System_Boolean) 643Debug.Assert(condition.Type.SpecialType = SpecialType.System_Boolean) 689Debug.Assert(unOp.OperatorKind = UnaryOperatorKind.Not AndAlso unOp.Type.IsBooleanType())
CodeGen\EmitStatement.vb (16)
199exceptionType = Me._module.Translate(exceptionSource.Type, exceptionSource.Syntax, _diagnostics) 309If exceptionSource.Type.IsTypeParameter Then 311EmitSymbolToken(exceptionSource.Type, exceptionSource.Syntax) 338Dim temp = AllocateTemp(exceptionSource.Type, exceptionSource.Syntax) 358Dim temp = AllocateTemp(exceptionSource.Type, exceptionSource.Syntax) 367Debug.Assert(receiver.Type.TypeKind <> TypeKind.TypeParameter) 518Dim nonConstType = nonConstOp.Type 565Dim operandType = expression.Left.Type 759Debug.Assert(unOp.Type.IsBooleanType()) 801Dim conditionType = condition.Type 815Debug.Assert(binOp.Left.IsNothingLiteral() OrElse binOp.Left.Type.SpecialType = SpecialType.System_Object OrElse binOp.WasCompilerGenerated) 816Debug.Assert(binOp.Right.IsNothingLiteral() OrElse binOp.Right.Type.SpecialType = SpecialType.System_Object OrElse binOp.WasCompilerGenerated) 910Dim operandType = operand.Type 930Debug.Assert(selectExpression.Type IsNot Nothing) 1042Debug.Assert(selectExpression.Type IsNot Nothing) 1050Dim exprType = selectExpression.Type
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)
Compilation\SemanticModel.vb (10)
800If Not resultNode.HasErrors AndAlso resultNode.Type Is Nothing Then 948type = lowestExpr.Type 972If highestExpr.Type IsNot Nothing AndAlso highestExpr.Type.TypeKind <> TypeKind.Error Then 973convertedType = highestExpr.Type 1000type = DirectCast(boundNodes.LowestBoundNodeOfSyntacticParent, BoundBadExpression).Type 1052Dim typeSymbol As TypeSymbol = boundType.Type 1072Dim namedType = DirectCast(attribute.Type, NamedTypeSymbol) 1124Dim meParam As ParameterSymbol = GetMeParameter(meReference.Type, containingType, containingMember, resultKind) 1445Debug.Assert(resultKind <> LookupResultKind.Good OrElse TypeSymbol.Equals(namedTypeSymbol, boundAttribute.Type, TypeCompareKind.ConsiderEverything))
Generated\BoundNodes.xml.Generated.vb (344)
279If type IsNot Me.Type Then 338If underlyingLValue IsNot Me.UnderlyingLValue OrElse type IsNot Me.Type Then 409If type IsNot Me.Type Then 442If type IsNot Me.Type Then 482If type IsNot Me.Type Then 522If type IsNot Me.Type Then 558If isReference <> Me.IsReference OrElse type IsNot Me.Type Then 614If resultKind <> Me.ResultKind OrElse symbols <> Me.Symbols OrElse childBoundNodes <> Me.ChildBoundNodes OrElse type IsNot Me.Type Then 687If expression IsNot Me.Expression OrElse type IsNot Me.Type Then 729If expression IsNot Me.Expression OrElse isLValue <> Me.IsLValue OrElse type IsNot Me.Type Then 786If expression IsNot Me.Expression OrElse indices <> Me.Indices OrElse isLValue <> Me.IsLValue OrElse type IsNot Me.Type Then 821If expression IsNot Me.Expression OrElse type IsNot Me.Type Then 864If sourceType IsNot Me.SourceType OrElse getTypeFromHandle IsNot Me.GetTypeFromHandle OrElse type IsNot Me.Type Then 908If field IsNot Me.Field OrElse type IsNot Me.Type Then 963If method IsNot Me.Method OrElse getMethodFromHandle IsNot Me.GetMethodFromHandle OrElse type IsNot Me.Type Then 1005If unevaluatedReceiverOpt IsNot Me.UnevaluatedReceiverOpt OrElse aliasOpt IsNot Me.AliasOpt OrElse type IsNot Me.Type Then 1047If data <> Me.Data OrElse type IsNot Me.Type Then 1146If method IsNot Me.Method OrElse type IsNot Me.Type Then 1179If type IsNot Me.Type Then 1230If analysisKind <> Me.AnalysisKind OrElse isLValue <> Me.IsLValue OrElse type IsNot Me.Type Then 1272If isLValue <> Me.IsLValue OrElse type IsNot Me.Type Then 1305If type IsNot Me.Type Then 1349If document IsNot Me.Document OrElse type IsNot Me.Type Then 1413If operatorKind <> Me.OperatorKind OrElse operand IsNot Me.Operand OrElse checked <> Me.Checked OrElse constantValueOpt IsNot Me.ConstantValueOpt OrElse type IsNot Me.Type Then 1461If operatorKind <> Me.OperatorKind OrElse underlyingExpression IsNot Me.UnderlyingExpression OrElse type IsNot Me.Type Then 1501If operand IsNot Me.Operand OrElse type IsNot Me.Type Then 1574If operatorKind <> Me.OperatorKind OrElse left IsNot Me.Left OrElse right IsNot Me.Right OrElse checked <> Me.Checked OrElse constantValueOpt IsNot Me.ConstantValueOpt OrElse type IsNot Me.Type Then 1630If operatorKind <> Me.OperatorKind OrElse underlyingExpression IsNot Me.UnderlyingExpression OrElse checked <> Me.Checked OrElse type IsNot Me.Type Then 1694If leftOperand IsNot Me.LeftOperand OrElse leftOperandPlaceholder IsNot Me.LeftOperandPlaceholder OrElse leftTest IsNot Me.LeftTest OrElse bitwiseOperator IsNot Me.BitwiseOperator OrElse type IsNot Me.Type Then 1727If type IsNot Me.Type Then 1792If left IsNot Me.Left OrElse leftOnTheRightOpt IsNot Me.LeftOnTheRightOpt OrElse right IsNot Me.Right OrElse suppressObjectClone <> Me.SuppressObjectClone OrElse type IsNot Me.Type Then 1848If byRefLocal IsNot Me.ByRefLocal OrElse lValue IsNot Me.LValue OrElse isLValue <> Me.IsLValue OrElse type IsNot Me.Type Then 1965If condition IsNot Me.Condition OrElse whenTrue IsNot Me.WhenTrue OrElse whenFalse IsNot Me.WhenFalse OrElse constantValueOpt IsNot Me.ConstantValueOpt OrElse type IsNot Me.Type Then 2038If testExpression IsNot Me.TestExpression OrElse convertedTestExpression IsNot Me.ConvertedTestExpression OrElse testExpressionPlaceholder IsNot Me.TestExpressionPlaceholder OrElse elseExpression IsNot Me.ElseExpression OrElse constantValueOpt IsNot Me.ConstantValueOpt OrElse type IsNot Me.Type Then 2137If operand IsNot Me.Operand OrElse conversionKind <> Me.ConversionKind OrElse checked <> Me.Checked OrElse explicitCastInCode <> Me.ExplicitCastInCode OrElse constantValueOpt IsNot Me.ConstantValueOpt OrElse extendedInfoOpt IsNot Me.ExtendedInfoOpt OrElse type IsNot Me.Type Then 2288If underlyingExpression IsNot Me.UnderlyingExpression OrElse inOutConversionFlags <> Me.InOutConversionFlags OrElse type IsNot Me.Type Then 2360If operand IsNot Me.Operand OrElse conversionKind <> Me.ConversionKind OrElse suppressVirtualCalls <> Me.SuppressVirtualCalls OrElse constantValueOpt IsNot Me.ConstantValueOpt OrElse relaxationLambdaOpt IsNot Me.RelaxationLambdaOpt OrElse type IsNot Me.Type Then 2424If operand IsNot Me.Operand OrElse conversionKind <> Me.ConversionKind OrElse constantValueOpt IsNot Me.ConstantValueOpt OrElse relaxationLambdaOpt IsNot Me.RelaxationLambdaOpt OrElse type IsNot Me.Type Then 2476If operand IsNot Me.Operand OrElse isTypeOfIsNotExpression <> Me.IsTypeOfIsNotExpression OrElse targetType IsNot Me.TargetType OrElse type IsNot Me.Type Then 2554If expression IsNot Me.Expression OrElse type IsNot Me.Type Then 3105If method IsNot Me.Method OrElse methodGroupOpt IsNot Me.MethodGroupOpt OrElse receiverOpt IsNot Me.ReceiverOpt OrElse arguments <> Me.Arguments OrElse defaultArguments <> Me.DefaultArguments OrElse constantValueOpt IsNot Me.ConstantValueOpt OrElse isLValue <> Me.IsLValue OrElse suppressObjectClone <> Me.SuppressObjectClone OrElse type IsNot Me.Type Then 3173If constructor IsNot Me.Constructor OrElse constructorArguments <> Me.ConstructorArguments OrElse constructorDefaultArguments <> Me.ConstructorDefaultArguments OrElse namedArguments <> Me.NamedArguments OrElse resultKind <> Me.ResultKind OrElse type IsNot Me.Type Then 3244If nameOpt IsNot Me.NameOpt OrElse containerTypeOpt IsNot Me.ContainerTypeOpt OrElse receiverOpt IsNot Me.ReceiverOpt OrElse typeArgumentsOpt IsNot Me.TypeArgumentsOpt OrElse accessKind <> Me.AccessKind OrElse type IsNot Me.Type Then 3316If member IsNot Me.Member OrElse argumentsOpt <> Me.ArgumentsOpt OrElse argumentNamesOpt <> Me.ArgumentNamesOpt OrElse accessKind <> Me.AccessKind OrElse methodOrPropertyGroupOpt IsNot Me.MethodOrPropertyGroupOpt OrElse type IsNot Me.Type Then 3359If binder IsNot Me.Binder OrElse memberAccess IsNot Me.MemberAccess OrElse type IsNot Me.Type Then 3429If inferredType IsNot Me.InferredType OrElse argumentNamesOpt <> Me.ArgumentNamesOpt OrElse inferredNamesOpt <> Me.InferredNamesOpt OrElse arguments <> Me.Arguments OrElse type IsNot Me.Type Then 3464If naturalTypeOpt IsNot Me.NaturalTypeOpt OrElse arguments <> Me.Arguments OrElse type IsNot Me.Type Then 3553If constructorOpt IsNot Me.ConstructorOpt OrElse methodGroupOpt IsNot Me.MethodGroupOpt OrElse arguments <> Me.Arguments OrElse defaultArguments <> Me.DefaultArguments OrElse initializerOpt IsNot Me.InitializerOpt OrElse type IsNot Me.Type Then 3587If guidString IsNot Me.GuidString OrElse initializerOpt IsNot Me.InitializerOpt OrElse type IsNot Me.Type Then 3638If binderOpt IsNot Me.BinderOpt OrElse declarations <> Me.Declarations OrElse arguments <> Me.Arguments OrElse type IsNot Me.Type Then 3689If binder IsNot Me.Binder OrElse propertyIndex <> Me.PropertyIndex OrElse type IsNot Me.Type Then 3732If binder IsNot Me.Binder OrElse value IsNot Me.Value OrElse type IsNot Me.Type Then 3799If createTemporaryLocalForInitialization <> Me.CreateTemporaryLocalForInitialization OrElse placeholderOpt IsNot Me.PlaceholderOpt OrElse initializers <> Me.Initializers OrElse type IsNot Me.Type Then 3830If placeholderOpt IsNot Me.PlaceholderOpt OrElse initializers <> Me.Initializers OrElse type IsNot Me.Type Then 3861If initializerOpt IsNot Me.InitializerOpt OrElse type IsNot Me.Type Then 3928If receiverOpt IsNot Me.ReceiverOpt OrElse method IsNot Me.Method OrElse relaxationLambdaOpt IsNot Me.RelaxationLambdaOpt OrElse relaxationReceiverPlaceholderOpt IsNot Me.RelaxationReceiverPlaceholderOpt OrElse methodGroupOpt IsNot Me.MethodGroupOpt OrElse type IsNot Me.Type Then 4000If isParamArrayArgument <> Me.IsParamArrayArgument OrElse bounds <> Me.Bounds OrElse initializerOpt IsNot Me.InitializerOpt OrElse arrayLiteralOpt IsNot Me.ArrayLiteralOpt OrElse arrayLiteralConversion <> Me.ArrayLiteralConversion OrElse type IsNot Me.Type Then 4111If initializers <> Me.Initializers OrElse type IsNot Me.Type Then 4183If receiverOpt IsNot Me.ReceiverOpt OrElse fieldSymbol IsNot Me.FieldSymbol OrElse isLValue <> Me.IsLValue OrElse suppressVirtualCalls <> Me.SuppressVirtualCalls OrElse constantsInProgressOpt IsNot Me.ConstantsInProgressOpt OrElse type IsNot Me.Type Then 4280If propertySymbol IsNot Me.PropertySymbol OrElse propertyGroupOpt IsNot Me.PropertyGroupOpt OrElse accessKind <> Me.AccessKind OrElse isWriteable <> Me.IsWriteable OrElse isLValue <> Me.IsLValue OrElse receiverOpt IsNot Me.ReceiverOpt OrElse arguments <> Me.Arguments OrElse defaultArguments <> Me.DefaultArguments OrElse type IsNot Me.Type Then 4323If receiverOpt IsNot Me.ReceiverOpt OrElse eventSymbol IsNot Me.EventSymbol OrElse type IsNot Me.Type Then 4853If locals <> Me.Locals OrElse sideEffects <> Me.SideEffects OrElse valueOpt IsNot Me.ValueOpt OrElse type IsNot Me.Type Then 5921If value IsNot Me.Value OrElse type IsNot Me.Type Then 5954If type IsNot Me.Type Then 5994If type IsNot Me.Type Then 6027If type IsNot Me.Type Then 6060If type IsNot Me.Type Then 6104If sourceType IsNot Me.SourceType OrElse type IsNot Me.Type Then 6137If type IsNot Me.Type Then 6197If localSymbol IsNot Me.LocalSymbol OrElse isLValue <> Me.IsLValue OrElse type IsNot Me.Type Then 6268If localSymbol IsNot Me.LocalSymbol OrElse isLValue <> Me.IsLValue OrElse emitExpressions IsNot Me.EmitExpressions OrElse type IsNot Me.Type Then 6330If parameterSymbol IsNot Me.ParameterSymbol OrElse isLValue <> Me.IsLValue OrElse suppressVirtualCalls <> Me.SuppressVirtualCalls OrElse type IsNot Me.Type Then 6372If isOut <> Me.IsOut OrElse type IsNot Me.Type Then 6447If originalArgument IsNot Me.OriginalArgument OrElse inConversion IsNot Me.InConversion OrElse inPlaceholder IsNot Me.InPlaceholder OrElse outConversion IsNot Me.OutConversion OrElse outPlaceholder IsNot Me.OutPlaceholder OrElse type IsNot Me.Type Then 6495If originalArgument IsNot Me.OriginalArgument OrElse localSymbol IsNot Me.LocalSymbol OrElse type IsNot Me.Type Then 6579If label IsNot Me.Label OrElse type IsNot Me.Type Then 6962If lastOperator IsNot Me.LastOperator OrElse type IsNot Me.Type Then 7016If expression IsNot Me.Expression OrElse type IsNot Me.Type Then 7051If conversionCall IsNot Me.ConversionCall OrElse type IsNot Me.Type Then 7154If source IsNot Me.Source OrElse rangeVariableOpt IsNot Me.RangeVariableOpt OrElse rangeVariables <> Me.RangeVariables OrElse compoundVariableType IsNot Me.CompoundVariableType OrElse binders <> Me.Binders OrElse type IsNot Me.Type Then 7192If underlyingExpression IsNot Me.UnderlyingExpression OrElse rangeVariables <> Me.RangeVariables OrElse compoundVariableType IsNot Me.CompoundVariableType OrElse binders <> Me.Binders OrElse type IsNot Me.Type Then 7227If underlyingExpression IsNot Me.UnderlyingExpression OrElse type IsNot Me.Type Then 7331If rangeVariable IsNot Me.RangeVariable OrElse value IsNot Me.Value OrElse type IsNot Me.Type Then 7449If capturedGroupOpt IsNot Me.CapturedGroupOpt OrElse groupPlaceholderOpt IsNot Me.GroupPlaceholderOpt OrElse underlyingExpression IsNot Me.UnderlyingExpression OrElse rangeVariables <> Me.RangeVariables OrElse compoundVariableType IsNot Me.CompoundVariableType OrElse binders <> Me.Binders OrElse type IsNot Me.Type Then 7484If group IsNot Me.Group OrElse type IsNot Me.Type Then 7528If rangeVariable IsNot Me.RangeVariable OrElse type IsNot Me.Type Then 7818If xmlNamespace IsNot Me.XmlNamespace OrElse localName IsNot Me.LocalName OrElse objectCreation IsNot Me.ObjectCreation OrElse type IsNot Me.Type Then 7862If xmlNamespace IsNot Me.XmlNamespace OrElse objectCreation IsNot Me.ObjectCreation OrElse type IsNot Me.Type Then 7915If declaration IsNot Me.Declaration OrElse childNodes <> Me.ChildNodes OrElse rewriterInfo IsNot Me.RewriterInfo OrElse type IsNot Me.Type Then 7974If version IsNot Me.Version OrElse encoding IsNot Me.Encoding OrElse standalone IsNot Me.Standalone OrElse objectCreation IsNot Me.ObjectCreation OrElse type IsNot Me.Type Then 8027If target IsNot Me.Target OrElse data IsNot Me.Data OrElse objectCreation IsNot Me.ObjectCreation OrElse type IsNot Me.Type Then 8071If value IsNot Me.Value OrElse objectCreation IsNot Me.ObjectCreation OrElse type IsNot Me.Type Then 8137If name IsNot Me.Name OrElse value IsNot Me.Value OrElse matchesImport <> Me.MatchesImport OrElse objectCreation IsNot Me.ObjectCreation OrElse type IsNot Me.Type Then 8190If argument IsNot Me.Argument OrElse childNodes <> Me.ChildNodes OrElse rewriterInfo IsNot Me.RewriterInfo OrElse type IsNot Me.Type Then 8225If memberAccess IsNot Me.MemberAccess OrElse type IsNot Me.Type Then 8260If expression IsNot Me.Expression OrElse type IsNot Me.Type Then 8304If value IsNot Me.Value OrElse objectCreation IsNot Me.ObjectCreation OrElse type IsNot Me.Type Then 8528If activeHandlerLocal IsNot Me.ActiveHandlerLocal OrElse resumeTargetLocal IsNot Me.ResumeTargetLocal OrElse type IsNot Me.Type Then 8727If operand IsNot Me.Operand OrElse awaitableInstancePlaceholder IsNot Me.AwaitableInstancePlaceholder OrElse getAwaiter IsNot Me.GetAwaiter OrElse awaiterInstancePlaceholder IsNot Me.AwaiterInstancePlaceholder OrElse isCompleted IsNot Me.IsCompleted OrElse getResult IsNot Me.GetResult OrElse type IsNot Me.Type Then 8792If locals <> Me.Locals OrElse spillFields <> Me.SpillFields OrElse statements <> Me.Statements OrElse valueOpt IsNot Me.ValueOpt OrElse type IsNot Me.Type Then 8894If original IsNot Me.Original OrElse start IsNot Me.Start OrElse lengthOpt IsNot Me.LengthOpt OrElse source IsNot Me.Source OrElse type IsNot Me.Type Then 8946If receiver IsNot Me.Receiver OrElse placeholder IsNot Me.Placeholder OrElse accessExpression IsNot Me.AccessExpression OrElse type IsNot Me.Type Then 9004If placeholderId <> Me.PlaceholderId OrElse capture <> Me.Capture OrElse type IsNot Me.Type Then 9077If receiver IsNot Me.Receiver OrElse captureReceiver <> Me.CaptureReceiver OrElse placeholderId <> Me.PlaceholderId OrElse whenNotNull IsNot Me.WhenNotNull OrElse whenNullOpt IsNot Me.WhenNullOpt OrElse type IsNot Me.Type Then 9126If valueTypeReceiver IsNot Me.ValueTypeReceiver OrElse referenceTypeReceiver IsNot Me.ReferenceTypeReceiver OrElse type IsNot Me.Type Then 9174If argument IsNot Me.Argument OrElse constantValueOpt IsNot Me.ConstantValueOpt OrElse type IsNot Me.Type Then 9214If expression IsNot Me.Expression OrElse type IsNot Me.Type Then 9262If contents <> Me.Contents OrElse constructionOpt IsNot Me.ConstructionOpt OrElse type IsNot Me.Type Then 12040Dim type as TypeSymbol = Me.VisitType(node.Type) 12045Dim type as TypeSymbol = Me.VisitType(node.Type) 12051Dim type as TypeSymbol = Me.VisitType(node.Type) 12056Dim type as TypeSymbol = Me.VisitType(node.Type) 12061Dim type as TypeSymbol = Me.VisitType(node.Type) 12066Dim type as TypeSymbol = Me.VisitType(node.Type) 12071Dim type as TypeSymbol = Me.VisitType(node.Type) 12076Dim type as TypeSymbol = Me.VisitType(node.Type) 12082Dim type as TypeSymbol = Me.VisitType(node.Type) 12093Dim type as TypeSymbol = Me.VisitType(node.Type) 12099Dim type as TypeSymbol = Me.VisitType(node.Type) 12106Dim type as TypeSymbol = Me.VisitType(node.Type) 12112Dim type as TypeSymbol = Me.VisitType(node.Type) 12118Dim type as TypeSymbol = Me.VisitType(node.Type) 12123Dim type as TypeSymbol = Me.VisitType(node.Type) 12128Dim type as TypeSymbol = Me.VisitType(node.Type) 12134Dim type as TypeSymbol = Me.VisitType(node.Type) 12139Dim type as TypeSymbol = Me.VisitType(node.Type) 12145Dim type as TypeSymbol = Me.VisitType(node.Type) 12150Dim type as TypeSymbol = Me.VisitType(node.Type) 12155Dim type as TypeSymbol = Me.VisitType(node.Type) 12160Dim type as TypeSymbol = Me.VisitType(node.Type) 12165Dim type as TypeSymbol = Me.VisitType(node.Type) 12170Dim type as TypeSymbol = Me.VisitType(node.Type) 12175Dim type as TypeSymbol = Me.VisitType(node.Type) 12181Dim type as TypeSymbol = Me.VisitType(node.Type) 12187Dim type as TypeSymbol = Me.VisitType(node.Type) 12193Dim type as TypeSymbol = Me.VisitType(node.Type) 12200Dim type as TypeSymbol = Me.VisitType(node.Type) 12206Dim type as TypeSymbol = Me.VisitType(node.Type) 12215Dim type as TypeSymbol = Me.VisitType(node.Type) 12220Dim type as TypeSymbol = Me.VisitType(node.Type) 12228Dim type as TypeSymbol = Me.VisitType(node.Type) 12235Dim type as TypeSymbol = Me.VisitType(node.Type) 12241Dim type as TypeSymbol = Me.VisitType(node.Type) 12249Dim type as TypeSymbol = Me.VisitType(node.Type) 12258Dim type as TypeSymbol = Me.VisitType(node.Type) 12265Dim type as TypeSymbol = Me.VisitType(node.Type) 12283Dim type as TypeSymbol = Me.VisitType(node.Type) 12290Dim type as TypeSymbol = Me.VisitType(node.Type) 12297Dim type as TypeSymbol = Me.VisitType(node.Type) 12304Dim type as TypeSymbol = Me.VisitType(node.Type) 12315Dim type as TypeSymbol = Me.VisitType(node.Type) 12331Dim type as TypeSymbol = Me.VisitType(node.Type) 12337Dim type as TypeSymbol = Me.VisitType(node.Type) 12376Dim type as TypeSymbol = Me.VisitType(node.Type) 12383Dim type as TypeSymbol = Me.VisitType(node.Type) 12391Dim type as TypeSymbol = Me.VisitType(node.Type) 12399Dim type as TypeSymbol = Me.VisitType(node.Type) 12405Dim type as TypeSymbol = Me.VisitType(node.Type) 12411Dim type as TypeSymbol = Me.VisitType(node.Type) 12418Dim type as TypeSymbol = Me.VisitType(node.Type) 12426Dim type as TypeSymbol = Me.VisitType(node.Type) 12432Dim type as TypeSymbol = Me.VisitType(node.Type) 12439Dim type as TypeSymbol = Me.VisitType(node.Type) 12444Dim type as TypeSymbol = Me.VisitType(node.Type) 12450Dim type as TypeSymbol = Me.VisitType(node.Type) 12457Dim type as TypeSymbol = Me.VisitType(node.Type) 12464Dim type as TypeSymbol = Me.VisitType(node.Type) 12470Dim type as TypeSymbol = Me.VisitType(node.Type) 12479Dim type as TypeSymbol = Me.VisitType(node.Type) 12487Dim type as TypeSymbol = Me.VisitType(node.Type) 12494Dim type as TypeSymbol = Me.VisitType(node.Type) 12500Dim type as TypeSymbol = Me.VisitType(node.Type) 12506Dim type as TypeSymbol = Me.VisitType(node.Type) 12514Dim type as TypeSymbol = Me.VisitType(node.Type) 12520Dim type as TypeSymbol = Me.VisitType(node.Type) 12581Dim type as TypeSymbol = Me.VisitType(node.Type) 12702Dim type as TypeSymbol = Me.VisitType(node.Type) 12707Dim type as TypeSymbol = Me.VisitType(node.Type) 12712Dim type as TypeSymbol = Me.VisitType(node.Type) 12717Dim type as TypeSymbol = Me.VisitType(node.Type) 12722Dim type as TypeSymbol = Me.VisitType(node.Type) 12727Dim type as TypeSymbol = Me.VisitType(node.Type) 12732Dim type as TypeSymbol = Me.VisitType(node.Type) 12737Dim type as TypeSymbol = Me.VisitType(node.Type) 12742Dim type as TypeSymbol = Me.VisitType(node.Type) 12747Dim type as TypeSymbol = Me.VisitType(node.Type) 12752Dim type as TypeSymbol = Me.VisitType(node.Type) 12762Dim type as TypeSymbol = Me.VisitType(node.Type) 12768Dim type as TypeSymbol = Me.VisitType(node.Type) 12777Dim type as TypeSymbol = Me.VisitType(node.Type) 12804Dim type as TypeSymbol = Me.VisitType(node.Type) 12810Dim type as TypeSymbol = Me.VisitType(node.Type) 12816Dim type as TypeSymbol = Me.VisitType(node.Type) 12822Dim type as TypeSymbol = Me.VisitType(node.Type) 12828Dim type as TypeSymbol = Me.VisitType(node.Type) 12835Dim type as TypeSymbol = Me.VisitType(node.Type) 12842Dim type as TypeSymbol = Me.VisitType(node.Type) 12848Dim type as TypeSymbol = Me.VisitType(node.Type) 12854Dim type as TypeSymbol = Me.VisitType(node.Type) 12860Dim type as TypeSymbol = Me.VisitType(node.Type) 12865Dim type as TypeSymbol = Me.VisitType(node.Type) 12874Dim type as TypeSymbol = Me.VisitType(node.Type) 12880Dim type as TypeSymbol = Me.VisitType(node.Type) 12885Dim type as TypeSymbol = Me.VisitType(node.Type) 12923Dim type as TypeSymbol = Me.VisitType(node.Type) 12930Dim type as TypeSymbol = Me.VisitType(node.Type) 12937Dim type as TypeSymbol = Me.VisitType(node.Type) 12946Dim type as TypeSymbol = Me.VisitType(node.Type) 12954Dim type as TypeSymbol = Me.VisitType(node.Type) 12961Dim type as TypeSymbol = Me.VisitType(node.Type) 12969Dim type as TypeSymbol = Me.VisitType(node.Type) 12976Dim type as TypeSymbol = Me.VisitType(node.Type) 12982Dim type as TypeSymbol = Me.VisitType(node.Type) 12988Dim type as TypeSymbol = Me.VisitType(node.Type) 12995Dim type as TypeSymbol = Me.VisitType(node.Type) 13017Dim type as TypeSymbol = Me.VisitType(node.Type) 13042Dim type as TypeSymbol = Me.VisitType(node.Type) 13049Dim type as TypeSymbol = Me.VisitType(node.Type) 13066Dim type as TypeSymbol = Me.VisitType(node.Type) 13074Dim type as TypeSymbol = Me.VisitType(node.Type) 13079Dim type as TypeSymbol = Me.VisitType(node.Type) 13087Dim type as TypeSymbol = Me.VisitType(node.Type) 13094Dim type as TypeSymbol = Me.VisitType(node.Type) 13100Dim type as TypeSymbol = Me.VisitType(node.Type) 13106Dim type as TypeSymbol = Me.VisitType(node.Type) 13113Dim type as TypeSymbol = Me.VisitType(node.Type) 13139New TreeDumperNode("type", node.Type, Nothing) 13145New TreeDumperNode("type", node.Type, Nothing) 13152New TreeDumperNode("type", node.Type, Nothing) 13158New TreeDumperNode("type", node.Type, Nothing) 13164New TreeDumperNode("type", node.Type, Nothing) 13170New TreeDumperNode("type", node.Type, Nothing) 13176New TreeDumperNode("type", node.Type, Nothing) 13183New TreeDumperNode("type", node.Type, Nothing) 13192New TreeDumperNode("type", node.Type, Nothing) 13205New TreeDumperNode("type", node.Type, Nothing) 13213New TreeDumperNode("type", node.Type, Nothing) 13222New TreeDumperNode("type", node.Type, Nothing) 13229New TreeDumperNode("type", node.Type, Nothing) 13237New TreeDumperNode("type", node.Type, Nothing) 13244New TreeDumperNode("type", node.Type, Nothing) 13252New TreeDumperNode("type", node.Type, Nothing) 13260New TreeDumperNode("type", node.Type, Nothing) 13267New TreeDumperNode("type", node.Type, Nothing) 13276New TreeDumperNode("type", node.Type, Nothing) 13283New TreeDumperNode("type", node.Type, Nothing) 13289New TreeDumperNode("type", node.Type, Nothing) 13297New TreeDumperNode("type", node.Type, Nothing) 13304New TreeDumperNode("type", node.Type, Nothing) 13310New TreeDumperNode("type", node.Type, Nothing) 13317New TreeDumperNode("type", node.Type, Nothing) 13327New TreeDumperNode("type", node.Type, Nothing) 13335New TreeDumperNode("type", node.Type, Nothing) 13342New TreeDumperNode("type", node.Type, Nothing) 13353New TreeDumperNode("type", node.Type, Nothing) 13362New TreeDumperNode("type", node.Type, Nothing) 13372New TreeDumperNode("type", node.Type, Nothing) 13378New TreeDumperNode("type", node.Type, Nothing) 13388New TreeDumperNode("type", node.Type, Nothing) 13397New TreeDumperNode("type", node.Type, Nothing) 13406New TreeDumperNode("type", node.Type, Nothing) 13416New TreeDumperNode("type", node.Type, Nothing) 13427New TreeDumperNode("type", node.Type, Nothing) 13439New TreeDumperNode("type", node.Type, Nothing) 13461New TreeDumperNode("type", node.Type, Nothing) 13472New TreeDumperNode("type", node.Type, Nothing) 13482New TreeDumperNode("type", node.Type, Nothing) 13491New TreeDumperNode("type", node.Type, Nothing) 13504New TreeDumperNode("type", node.Type, Nothing) 13529New TreeDumperNode("type", node.Type, Nothing) 13539New TreeDumperNode("type", node.Type, Nothing) 13594New TreeDumperNode("type", node.Type, Nothing) 13605New TreeDumperNode("type", node.Type, Nothing) 13616New TreeDumperNode("type", node.Type, Nothing) 13627New TreeDumperNode("type", node.Type, Nothing) 13635New TreeDumperNode("type", node.Type, Nothing) 13645New TreeDumperNode("type", node.Type, Nothing) 13653New TreeDumperNode("type", node.Type, Nothing) 13664New TreeDumperNode("type", node.Type, Nothing) 13672New TreeDumperNode("type", node.Type, Nothing) 13681New TreeDumperNode("type", node.Type, Nothing) 13689New TreeDumperNode("type", node.Type, Nothing) 13697New TreeDumperNode("type", node.Type, Nothing) 13706New TreeDumperNode("type", node.Type, Nothing) 13714New TreeDumperNode("type", node.Type, Nothing) 13721New TreeDumperNode("type", node.Type, Nothing) 13732New TreeDumperNode("type", node.Type, Nothing) 13743New TreeDumperNode("type", node.Type, Nothing) 13755New TreeDumperNode("type", node.Type, Nothing) 13762New TreeDumperNode("type", node.Type, Nothing) 13773New TreeDumperNode("type", node.Type, Nothing) 13787New TreeDumperNode("type", node.Type, Nothing) 13795New TreeDumperNode("type", node.Type, Nothing) 13878New TreeDumperNode("type", node.Type, Nothing) 14040New TreeDumperNode("type", node.Type, Nothing) 14046New TreeDumperNode("type", node.Type, Nothing) 14052New TreeDumperNode("type", node.Type, Nothing) 14058New TreeDumperNode("type", node.Type, Nothing) 14064New TreeDumperNode("type", node.Type, Nothing) 14071New TreeDumperNode("type", node.Type, Nothing) 14077New TreeDumperNode("type", node.Type, Nothing) 14085New TreeDumperNode("type", node.Type, Nothing) 14094New TreeDumperNode("type", node.Type, Nothing) 14103New TreeDumperNode("type", node.Type, Nothing) 14110New TreeDumperNode("type", node.Type, Nothing) 14121New TreeDumperNode("type", node.Type, Nothing) 14129New TreeDumperNode("type", node.Type, Nothing) 14142New TreeDumperNode("type", node.Type, Nothing) 14182New TreeDumperNode("type", node.Type, Nothing) 14194New TreeDumperNode("type", node.Type, Nothing) 14201New TreeDumperNode("type", node.Type, Nothing) 14208New TreeDumperNode("type", node.Type, Nothing) 14215New TreeDumperNode("type", node.Type, Nothing) 14226New TreeDumperNode("type", node.Type, Nothing) 14236New TreeDumperNode("type", node.Type, Nothing) 14243New TreeDumperNode("type", node.Type, Nothing) 14253New TreeDumperNode("type", node.Type, Nothing) 14261New TreeDumperNode("type", node.Type, Nothing) 14270New TreeDumperNode("type", node.Type, Nothing) 14282New TreeDumperNode("type", node.Type, Nothing) 14289New TreeDumperNode("type", node.Type, Nothing) 14296New TreeDumperNode("type", node.Type, Nothing) 14343New TreeDumperNode("type", node.Type, Nothing) 14351New TreeDumperNode("type", node.Type, Nothing) 14360New TreeDumperNode("type", node.Type, Nothing) 14370New TreeDumperNode("type", node.Type, Nothing) 14379New TreeDumperNode("type", node.Type, Nothing) 14387New TreeDumperNode("type", node.Type, Nothing) 14397New TreeDumperNode("type", node.Type, Nothing) 14406New TreeDumperNode("type", node.Type, Nothing) 14413New TreeDumperNode("type", node.Type, Nothing) 14420New TreeDumperNode("type", node.Type, Nothing) 14428New TreeDumperNode("type", node.Type, Nothing) 14462New TreeDumperNode("type", node.Type, Nothing) 14490New TreeDumperNode("type", node.Type, Nothing) 14500New TreeDumperNode("type", node.Type, Nothing) 14518New TreeDumperNode("type", node.Type, Nothing) 14527New TreeDumperNode("type", node.Type, Nothing) 14535New TreeDumperNode("type", node.Type, Nothing) 14546New TreeDumperNode("type", node.Type, Nothing) 14554New TreeDumperNode("type", node.Type, Nothing) 14562New TreeDumperNode("type", node.Type, Nothing) 14569New TreeDumperNode("type", node.Type, Nothing) 14577New TreeDumperNode("type", node.Type, Nothing)
Lowering\AsyncRewriter\AsyncRewriter.AsyncMethodToClassRewriter.Await.vb (5)
34Dim awaiterType As TypeSymbol = node.GetAwaiter.Type.InternalSubstituteTypeParameters(Me.TypeMap).Type 52Dim rewrittenType As TypeSymbol = VisitType(node.Type) 182ImmutableArray.Create(Of TypeSymbol)(asCriticalNotifyCompletion.Type, Me.F.Me().Type), 199ImmutableArray.Create(Of TypeSymbol)(asNotifyCompletion.Type, Me.F.Me().Type), 233ImmutableArray.Create(Of TypeSymbol)(awaiterType, Me.F.Me().Type),
Lowering\AsyncRewriter\AsyncRewriter.AsyncMethodToClassRewriter.Expressions.vb (50)
34Dim rewrittenType As TypeSymbol = VisitType(node.Type) 41Debug.Assert(TypeSymbol.Equals(rewrittenType, spillSeq.Type, TypeCompareKind.ConsiderEverything)) 119Dim receiverType = receiverOpt.Type 186type:=rewritten.Type)) 206rewritten.Type)) 227rewritten.Type)) 246Dim tempLocal As LocalSymbol = Me.F.SynthesizedLocal(rewritten.Type) 269rewritten.Type)) 302rewritten.Type)) 318rewritten.Type)) 324Dim rewrittenType As TypeSymbol = VisitType(node.Type) 397rewritten.Type)) 418rewritten.Type)) 438rewritten.Type)) 460rewritten.Type)) 479rewritten.Type)) 503If Not rewritten.Type.IsVoidType() Then 504Dim tempLocal As LocalSymbol = Me.F.SynthesizedLocal(rewritten.Type) 560Dim type As TypeSymbol = Me.VisitType(node.Type) 615Debug.Assert(Not receiver.Type.IsNullableType() OrElse Not conditionalAccessReceiverPlaceholderReplacementInfo.IsSpilled) 616Debug.Assert(Not receiver.Type.IsNullableType() OrElse node.CaptureReceiver) 620Debug.Assert(Not receiver.Type.IsNullableType() OrElse Not conditionalAccessReceiverPlaceholderReplacementInfo.ForceCaptureIfReferenceType) 629If Not receiver.Type.IsReferenceType AndAlso Not receiver.Type.IsNullableType() Then 636Debug.Assert(Not receiver.Type.IsNullableType()) 638If node.CaptureReceiver OrElse receiver.Type.IsReferenceType Then 652Dim isValueTypeCheck = Me.F.ReferenceIsNotNothing(Me.F.DirectCast(Me.F.DirectCast(Me.F.Null(), receiver.Type), 666receiver.Type) 670receiverLocal = Me.F.SynthesizedLocal(receiver.Type) 677If nullCheckTarget.Type.IsReferenceType OrElse nullCheckTarget.Type.IsNullableType() Then 680Debug.Assert(Not nullCheckTarget.Type.IsValueType) 681Debug.Assert(nullCheckTarget.Type.IsTypeParameter()) 691receiver.Type) 694Debug.Assert(Not receiver.Type.IsNullableType()) 712If nullCheckTarget.Type.IsReferenceType Then 714ElseIf nullCheckTarget.Type.IsNullableType() Then 717condition = Me.F.Call(nullCheckTarget, hasValue.AsMember(DirectCast(nullCheckTarget.Type, NamedTypeSymbol))) 719Debug.Assert(Not nullCheckTarget.Type.IsValueType) 720Debug.Assert(nullCheckTarget.Type.IsTypeParameter()) 727nullCheckTarget.Type), 817Dim rewrittenType As TypeSymbol = Me.VisitType(node.Type) 838rewrittenInitializer.Type) 867Dim rewrittenType As TypeSymbol = VisitType(node.Type) 897rewritten.Type)) 912rewritten.Type)) 930rewritten.Type)) 946Dim tempLocal As LocalSymbol = Me.F.SynthesizedLocal(rewritten.Type) 974rewritten.Type)) 990rewritten.Type))
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\AsyncRewriter\AsyncRewriter.CapturedSymbolOrExpression.vb (2)
75Dim proxyFieldParented = Me.Field.AsMember(DirectCast(framePointer.Type, NamedTypeSymbol)) 192Dim arrayElementType As TypeSymbol = DirectCast(arrayPointer.Type, ArrayTypeSymbol).ElementType
Lowering\AsyncRewriter\AsyncRewriter.SpillBuilder.vb (1)
99expression.Type)
Lowering\AsyncRewriter\AsyncRewriter.vb (2)
413expression.Type.InternalSubstituteTypeParameters(typeMap).Type) 464expression.Type,
Lowering\Diagnostics\DiagnosticsPass_ExpressionLambdas.vb (2)
23If initializer.Type.IsValueType AndAlso node.ConstructorOpt IsNot Nothing AndAlso node.Arguments.Length > 0 Then 180If Not DirectCast(node.Type, ArrayTypeSymbol).IsSZArray Then
Lowering\ExpressionLambdaRewriter\ExpressionLambdaRewriter.vb (14)
198If result.Type Is _expressionType Then 273node = gt.Update(gt.SourceType.MemberwiseClone(Of BoundTypeExpression)(), gt.GetTypeFromHandle, gt.Type) 460Dim delegateType As NamedTypeSymbol = DirectCast(node.Type, NamedTypeSymbol) 480If Not receiverOpt.Type.IsObjectType Then 532Debug.Assert(arg.Type Is Me.Int32Type) 543Debug.Assert(expressions(i).Type Is Me.Int32Type) 562_factory.[Typeof](node.Type, _factory.WellKnownType(WellKnownType.System_Type))), node.InitializerOpt) 670(node.Arguments.Length = 0 AndAlso Not node.Type.IsStructureType() OrElse 674_factory.[Typeof](node.Type, _factory.WellKnownType(WellKnownType.System_Type))) 680If node.Type.IsAnonymousType AndAlso node.Arguments.Length <> 0 Then 681Dim anonType = DirectCast(node.Type, AnonymousTypeManager.AnonymousTypePublicSymbol) 716Dim resultType As TypeSymbol = node.Type 735Dim arrayType = DirectCast(node.Type, ArrayTypeSymbol) 803Return CreateLiteralExpression(node, node.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_ConditionalExpresion.vb (10)
34Dim resultType As TypeSymbol = node.Type 35Dim testExpressionType As TypeSymbol = testExpression.Type 108Dim parameterType As TypeSymbol = parameter.Type 110Dim convKind As ConversionKind = Conversions.ClassifyPredefinedConversion(parameterType, conversion.Operand.Type, useSiteInfo) 188Dim callType As TypeSymbol = [call].Type 193toType.IsSameTypeIgnoringAll(outConv.Type) OrElse 194toType.IsSameTypeIgnoringAll([call].Type)) 196Debug.Assert(TypeSymbol.Equals(toType, conversion.Type, TypeCompareKind.ConsiderEverything)) 199Dim realParameterType As TypeSymbol = parameter.Type 237outConv.ExtendedInfoOpt, outConv.Type)
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\Instrumentation\DebugInfoInjector.vb (2)
98Return New BoundSequencePointExpression(original.Syntax, rewritten, rewritten.Type) 288rewrittenFilter.Type)
Lowering\Instrumentation\DebugInfoInjector_SequencePoints.vb (6)
46lazyConditionalBranchLocal = New SynthesizedLocal(currentMethodOrLambda, condition.Type, SynthesizedLocalKind.ConditionalBranchDiscriminator, synthesizedVariableSyntax) 49Debug.Assert(lazyConditionalBranchLocal.Type Is condition.Type) 55New BoundSequencePointExpression(Nothing, MakeLocalRead(conditionSyntax, lazyConditionalBranchLocal), condition.Type), 63condition.Type) 79Debug.Assert(TypeSymbol.Equals(left.Type, right.Type, TypeCompareKind.ConsiderEverything))
Lowering\IteratorRewriter\IteratorRewriter.IteratorMethodToClassRewriter.vb (1)
224Dim proxyFieldParented = proxy.AsMember(DirectCast(framePointer.Type, NamedTypeSymbol))
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_AddRemoveHandler.vb (3)
92Dim receiverType As TypeSymbol = rewrittenReceiverOpt.Type 187Return expression.Type IsNot Nothing AndAlso Not expression.Type.SpecialType.IsClrInteger()
Lowering\LocalRewriter\LocalRewriter_AnonymousTypeCreationExpression.vb (3)
56DirectCast(node.Type, NamedTypeSymbol).InstanceConstructors(0), 59node.Type) 66node.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_Constant.vb (4)
28Return If(node.Kind = BoundKind.Literal, node, New BoundLiteral(node.Syntax, constantValue, node.Type, hasErrors:=constantValue.IsBad)) 99node.Type) 132node.Type) 177node.Type)
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_DelegateCreation.vb (3)
30captureTemp = New SynthesizedLocal(Me._currentMethodOrLambda, placeholderOpt.Type, SynthesizedLocalKind.DelegateRelaxationReceiver, syntaxOpt:=placeholderOpt.Syntax) 48Type:=node.Type, 66result.Type)
Lowering\LocalRewriter\LocalRewriter_FieldAccess.vb (1)
22Return node.Update(rewrittenReceiver, node.FieldSymbol, node.IsLValue, node.SuppressVirtualCalls, constantsInProgressOpt:=Nothing, node.Type)
Lowering\LocalRewriter\LocalRewriter_ForEach.vb (16)
35(operand.Type.IsArrayType OrElse operand.Type.IsStringType) Then 43collectionType = originalCollection.Type 93Dim tempLocal = New SynthesizedLocal(Me._currentMethodOrLambda, node.ControlVariable.Type, SynthesizedLocalKind.LoweringTemp) 94Dim tempForControlVariable = New BoundLocal(node.Syntax, tempLocal, node.ControlVariable.Type) 198Dim controlVariableType = node.ControlVariable.Type 203If Not conversion.ExplicitCastInCode AndAlso conversion.Operand.Type.IsArrayType Then 207Dim collectionType = collectionExpression.Type 209Debug.Assert(collectionExpression.Type.SpecialType = SpecialType.System_String OrElse 318type:=node.ControlVariable.Type).ToStatement 358Dim expressionType = initExpression.Type 387Dim expressionType = boundIndex.Type 592Debug.Assert(enumeratorInfo.MoveNext.Type.SpecialType = SpecialType.System_Boolean) 603type:=node.ControlVariable.Type).ToStatement 726Dim localType = rewrittenBoundLocal.Type 814Return node.Update(_replacement, node.IsLValue, node.Type)
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_InterpolatedString.vb (2)
19Debug.Assert(node.Type.SpecialType = SpecialType.System_String) 59Dim targetType = conversion.Type
Lowering\LocalRewriter\LocalRewriter_LateAddressOf.vb (1)
21Dim targetType = DirectCast(node.Type, NamedTypeSymbol)
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_OmittedArgument.vb (4)
15Debug.Assert(node.Type.IsObjectType) 24Dim conversion = Conversions.ClassifyDirectCastConversion(fieldAccess.Type, node.Type, useSiteInfo) 28Return New BoundDirectCast(node.Syntax, fieldAccess, conversion, node.Type)
Lowering\LocalRewriter\LocalRewriter_PreviousSubmissionReference.vb (1)
14Dim targetType = DirectCast(node.Type, ImplicitNamedTypeSymbol)
Lowering\LocalRewriter\LocalRewriter_PropertyAccess.vb (3)
17If receiverOpt IsNot Nothing AndAlso receiverOpt.Type.IsArrayType Then 18Dim asArrayType = DirectCast(receiverOpt.Type, ArrayTypeSymbol) 25Return New BoundArrayLength(node.Syntax, VisitExpressionNode(receiverOpt), node.Type)
Lowering\LocalRewriter\LocalRewriter_Query.vb (3)
133Dim anonymousType = DirectCast(anonymousTypeInstance.Type, AnonymousTypeManager.AnonymousTypePublicSymbol) 236Dim groupLocal = New SynthesizedLocal(Me._currentMethodOrLambda, node.CapturedGroupOpt.Type, SynthesizedLocalKind.LoweringTemp) 250node.Type)
Lowering\LocalRewriter\LocalRewriter_RaiseEvent.vb (4)
55Dim temp As LocalSymbol = New SynthesizedLocal(Me._currentMethodOrLambda, receiver.Type, SynthesizedLocalKind.LoweringTemp) 59New BoundAssignmentOperator(syntax, tempAccess, receiver, True, receiver.Type)).MakeCompilerGenerated 70type:=raiseCallExpression.Type) 115Dim fieldType As NamedTypeSymbol = DirectCast(rewrittenReceiver.Type, NamedTypeSymbol)
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_SelectCase.vb (3)
111If rewrittenSelectExpression.Type.IsStringType Then 230Dim selectExprType = rewrittenSelectExpression.Type 342Debug.Assert(node.ExpressionStatement.Expression.Type.IsStringType)
Lowering\LocalRewriter\LocalRewriter_StringConcat.vb (4)
36Debug.Assert(node.Type.IsStringType() AndAlso 37node.Left.Type.IsStringType() AndAlso 38node.Right.Type.IsStringType(), "concat args should be strings here") 287Dim argArray = factory.Array(node.Type, loweredArgs)
Lowering\LocalRewriter\LocalRewriter_SyncLock.vb (7)
26Dim conversionKind = Conversions.ClassifyConversion(visitedLockExpression.Type, objectType, useSiteInfo).Key 93If node.LockExpression.Type.IsObjectType() AndAlso 194New BoundLiteral(syntaxNode, ConstantValue.False, boundLockTakenLocal.Type), 196type:=boundLockTakenLocal.Type).ToStatement 256Debug.Assert(boundLockTakenLocal.Type.IsBooleanType()) 263New BoundLiteral(syntaxNode, ConstantValue.True, boundLockTakenLocal.Type), 265boundLockTakenLocal.Type)
Lowering\LocalRewriter\LocalRewriter_Throw.vb (1)
22If expressionOpt.Type.SpecialType = SpecialType.System_Int32 Then
Lowering\LocalRewriter\LocalRewriter_TupleLiteralExpression.vb (1)
31Return MakeTupleCreationExpression(node.Syntax, DirectCast(node.Type, NamedTypeSymbol), rewrittenArguments)
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_Using.vb (2)
127placeholderInfo = node.UsingInfo.PlaceholderInfo(initializationExpression.Type) 130initializationExpression.Type,
Lowering\LocalRewriter\LocalRewriter_With.vb (1)
26Dim type As TypeSymbol = rewrittenExpression.Type
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\MethodToClassRewriter\MethodToClassRewriter.vb (16)
106Return node.Update(VisitMethodSymbol(node.Method), VisitMethodSymbol(node.GetMethodFromHandle), VisitType(node.Type)) 129type:=VisitType(node.Type)) 137Dim type As TypeSymbol = VisitType(node.Type) 201Return node.Update(VisitFieldSymbol(node.Field), VisitType(node.Type)) 210VisitType(node.Type)) 231type:=rewritten.Type) 239If node.Type IsNot rewritten.Type OrElse Not constructor.IsDefinition Then 246rewritten.Type) 484Debug.Assert(node.ValueOpt IsNot Nothing OrElse node.HasErrors OrElse node.Type.SpecialType = SpecialType.System_Void) 487Return node.Update(newLocals.ToImmutableAndFree(), prologue.ToImmutableAndFree(), newValue, If(newValue Is Nothing, node.Type, newValue.Type)) 501awaitablePlaceholder.Update(VisitType(awaitablePlaceholder.Type))) 505awaiterPlaceholder.Update(VisitType(awaiterPlaceholder.Type))) 519placeholder.Update(VisitType(placeholder.Type))) 533leftOperandPlaceholder.Update(VisitType(leftOperandPlaceholder.Type)))
Lowering\StateMachineRewriter\StateMachineRewriter.StateMachineMethodToClassRewriter.vb (1)
145Debug.Assert(TypeSymbol.Equals(frameClass, result.Type, TypeCompareKind.ConsiderEverything))
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\Conversions.vb (15)
736Dim sourceExpressionType = source.Type 989source.Type) 1050If source.Type Is Nothing Then 1240If TypeSymbol.Equals(source.Type, destination, TypeCompareKind.ConsiderEverything) Then 1469Dim sourceType = operand.Type 1532Debug.Assert(source.Type Is Nothing) ' Shouldn't try to convert already converted query lambda. 1607Dim sourceType As TypeSymbol = constantExpression.Type 1707If destination.IsObjectType() AndAlso constantExpression.Type IsNot Nothing AndAlso 1708constantExpression.Type.IsObjectType() Then 1812Dim sourceType As TypeSymbol = source.Type 1868Dim sourceType As TypeSymbol = source.Type 2113Dim sourceType As TypeSymbol = source.Type 2125sourceType = source.Type 4251Dim operandType As TypeSymbol = conversion.Operand.Type 4257methodConversion = ClassifyMethodConversionBasedOnReturnType(operandType, conversion.Type, isRefReturning:=False, useSiteInfo:=useSiteInfo)
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,
Semantics\OverloadResolution.vb (8)
2507Dim argType As TypeSymbol = If(argument.Kind <> BoundKind.ArrayLiteral, argument.Type, DirectCast(argument, BoundArrayLiteral).InferredType) 2764If IsUnwrappingNullable(conv.Key, arguments(j).Type, current.Candidate.Parameters(j).Type) Then 2770If IsUnwrappingNullable(arguments(j).Type, conv.Value.Parameters(0).Type, useSiteInfo) Then 3481(param.IsExplicitByRef OrElse (argument.Type IsNot Nothing AndAlso argument.Type.IsStringType())) Then 3572If argument.IsLValue() AndAlso targetType.IsSameTypeIgnoringAll(argument.Type) Then 3671While underlying.Kind = BoundKind.Parenthesized AndAlso underlying.Type Is Nothing 3725Dim argumentType = argument.Type
Semantics\TypeInference\TypeArgumentInference.vb (8)
245If currentNamedNode.Expression.Type IsNot Nothing AndAlso 246currentNamedNode.Expression.Type.IsObjectType() Then 519Debug.Assert(Expression.Type Is Nothing) 570expressionType = Expression.Type 588If Not (Expression.Type IsNot Nothing AndAlso Expression.Type.IsObjectType()) Then 1240Dim argumentType As TypeSymbol = argument.Type 2119lambdaReturnType = queryLambda.Expression.Type
Symbols\ConstantValueUtils.vb (1)
46boundValueType = boundValue.Type
Symbols\Source\LocalSymbol.vb (3)
887(valueExpression.Type Is Nothing OrElse Not valueExpression.Type.IsErrorType)) 889SetConstantExpression(valueExpression.Type, constValue, valueExpression, diagBag.ToReadOnlyAndFree())
Symbols\Source\SynthesizedEventAccessorSymbol.vb (3)
332conversionKind2 = Conversions.ClassifyDirectCastConversion(boundParameter.Type, updateMethod.Parameters(1).Type, conversionsUseSiteInfo) 408conversionKind1 = Conversions.ClassifyDirectCastConversion(boundTmps(1).Type, updateMethod.Parameters(0).Type, CompoundUseSiteInfo(Of AssemblySymbol).Discarded) 409conversionKind2 = Conversions.ClassifyDirectCastConversion(boundParameter.Type, updateMethod.Parameters(1).Type, CompoundUseSiteInfo(Of AssemblySymbol).Discarded)