2107 references to Type
Microsoft.CodeAnalysis.VisualBasic (2068)
Analysis\FlowAnalysis\AbstractFlowPass.vb (5)
821Debug.Assert(node.ValueOpt IsNot Nothing OrElse node.HasErrors OrElse node.Type.SpecialType = SpecialType.System_Void) 977Return DirectCast(node, BoundLocal).Type.IsValueType 980Return DirectCast(node, BoundParameter).Type.IsValueType 1222If receiver.Type.IsReferenceType Then 1684Dim 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)
255If 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(node.GetReference(), DirectCast(boundAttribute.Type, NamedTypeSymbol), boundAttribute.Constructor, args, namedArgs, isConditionallyOmitted, hasErrors:=visitor.HasErrors) 533Debug.Assert(TypeSymbol.Equals(lValue.Type, fieldOrPropType, TypeCompareKind.ConsiderEverything)) 586Dim sourceType As TypeSymbol = expression.SourceType.Type 746If _binder.IsValidTypeForAttributeArgument(node.Type) Then 747Return CreateTypedConstant(node.Type, node.ConstantValueOpt.Value) 749Return CreateErrorTypedConstant(node.Type) 763Not _binder.IsValidTypeForAttributeArgument(conv.Operand.Type) Then 766ReportDiagnostic(diagBag, conv.Operand.Syntax, ERRID.ERR_RequiredAttributeConstConversion2, conv.Operand.Type, conv.Type) 768Return CreateErrorTypedConstant(node.Type) 777Not _binder.IsValidTypeForAttributeArgument(conv.Operand.Type) Then 780ReportDiagnostic(diagBag, conv.Operand.Syntax, ERRID.ERR_RequiredAttributeConstConversion2, conv.Operand.Type, conv.Type) 782Return CreateErrorTypedConstant(node.Type) 791Not _binder.IsValidTypeForAttributeArgument(conv.Operand.Type) Then 795ReportDiagnostic(diagBag, conv.Operand.Syntax, ERRID.ERR_RequiredAttributeConstConversion2, If(conv.Operand.Type, _binder.Compilation.GetSpecialType(SpecialType.System_Object)), conv.Type) 797Return CreateErrorTypedConstant(node.Type) 816Return CreateErrorTypedConstant(node.Type) 820Return CreateErrorTypedConstant(node.Type) 828Dim getTypeArgument = sourceType.Type 841Return CreateErrorTypedConstant(node.Type) 845Return CreateTypedConstant(node.Type, getTypeArgument) 849Dim 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 224Dim sourceType = argument.Type 329If Not isExplicit AndAlso argument.Type.IsSameTypeIgnoringAll(targetType) Then 410Debug.Assert(argument.Type.IsNullableOfBoolean() AndAlso booleanType.IsBooleanType()) 434Debug.Assert(argument.Type.IsSameTypeIgnoringAll(targetType)) 463Dim sourceType = argument.Type 979Dim sourceType = argument.Type 1092Dim originalArgumentType As TypeSymbol = argument.Type 1192If argument.Type Is Nothing AndAlso Not argument.IsNothingLiteral() Then 1198argument = parenthesized.Update(enclosed, enclosed.Type) 1308Debug.Assert(anonymousDelegate.Type Is anonymousDelegateInfo.Key) 1499Debug.Assert(lambda.Type Is Nothing) 1662sourceTuple.Type, 1666If 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) 1099Debug.Assert(Not actualReceiver.Type.IsTypeParameter()) 1103relaxationReceiverPlaceholder = New BoundRValuePlaceholder(actualReceiver.Syntax, actualReceiver.Type) 1249receiver.Type.IsDelegateType() AndAlso 1250receiver.Type.IsAnonymousType Then
Binding\Binder_Expressions.vb (94)
102Return New BoundTypeExpression(node, asType.UnevaluatedReceiverOpt, asType.AliasOpt, operand.Type, operand.HasErrors) 110Return New BoundParenthesized(node, reclassified, reclassified.Type) 112Return New BoundParenthesized(node, operand, operand.Type) 303Return New BoundBadExpression(wrappedBadExpression.Syntax, resultKind, wrappedBadExpression.Symbols, wrappedBadExpression.ChildBoundNodes, wrappedBadExpression.Type, hasErrors:=True) 305Return New BoundBadExpression(wrappedExpression.Syntax, resultKind, ImmutableArray(Of Symbol).Empty, ImmutableArray.Create(wrappedExpression), wrappedExpression.Type, hasErrors:=True) 359If boundArgument.Type IsNot Nothing Then 509Dim expressionType As TypeSymbol = expression.Type 750Dim operandType = operand.Type 929Dim type = receiver.Type 942If expr.Kind = BoundKind.ConditionalAccess AndAlso expr.Type Is Nothing Then 946Dim resultType As TypeSymbol = access.Type 1001Dim type = expr.Type 1045Dim type As TypeSymbol = typeExpr.Type 1116If result.Type IsNot classType Then 1136type:=access.Type, 1142access.SuppressVirtualCalls, access.ConstantsInProgressOpt, access.Type, access.HasErrors) 1150type:=[call].Type, 1218Return parenthesized.Update(enclosed, enclosed.Type) 1226If Not expr.IsValue OrElse expr.Type Is Nothing OrElse expr.Type.IsVoidType Then 1233Dim exprType = expr.Type 1299Debug.Assert(receiverOpt.Type IsNot Nothing) 1300Return receiverOpt.Type 1333Return parenthesized.Update(enclosed, enclosed.Type) 1350Dim exprType = expr.Type 1423Return parenthesized.Update(enclosed, enclosed.Type) 1718invocation.Type) 1739Not receiver.Type.IsValueType) ' If this logic changes, logic in UseTwiceRewriter.UseTwicePropertyAccess might need to change too. 1796base.Type.IsValueType Then 1820Dim receiverType = receiver.Type 1970(candidate.IsNothingLiteral OrElse (candidate.Type IsNot Nothing AndAlso candidate.Type.AllowsCompileTimeOperations())) 1986dominantType = If(boundFirstArg.Type, If(boundSecondArg.Type, GetSpecialType(SpecialType.System_Object, node, diagnostics))) 1988ElseIf boundFirstArg.Type IsNot Nothing AndAlso boundFirstArg.Type.IsNullableType AndAlso boundSecondArg.IsNothingLiteral Then 1990dominantType = boundFirstArg.Type 1996If boundFirstArg.Type IsNot Nothing AndAlso boundFirstArg.Type.IsNullableType AndAlso 1997Not (boundSecondArg.Type IsNot Nothing AndAlso boundSecondArg.Type.IsNullableType) Then 2002Dim underlyingType = boundFirstArg.Type.GetNullableUnderlyingType 2032dominantType = boundSecondArg.Type 2038dominantType = boundFirstArg.Type 2057If Not hasErrors AndAlso boundFirstArg.Type Is Nothing Then 2081Debug.Assert(hasErrors OrElse boundFirstArg.IsNothingLiteral OrElse boundFirstArg.Type IsNot Nothing) 2094If Not hasErrors AndAlso Not (boundFirstArg.IsNothingLiteral OrElse boundFirstArg.Type.IsNullableType OrElse boundFirstArg.Type.IsReferenceType) Then 2097If Not boundFirstArg.Type.IsValueType Then 2136placeholder = New BoundRValuePlaceholder(testExpression.Syntax, testExpression.Type.GetNullableUnderlyingTypeOrSelf()) 2699Debug.Assert(boundValue.Type IsNot Nothing) 2700leftType = boundValue.Type 2704Debug.Assert(boundValue.Type IsNot Nothing) 2705leftType = boundValue.Type 2718If TypeSymbol.Equals(boundType.Type, leftType, TypeCompareKind.ConsiderEverything) Then 2771Dim leftTypeSymbol As TypeSymbol = left.Type 2875type = DirectCast(left, BoundTypeExpression).Type 2897type = left.Type 3648receiver = New BoundTypeAsValueExpression(receiver.Syntax, DirectCast(receiver, BoundTypeExpression), receiver.Type).MakeCompilerGenerated() 3733Dim type = left.Type 3807Dim type = expr.Type 3826ReportDiagnostic(diagnostics, expr.Syntax, ERRID.ERR_QualNotObjectRecord1, expr.Type) 3833ReportDiagnostic(diagnostics, expr.Syntax, ERRID.ERR_DefaultMemberNotProperty1, expr.Type) 3900Dim exprType = expr.Type 3909Dim arrayType As ArrayTypeSymbol = DirectCast(expr.Type, ArrayTypeSymbol) 4499Dim expressionType As TypeSymbol = expression.Type 4636operand.Type IsNot Nothing AndAlso 4637operand.Type.IsVoidType() AndAlso 4652ElseIf operand.Type.IsObjectType() Then 4672Dim awaitableInstancePlaceholder = New BoundRValuePlaceholder(operand.Syntax, operand.Type).MakeCompilerGenerated() 4679If operand.Type.IsObjectType Then 4682getAwaiter = BindLateBoundMemberAccess(node, WellKnownMemberNames.GetAwaiter, Nothing, awaitableInstancePlaceholder, operand.Type, 4686Debug.Assert(getAwaiter.Type.IsObjectType()) 4687awaiterInstancePlaceholder = New BoundLValuePlaceholder(operand.Syntax, getAwaiter.Type).MakeCompilerGenerated() 4689isCompleted = BindLateBoundMemberAccess(node, WellKnownMemberNames.IsCompleted, Nothing, awaiterInstancePlaceholder, awaiterInstancePlaceholder.Type, 4693Debug.Assert(isCompleted.Type.IsObjectType()) 4695getResult = BindLateBoundMemberAccess(node, WellKnownMemberNames.GetResult, Nothing, awaiterInstancePlaceholder, awaiterInstancePlaceholder.Type, 4698Debug.Assert(getResult.Type.IsObjectType()) 4701Debug.Assert(operand.Type.IsErrorType() OrElse ignoreDiagnostics.DiagnosticBag.IsEmptyWithoutResolution()) 4709LookupMember(lookupResult, awaitableInstancePlaceholder.Type, WellKnownMemberNames.GetAwaiter, 0, LookupOptions.AllMethodsOfAnyArity, useSiteInfo) 4742getAwaiter.Type.IsObjectType() Then 4757If getAwaiter IsNot Nothing AndAlso Not getAwaiter.Type.IsErrorType() Then 4759awaiterInstancePlaceholder = New BoundLValuePlaceholder(operand.Syntax, getAwaiter.Type).MakeCompilerGenerated() 4762LookupMember(lookupResult, awaiterInstancePlaceholder.Type, WellKnownMemberNames.IsCompleted, 0, 4790Not isCompleted.Type.IsBooleanType() Then 4808LookupMember(lookupResult, awaiterInstancePlaceholder.Type, WellKnownMemberNames.GetResult, 0, 4858Not Conversions.IsWideningConversion(Conversions.ClassifyDirectCastConversion(getAwaiter.Type, notifyCompletion, useSiteInfo)) Then 4859ReportDiagnostic(diagnostics, node, ERRID.ERR_DoesntImplementAwaitInterface2, getAwaiter.Type, notifyCompletion) 4871ReportDiagnostic(diagnostics, node, ERRID.ERR_BadGetAwaiterMethod1, operand.Type) 4875ElseIf getAwaiter.Type.IsErrorType() Then 4879ReportDiagnostic(diagnostics, node, ERRID.ERR_BadIsCompletedOnCompletedGetResult2, getAwaiter.Type, operand.Type) 4884awaiterInstancePlaceholder = New BoundLValuePlaceholder(node, getAwaiter.Type).MakeCompilerGenerated() 4900resultType = getResult.Type
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_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) 1037Not receiver.Type.IsErrorType() Then 1044Conversions.ClassifyConversion(targetType, receiver.Type, useSiteInfo), 1529Dim type = boundArguments(i).Type 2456(param.IsExplicitByRef OrElse (argument.Type IsNot Nothing AndAlso argument.Type.IsStringType())) Then 2493If Not (argument.IsLValue() AndAlso targetType.IsSameTypeIgnoringAll(argument.Type)) Then 2615If argument.Type Is Nothing Then 2620CustomSymbolDisplayFormatter.ShortErrorName(param), argument.Type, targetType) 2765Dim argType = argument.Type 2813(param.IsExplicitByRef OrElse (argument.Type IsNot Nothing AndAlso argument.Type.IsStringType())) Then 2856Dim inPlaceholder = New BoundByRefArgumentPlaceholder(argument.Syntax, isOutParameter, argument.Type, argument.HasErrors).MakeCompilerGenerated() 2953invocation.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 (7)
203Debug.Assert(objectInitializerExpressionOpt Is Nothing OrElse TypeSymbol.Equals(objectInitializerExpressionOpt.Type, type0, TypeCompareKind.ConsiderEverything)) 460badExpression.Type) 505Debug.Assert(resultExpression.Type.IsSameTypeIgnoringAll(type0)) 536Return BadExpression(node, children, expr.Type) 676propertyAccess.Type) 737Debug.Assert(TypeSymbol.Equals(DirectCast(memberAssignments.Last, BoundAssignmentOperator).Right.Type, DirectCast(memberAssignments.Last, BoundAssignmentOperator).Left.Type, TypeCompareKind.ConsiderEverything))
Binding\Binder_Operators.vb (21)
70Dim targetArgumentType As TypeSymbol = targetArgument.Type 230Dim leftType As TypeSymbol = left.Type 231Dim rightType As TypeSymbol = right.Type 430If left.Type.IsNullableType Then 434If right.Type.IsNullableType Then 448type:=conversion.Type) 476type:=conversion.Type) 593Return New BoundUserDefinedBinaryOperator(node, opKind, result, CheckOverflow, result.Type) 644operatorType = bitwise.Type 708left.Type, right.Type) 912resultType = conv.Type 917resultType = conv.Type 937Dim leftType = left.Type 938Dim rightType = right.Type 1030rightType = right.Type 1073leftType = left.Type 1155Dim operandType As TypeSymbol = operand.Type 1244Return New BoundUserDefinedUnaryOperator(node, opKind, result, result.Type) 1252If operand.Type.IsErrorType() Then 1256ReportDiagnostic(diagnostics, syntax, ErrorFactory.ErrorInfo(ERRID.ERR_UnaryOperand2, syntax.OperatorToken, operand.Type))
Binding\Binder_Query.vb (107)
175If Not source.Type.IsErrorType() AndAlso source.Kind = BoundKind.QueryableSource AndAlso 181Return New BoundQueryExpression(query, source, source.Type) 238aggregationSelector.Type, 240aggregationSelector.Type) 249Dim groupReference = New BoundRValuePlaceholder(aggregate, source.Type).MakeCompilerGenerated() 271result.Type, 273result.Type) 278Return New BoundQueryExpression(query, source, If(malformedSyntax, ErrorTypeSymbol.UnknownResultType, source.Type), hasErrors:=malformedSyntax) 339letSelectorLambdaSymbol.SetQueryLambdaReturnType(letSelector.Type) 345If source.Type.IsErrorType() Then 370letSelectorLambda.Expression.Type, 405firstSelectExpression.Type) 424firstSelectExpression.Type).MakeCompilerGenerated() 535selectSelectorLambdaSymbol.SetQueryLambdaReturnType(selectSelector.Type) 540If letOperator.Type.IsErrorType() Then 561selectSelectorLambda.Expression.Type, 563underlyingExpression.Type) 585Debug.Assert(Not source.Type.IsErrorType()) 635boundCallOrBadExpression.Type).MakeCompilerGenerated() 678lambdaSymbol.SetQueryLambdaReturnType(selector.Type) 684If source.Type.IsErrorType() Then 703selectorLambda.Expression.Type, 705boundCallOrBadExpression.Type) 719Dim bodyType As TypeSymbol = lambda.Expression.Type 815lambdaSymbol.SetQueryLambdaReturnType(selector.Type) 821If source.Type.IsErrorType() Then 849selectorLambda.Expression.Type, 851boundCallOrBadExpression.Type) 1130joinSelectorLambdaSymbol.SetQueryLambdaReturnType(joinSelector.Type) 1136If source.Type.IsErrorType() Then 1165joinSelectorLambda.Expression.Type, 1167boundCallOrBadExpression.Type) 1295absorbingJoin.Type) 1309absorbingJoin.Type) 1512joinSelectorLambdaSymbol.SetQueryLambdaReturnType(joinSelector.Type) 1518If outer.Type.IsErrorType() Then 1524If inner.HasErrors OrElse inner.Type.IsErrorType() OrElse 1542joinSelectorLambda.Expression.Type, 1544boundCallOrBadExpression.Type) 1701If outer.Type.IsErrorType() OrElse methodGroup Is Nothing Then 1707If inner.HasErrors OrElse inner.Type.IsErrorType() OrElse 1728intoLambda.Expression.Type, 1730boundCallOrBadExpression.Type) 1781groupCompoundVariableType = itemsLambda.Expression.Type 1786Dim intoLambda As BoundQueryLambda = BindIntoSelectorLambda(groupBy, keysRangeVariables, keysLambda.Expression.Type, False, Nothing, 1807If source.Type.IsErrorType() OrElse methodGroup Is Nothing Then 1833intoLambda.Expression.Type, 1835boundCallOrBadExpression.Type) 1883itemsLambdaSymbol.SetQueryLambdaReturnType(itemsSelector.Type) 1927keysLambdaSymbol.SetQueryLambdaReturnType(keysSelector.Type) 1955If Not source.Type.IsErrorType() Then 1970keysLambda.Expression.Type, 2031If Not outer.Type.IsErrorType() Then 2044Not inner.HasErrors AndAlso Not inner.Type.IsErrorType() Then 2149intoLambdaSymbol.SetQueryLambdaReturnType(intoSelector.Type) 2334Dim predicateType As TypeSymbol = predicate.Type 2375If source.Type.IsErrorType() Then 2396boundCallOrBadExpression.Type) 2415If source.Type.IsErrorType() Then 2432boundCallOrBadExpression.Type) 2483If source.Type.IsErrorType() Then 2487If boundCount.HasErrors OrElse (boundCount.Type IsNot Nothing AndAlso boundCount.Type.IsErrorType()) Then 2504boundCallOrBadExpression.Type) 2572If sourceOrPreviousOrdering.Type.IsErrorType() Then 2612sourceOrPreviousOrdering = New BoundOrdering(ordering, boundCallOrBadExpression, boundCallOrBadExpression.Type) 2627sourceOrPreviousOrdering.Type) 2764declaredRangeVariables = ImmutableArray.Create(RangeVariableSymbol.CreateForErrorRecovery(Me, selectorSyntax, selector.Type)) 2876rangeVar = RangeVariableSymbol.Create(Me, rangeVarNameSyntax, selector.Type) 2890selector = New BoundRangeVariableAssignment(item, rangeVar, selector, selector.Type) 2910rangeVar = RangeVariableSymbol.CreateForErrorRecovery(Me, rangeVar.Syntax, selector.Type) 2918rangeVar = RangeVariableSymbol.CreateForErrorRecovery(Me, item, selector.Type) 3089groupRangeVar = RangeVariableSymbol.CreateCompilerGenerated(Me, aggregate, GeneratedNameConstants.Group, group.Type) 3319If outerKey.Type IsNot ErrorTypeSymbol.UnknownResultType Then 3322If innerKey.Type IsNot ErrorTypeSymbol.UnknownResultType Then 3351"Key" & i.ToString(), outerKeys(i).Type, joinConditions(i).GetLocation(), isKeyOrByRef:=True) 3464keysAreGood = Not (outerKey.Type.IsErrorType() OrElse innerKey.Type.IsErrorType()) 3467If keysAreGood AndAlso Not outerKey.Type.IsSameTypeIgnoringAll(innerKey.Type) Then 3487targetType = innerKeyBinder.GetSpecialTypeForBinaryOperator(joinCondition, outerKey.Type, innerKey.Type, intrinsicOperatorType, 3492inferenceCollection.AddType(outerKey.Type, RequiredConversion.Any, outerKey) 3493inferenceCollection.AddType(innerKey.Type, RequiredConversion.Any, innerKey) 3511ReportDiagnostic(diagnostics, joinCondition, ERRID.ERR_EqualsTypeMismatch, outerKey.Type, innerKey.Type) 3757Return New BoundGroupAggregation(group, m_GroupReference, m_GroupReference.Type) 3808compoundKeyReferencePart1.Type, 3818compoundKeyReferencePart1.Type, 3824compoundKeyReferencePart2.Type, 3954If m_GroupReference.Type.IsErrorType() OrElse String.IsNullOrEmpty(functionAggregationSyntax.FunctionName.ValueText) Then 3975boundCallOrBadExpression.Type, 3977boundCallOrBadExpression.Type) 3987m_GroupReference.Type, 3998m_GroupReference.Type, 4056rangeVar = RangeVariableSymbol.Create(Me, rangeVarNameSyntax, selector.Type) 4069selector = New BoundRangeVariableAssignment(item, rangeVar, selector, selector.Type) 4080rangeVar = RangeVariableSymbol.CreateForErrorRecovery(Me, rangeVar.Syntax, selector.Type) 4085rangeVar = RangeVariableSymbol.CreateForErrorRecovery(Me, item, selector.Type) 4138ReportDiagnostic(diagnostics, syntax.Expression, ERRID.ERR_ExpectedQueryableSource, source.Type) 4236If(sourceIsNotQueryable, ErrorTypeSymbol.UnknownResultType, source.Type), 4253If source.Type.IsErrorType() Then 4306boundCallOrBadExpression.Type).MakeCompilerGenerated() 4326If Not source.IsValue OrElse source.Type.IsErrorType Then 4425LookupMember(lookupResult, source.Type, StringConstants.SelectMethod, 0, QueryOperatorLookupOptions, useSiteInfo) 4446Me.LookupExtensionMethods(lookupResult, source.Type, StringConstants.SelectMethod, 0, QueryOperatorLookupOptions, useSiteInfo) 4558LookupMember(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 (62)
711Dim redimTargetType = redimTarget.Type 775clause = New BoundAssignmentOperator(operand, target, nothingLiteral, False, target.Type, hasErrors:=True).MakeCompilerGenerated() 777ElseIf Not target.Type.IsErrorType() AndAlso 778Not target.Type.IsArrayType() AndAlso 779target.Type.SpecialType <> SpecialType.System_Array AndAlso 780target.Type.SpecialType <> SpecialType.System_Object Then 783clause = New BoundAssignmentOperator(operand, target, nothingLiteral, False, target.Type, hasErrors:=True).MakeCompilerGenerated() 787ApplyImplicitConversion(operand, target.Type, nothingLiteral, diagnostics).MakeCompilerGenerated(), 1194Debug.Assert(declarationInitializer.Type.IsSameTypeIgnoringAll(declType)) 1210Not type.IsSameTypeIgnoringAll(declarationInitializer.Type) Then 1212declarationInitializer = BadExpression(asNew, declarationInitializer, declarationInitializer.Type).MakeCompilerGenerated() 1310asClauseType = valueExpression.Type 1377inferredType = inferFrom.Type 1406Dim valueType = valueExpression.Type 1408type = valueExpression.Type 1981Dim targetType As TypeSymbol = op1.Type 2018Dim targetType As TypeSymbol = assignmentTarget.Type 2114ApplyImplicitConversion(node.Right, op1.Type, op2, diagnostics, False), 2116op1.Type, 2122expr = New BoundAssignmentOperator(node, op1, op2, False, op1.Type, hasErrors:=True) 2205Dim targetType As TypeSymbol = assignmentTarget.Type 2222New BoundParenthesized(midExpression, original, original.Type), 2468Debug.Assert(TypeSymbol.Equals(targetAsEvent.Type, eventField.Type, TypeCompareKind.ConsiderEverything) OrElse eventSym.IsWindowsRuntimeEvent, "non-WinRT event should have the same type as its backing field") 2611Not boundExpression.Type.IsErrorType() AndAlso 2612Not boundExpression.Type.IsVoidType() AndAlso 2613Not boundExpression.Type.IsObjectType() Then 2643If IsOrInheritsFromOrImplementsInterface(boundExpression.Type, WellKnownType.Windows_Foundation_IAsyncAction, useSiteInfo:=useSiteInfo) OrElse 2644IsOrInheritsFromOrImplementsInterface(boundExpression.Type, WellKnownType.Windows_Foundation_IAsyncActionWithProgress_T, useSiteInfo:=useSiteInfo) OrElse 2645IsOrInheritsFromOrImplementsInterface(boundExpression.Type, WellKnownType.Windows_Foundation_IAsyncOperation_T, useSiteInfo:=useSiteInfo) OrElse 2646IsOrInheritsFromOrImplementsInterface(boundExpression.Type, WellKnownType.Windows_Foundation_IAsyncOperationWithProgress_T2, useSiteInfo:=useSiteInfo) Then 2717Debug.Assert(boundInvocation.Type Is Nothing) 3107Dim targetType = controlVariableOpt.Type 3262ReportDiagnostic(diagnostics, syntax, ERRID.ERR_ForLoopOperatorRequired2, left.Type, SyntaxFacts.GetText(OverloadResolution.GetOperatorTokenKind(opCode))) 3268If Not bestCandidate.Parameters(0).Type.IsSameTypeIgnoringAll(left.Type) OrElse 3269Not bestCandidate.Parameters(1).Type.IsSameTypeIgnoringAll(left.Type) OrElse 3270(Not isRelational AndAlso Not bestCandidate.ReturnType.IsSameTypeIgnoringAll(left.Type)) Then 3275left.Type.GetNullableUnderlyingTypeOrSelf(), 3276left.Type)) 3280left.Type.GetNullableUnderlyingTypeOrSelf(), 3281left.Type)) 3414Dim controlVariableType = controlVariableOpt.Type 3462Dim enumeratorType = boundGetEnumeratorCall.Type 3583controlVariable.Type, 3708Dim collectionType As TypeSymbol = collection.Type 3806collectionType = collection.Type 3870If(collectionType IsNot Nothing AndAlso collectionType.IsStringType, collectionType, collection.Type)) 3882Dim enumeratorType = boundGetEnumeratorCall.Type 3939currentType = boundCurrentAccess.Type 3963Not boundGetEnumeratorCall.HasErrors AndAlso Not boundGetEnumeratorCall.Type.IsErrorType Then 3965Dim getEnumeratorReturnType = boundGetEnumeratorCall.Type 4084collectionPlaceholder = New BoundRValuePlaceholder(collectionSyntax, collection.Type) 4103Dim enumeratorType As TypeSymbol = boundGetEnumeratorCall.Type 4174currentType = boundCurrentAccess.Type 4492Dim resourceExpressionType = resourceExpression.Type 4495resourceExpression.Type, 4699Dim lockExpressionType = lockExpression.Type 4782If Not exceptionSource.IsValue OrElse exceptionSource.Type Is Nothing OrElse exceptionSource.Type.IsVoidType Then 4786exceptionType = exceptionSource.Type 4838previousType = previousBlock.ExceptionSourceOpt.Type 5028If isAsync AndAlso Not retType.IsErrorType() AndAlso methodReturnType.Equals(arg.Type) AndAlso 5185Dim 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)
228placeholder = New BoundWithLValueExpressionPlaceholder(Me.Expression, boundExpression.Type) 230placeholder = New BoundWithRValueExpressionPlaceholder(Me.Expression, boundExpression.Type) 273Dim type As TypeSymbol = node.Type 281Dim 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)
615Return TryCast(boundExpression.Type, AnonymousTypeManager.AnonymousTypePublicSymbol) 641Dim anonymousType = TryCast(boundExpression.Type, AnonymousTypeManager.AnonymousTypePublicSymbol) 785If boundCurrentConversion IsNot Nothing AndAlso Not boundCurrentConversion.Type.IsErrorType() Then 789elementConversion = New Conversion(Conversions.ClassifyConversion(elementType, boundCurrentConversion.Type, useSiteInfo:=CompoundUseSiteInfo(Of AssemblySymbol).Discarded)) 804If(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 (3)
15Debug.Assert(Type.Equals(GetResult.Type) OrElse Type.SpecialType = SpecialType.System_Void)
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)
63If receiverOpt IsNot Nothing AndAlso receiverOpt.Type IsNot Nothing Then 67receiverOpt.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 (1)
13Return 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)) 47Debug.Assert(argument.Type.IsNullableType() AndAlso 48argument.Type.GetNullableUnderlyingType().IsSameTypeIgnoringAll(parameter.Type)) 51Debug.Assert(underlyingCall.Type.IsNullableType()) 52Debug.Assert(underlyingCall.Type.IsSameTypeIgnoringAll(underlyingCall.Method.ReturnType) OrElse 54underlyingCall.Type.GetNullableUnderlyingType().IsSameTypeIgnoringAll(underlyingCall.Method.ReturnType))) 60Debug.Assert(argument.Type.IsSameTypeIgnoringAll(parameter.Type)) 63Debug.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 (9)
73Debug.Assert(Not expression.Type.IsReferenceType) 74Debug.Assert(Not expression.Type.IsValueType) 91Debug.Assert(expression.Type.IsValueType, "only valuetypes may need a ref to Me/MyClass") 144Dim value = AllocateTemp(expression.Type, expression.Syntax) 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, _diagnostics) 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 (99)
40EmitConstantExpression(expression.Type, constantValue, used, expression.Syntax) 213Debug.Assert(Not expression.Type.IsValueType) 215If used AndAlso Not expression.Type.IsReferenceType Then 216EmitLoadIndirect(expression.Type, expression.Syntax) 223Debug.Assert(Not expression.Type.IsReferenceType) 224Debug.Assert(Not expression.Type.IsValueType) 226Dim receiverType = expression.Type 249If conditional.ReceiverOrCondition.Type.IsBooleanType() Then 277Debug.Assert(Not conditional.ReceiverOrCondition.Type.IsValueType) 289Dim receiverType As TypeSymbol = receiver.Type 398Debug.Assert(Not expression.Type.IsReferenceType) 399Debug.Assert(Not expression.Type.IsValueType) 401Dim receiverType = expression.Type 423EmitDelegateCreation(expression.ReceiverOpt, invoke, expression.Type, used, expression.Syntax) 440EmitLoadIndirect(local.Type, local.Syntax) 458If Not IsVerifierReference(receiver.Type) Then 459EmitBox(receiver.Type, receiver.Syntax) 492Dim thisType = thisRef.Type 498EmitSymbolToken(thisRef.Type, thisRef.Syntax) 518Debug.Assert(sequence.ValueOpt IsNot Nothing OrElse sequence.Type.SpecialType = SpecialType.System_Void) 565If DirectCast(arrayAccess.Expression.Type, ArrayTypeSymbol).IsSZArray Then 566Dim elementType = arrayAccess.Type 626_builder.EmitArrayElementLoad(_module.Translate(DirectCast(arrayAccess.Expression.Type, ArrayTypeSymbol)), arrayAccess.Expression.Syntax, _diagnostics) 637If Not used AndAlso Not field.IsShared AndAlso fieldAccess.ReceiverOpt.Type.IsVerifierValue() Then 666EmitLoadIndirect(dupExpression.Type, dupExpression.Syntax) 691Debug.Assert(temp Is Nothing OrElse receiver.Type.IsEnumType, "temp is unexpected, just reading a field") 717If receiver Is Nothing OrElse receiver.Type.IsReferenceType Then 723EmitSymbolToken(receiver.Type, receiver.Syntax) 746If Not receiver.Type.IsVerifierValue() Then 783If expr.Type.IsEnumType Then 788Return expr.Type.IsTypeParameter() 871If receiver.Type.IsTypeParameter() Then 875Debug.Assert(IsVerifierReference(receiver.Type), "this is not a reference") 897If Not IsVerifierReference(convOperand.Type) Then 986Dim receiverType = receiver.Type 1077Debug.Assert(receiver.Type.IsVerifierReference()) 1082Debug.Assert(receiver.Type.IsVerifierReference()) 1097EmitSymbolToken(receiver.Type, receiver.Syntax) 1208Debug.Assert(operand.Type.IsReferenceType AndAlso Not operand.Type.IsTypeParameter(), "operand.Type.IsReferenceType") 1214Dim typeFrom = operand.Type 1280If (IsVarianceCast(expr.Type, mergeTypeOfAlternative)) Then 1281EmitStaticCast(expr.Type, expr.Syntax) 1282mergeTypeOfAlternative = expr.Type 1297If (IsVarianceCast(expr.Type, mergeTypeOfConsequence)) Then 1298EmitStaticCast(expr.Type, expr.Syntax) 1299mergeTypeOfConsequence = expr.Type 1301ElseIf (expr.Type.IsInterfaceType() AndAlso Not TypeSymbol.Equals(expr.Type, mergeTypeOfAlternative, TypeCompareKind.ConsiderEverything) AndAlso Not TypeSymbol.Equals(expr.Type, mergeTypeOfConsequence, TypeCompareKind.ConsiderEverything)) Then 1302EmitStaticCast(expr.Type, expr.Syntax) 1323Debug.Assert(TypeSymbol.Equals(expr.Type, expr.ElseExpression.Type, TypeCompareKind.ConsiderEverything)) 1324Debug.Assert(Not expr.Type.IsValueType) 1331If (IsVarianceCast(expr.Type, mergeTypeOfLeftValue)) Then 1332EmitStaticCast(expr.Type, expr.Syntax) 1333mergeTypeOfLeftValue = expr.Type 1339If (expr.Type.IsTypeParameter()) Then 1340EmitBox(expr.Type, expr.TestExpression.Syntax) 1353If (IsVarianceCast(expr.Type, mergeTypeOfRightValue)) Then 1354EmitStaticCast(expr.Type, expr.Syntax) 1355mergeTypeOfRightValue = expr.Type 1356ElseIf (expr.Type.IsInterfaceType() AndAlso Not TypeSymbol.Equals(expr.Type, mergeTypeOfLeftValue, TypeCompareKind.ConsiderEverything) AndAlso Not TypeSymbol.Equals(expr.Type, mergeTypeOfRightValue, TypeCompareKind.ConsiderEverything)) Then 1357EmitStaticCast(expr.Type, expr.Syntax) 1381If (Not (expr.Type.IsArrayType OrElse expr.Type.IsInterfaceType OrElse expr.Type.IsDelegateType)) Then 1382Return expr.Type 1431Return expr.Type 1481Dim arrayType = DirectCast(expression.Type, ArrayTypeSymbol) 1500Debug.Assert(expression.Type.SpecialType = SpecialType.System_Int32 OrElse expression.Type.SpecialType = SpecialType.System_Int64 OrElse expression.Type.SpecialType = SpecialType.System_UIntPtr) 1505Dim typeTo = expression.Type.PrimitiveTypeCode 1522EmitInitObj(expression.Type, used, expression.Syntax) 1574EmitInitObj(target.Type, True, target.Syntax) 1583EmitSymbolToken(target.Type, target.Syntax) 1679Dim rightType = right.Type 1710Return AllowedToTakeRef(left, AddressKind.Writeable) AndAlso Not (left.Kind = BoundKind.ArrayAccess AndAlso left.Type.TypeKind = TypeKind.TypeParameter) 1718Me.EmitSymbolToken(target.Type, target.Syntax) 1856temp = Me.AllocateTemp(assignmentOperator.Left.Type, assignmentOperator.Left.Syntax) 1892EmitLoadIndirect(capture.Type, capture.Syntax) 1915EmitStoreIndirect(expression.Type, expression.Syntax) 1919Dim arrayType = DirectCast(array.Type, ArrayTypeSymbol) 1942EmitStoreIndirect(expression.Type, expression.Syntax) 1956Debug.Assert(thisRef.Type.IsValueType) 1959EmitSymbolToken(thisRef.Type, thisRef.Syntax) 2101Dim type As TypeSymbol = boundTypeOfOperator.SourceType.Type 2131If Not TypeSymbol.Equals(node.Type, getField.ReturnType, TypeCompareKind.ConsiderEverything) Then 2133EmitSymbolToken(node.Type, node.Syntax) 2161If Not TypeSymbol.Equals(node.Type, getMethod.ReturnType, TypeCompareKind.ConsiderEverything) Then 2163EmitSymbolToken(node.Type, node.Syntax) 2181Debug.Assert(node.Type.SpecialType = SpecialType.System_Int32) 2197Debug.Assert(node.Type.SpecialType = SpecialType.System_Int32) 2213_builder.EmitToken(_module.GetModuleVersionId(_module.Translate(node.Type, node.Syntax, _diagnostics), node.Syntax, _diagnostics), node.Syntax, _diagnostics) 2232_builder.EmitToken(_module.GetInstrumentationPayloadRoot(node.AnalysisKind, _module.Translate(node.Type, node.Syntax, _diagnostics), node.Syntax, _diagnostics), node.Syntax, _diagnostics) 2236Debug.Assert(node.Type.SpecialType = SpecialType.System_Int32)
CodeGen\EmitOperators.vb (23)
27Dim targetPrimitiveType = expression.Type.PrimitiveTypeCode 55If expression.Type.IsBooleanType() Then 67Dim targetPrimitiveType = expression.Type.PrimitiveTypeCode 89expression.Type.IsIntegralType() Then 232Return expression.Checked AndAlso expression.Type.IsIntegralType() 248Dim targetPrimitiveType = expression.Type.PrimitiveTypeCode 308Debug.Assert(expression.Right.Type.PrimitiveTypeCode = Cci.PrimitiveTypeCode.Int32) 310Dim shiftMax = GetShiftSizeMask(expression.Left.Type) 322Debug.Assert(expression.Right.Type.PrimitiveTypeCode = Cci.PrimitiveTypeCode.Int32) 325Dim shiftMax = GetShiftSizeMask(expression.Left.Type) 416Dim operandType = binOp.Left.Type 442Debug.Assert(binOp.Left.Type.SpecialType = SpecialType.System_Boolean) 443Debug.Assert(binOp.Right.Type.SpecialType = SpecialType.System_Boolean) 498Debug.Assert(binOp.Left.Type.SpecialType = SpecialType.System_Boolean) 499Debug.Assert(binOp.Right.Type.SpecialType = SpecialType.System_Boolean) 505Debug.Assert(binOp.Left.Type.SpecialType = SpecialType.System_Boolean) 506Debug.Assert(binOp.Right.Type.SpecialType = SpecialType.System_Boolean) 512Debug.Assert(binOp.Left.Type.SpecialType = SpecialType.System_Boolean) 513Debug.Assert(binOp.Right.Type.SpecialType = SpecialType.System_Boolean) 560Dim comparandType = comparand.Type 572Dim comparandType = comparand.Type 596Debug.Assert(unOp.OperatorKind = UnaryOperatorKind.Not AndAlso unOp.Type.IsBooleanType()) 601Debug.Assert(condition.Type.SpecialType = SpecialType.System_Boolean)
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 (23)
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) 844If Not node.ReceiverOrCondition.Type.IsBooleanType() Then 873Return node.Update(receiverOrCondition, node.CaptureReceiver, node.PlaceholderId, whenNotNull, whenNull, node.Type) 899Return node.Update(valueTypeReceiver, referenceTypeReceiver, node.Type) 957Dim type As TypeSymbol = Me.VisitType(binary.Type) 992Return node.Update(node.OperatorKind, left, right, node.Checked, node.ConstantValueOpt, node.Type) 1006Return node.Update(node.OperatorKind, operand, node.Checked, node.ConstantValueOpt, node.Type) 1145Return 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(receiverOrCondition, node.CaptureReceiver, node.PlaceholderId, whenNotNull, whenNullOpt, node.Type)
Compilation\SemanticModel.vb (10)
796If Not resultNode.HasErrors AndAlso resultNode.Type Is Nothing Then 944type = lowestExpr.Type 968If highestExpr.Type IsNot Nothing AndAlso highestExpr.Type.TypeKind <> TypeKind.Error Then 969convertedType = highestExpr.Type 996type = DirectCast(boundNodes.LowestBoundNodeOfSyntacticParent, BoundBadExpression).Type 1048Dim typeSymbol As TypeSymbol = boundType.Type 1068Dim namedType = DirectCast(attribute.Type, NamedTypeSymbol) 1120Dim meParam As ParameterSymbol = GetMeParameter(meReference.Type, containingType, containingMember, resultKind) 1441Debug.Assert(resultKind <> LookupResultKind.Good OrElse TypeSymbol.Equals(namedTypeSymbol, boundAttribute.Type, TypeCompareKind.ConsiderEverything))
Generated\BoundNodes.xml.Generated.vb (344)
295If type IsNot Me.Type Then 354If underlyingLValue IsNot Me.UnderlyingLValue OrElse type IsNot Me.Type Then 425If type IsNot Me.Type Then 458If type IsNot Me.Type Then 498If type IsNot Me.Type Then 538If type IsNot Me.Type Then 574If isReference <> Me.IsReference OrElse type IsNot Me.Type Then 630If resultKind <> Me.ResultKind OrElse symbols <> Me.Symbols OrElse childBoundNodes <> Me.ChildBoundNodes OrElse type IsNot Me.Type Then 703If expression IsNot Me.Expression OrElse type IsNot Me.Type Then 745If expression IsNot Me.Expression OrElse isLValue <> Me.IsLValue OrElse type IsNot Me.Type Then 802If expression IsNot Me.Expression OrElse indices <> Me.Indices OrElse isLValue <> Me.IsLValue OrElse type IsNot Me.Type Then 837If expression IsNot Me.Expression OrElse type IsNot Me.Type Then 872If sourceType IsNot Me.SourceType OrElse type IsNot Me.Type Then 916If field IsNot Me.Field OrElse type IsNot Me.Type Then 960If method IsNot Me.Method OrElse type IsNot Me.Type Then 1002If unevaluatedReceiverOpt IsNot Me.UnevaluatedReceiverOpt OrElse aliasOpt IsNot Me.AliasOpt OrElse type IsNot Me.Type Then 1044If data <> Me.Data OrElse type IsNot Me.Type Then 1143If method IsNot Me.Method OrElse type IsNot Me.Type Then 1176If type IsNot Me.Type Then 1227If analysisKind <> Me.AnalysisKind OrElse isLValue <> Me.IsLValue OrElse type IsNot Me.Type Then 1269If isLValue <> Me.IsLValue OrElse type IsNot Me.Type Then 1302If type IsNot Me.Type Then 1346If document IsNot Me.Document OrElse type IsNot Me.Type Then 1410If operatorKind <> Me.OperatorKind OrElse operand IsNot Me.Operand OrElse checked <> Me.Checked OrElse constantValueOpt IsNot Me.ConstantValueOpt OrElse type IsNot Me.Type Then 1458If operatorKind <> Me.OperatorKind OrElse underlyingExpression IsNot Me.UnderlyingExpression OrElse type IsNot Me.Type Then 1498If operand IsNot Me.Operand OrElse type IsNot Me.Type Then 1571If 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 1627If operatorKind <> Me.OperatorKind OrElse underlyingExpression IsNot Me.UnderlyingExpression OrElse checked <> Me.Checked OrElse type IsNot Me.Type Then 1691If 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 1724If type IsNot Me.Type Then 1789If left IsNot Me.Left OrElse leftOnTheRightOpt IsNot Me.LeftOnTheRightOpt OrElse right IsNot Me.Right OrElse suppressObjectClone <> Me.SuppressObjectClone OrElse type IsNot Me.Type Then 1845If byRefLocal IsNot Me.ByRefLocal OrElse lValue IsNot Me.LValue OrElse isLValue <> Me.IsLValue OrElse type IsNot Me.Type Then 1962If 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 2035If 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 2134If 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 2285If underlyingExpression IsNot Me.UnderlyingExpression OrElse inOutConversionFlags <> Me.InOutConversionFlags OrElse type IsNot Me.Type Then 2357If 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 2421If operand IsNot Me.Operand OrElse conversionKind <> Me.ConversionKind OrElse constantValueOpt IsNot Me.ConstantValueOpt OrElse relaxationLambdaOpt IsNot Me.RelaxationLambdaOpt OrElse type IsNot Me.Type Then 2473If operand IsNot Me.Operand OrElse isTypeOfIsNotExpression <> Me.IsTypeOfIsNotExpression OrElse targetType IsNot Me.TargetType OrElse type IsNot Me.Type Then 2551If expression IsNot Me.Expression OrElse type IsNot Me.Type Then 3102If 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 3170If 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 3241If 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 3313If 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 3356If binder IsNot Me.Binder OrElse memberAccess IsNot Me.MemberAccess OrElse type IsNot Me.Type Then 3426If inferredType IsNot Me.InferredType OrElse argumentNamesOpt <> Me.ArgumentNamesOpt OrElse inferredNamesOpt <> Me.InferredNamesOpt OrElse arguments <> Me.Arguments OrElse type IsNot Me.Type Then 3461If naturalTypeOpt IsNot Me.NaturalTypeOpt OrElse arguments <> Me.Arguments OrElse type IsNot Me.Type Then 3550If 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 3584If guidString IsNot Me.GuidString OrElse initializerOpt IsNot Me.InitializerOpt OrElse type IsNot Me.Type Then 3635If binderOpt IsNot Me.BinderOpt OrElse declarations <> Me.Declarations OrElse arguments <> Me.Arguments OrElse type IsNot Me.Type Then 3686If binder IsNot Me.Binder OrElse propertyIndex <> Me.PropertyIndex OrElse type IsNot Me.Type Then 3729If binder IsNot Me.Binder OrElse value IsNot Me.Value OrElse type IsNot Me.Type Then 3796If createTemporaryLocalForInitialization <> Me.CreateTemporaryLocalForInitialization OrElse placeholderOpt IsNot Me.PlaceholderOpt OrElse initializers <> Me.Initializers OrElse type IsNot Me.Type Then 3827If placeholderOpt IsNot Me.PlaceholderOpt OrElse initializers <> Me.Initializers OrElse type IsNot Me.Type Then 3858If initializerOpt IsNot Me.InitializerOpt OrElse type IsNot Me.Type Then 3925If 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 3997If 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 4108If initializers <> Me.Initializers OrElse type IsNot Me.Type Then 4180If 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 4277If 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 4320If receiverOpt IsNot Me.ReceiverOpt OrElse eventSymbol IsNot Me.EventSymbol OrElse type IsNot Me.Type Then 4850If locals <> Me.Locals OrElse sideEffects <> Me.SideEffects OrElse valueOpt IsNot Me.ValueOpt OrElse type IsNot Me.Type Then 5918If value IsNot Me.Value OrElse type IsNot Me.Type Then 5951If type IsNot Me.Type Then 5991If type IsNot Me.Type Then 6024If type IsNot Me.Type Then 6057If type IsNot Me.Type Then 6101If sourceType IsNot Me.SourceType OrElse type IsNot Me.Type Then 6134If type IsNot Me.Type Then 6194If localSymbol IsNot Me.LocalSymbol OrElse isLValue <> Me.IsLValue OrElse type IsNot Me.Type Then 6258If localSymbol IsNot Me.LocalSymbol OrElse isLValue <> Me.IsLValue OrElse emitExpressions IsNot Me.EmitExpressions OrElse type IsNot Me.Type Then 6320If parameterSymbol IsNot Me.ParameterSymbol OrElse isLValue <> Me.IsLValue OrElse suppressVirtualCalls <> Me.SuppressVirtualCalls OrElse type IsNot Me.Type Then 6362If isOut <> Me.IsOut OrElse type IsNot Me.Type Then 6437If 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 6485If originalArgument IsNot Me.OriginalArgument OrElse localSymbol IsNot Me.LocalSymbol OrElse type IsNot Me.Type Then 6569If label IsNot Me.Label OrElse type IsNot Me.Type Then 6952If lastOperator IsNot Me.LastOperator OrElse type IsNot Me.Type Then 7006If expression IsNot Me.Expression OrElse type IsNot Me.Type Then 7041If conversionCall IsNot Me.ConversionCall OrElse type IsNot Me.Type Then 7144If 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 7182If underlyingExpression IsNot Me.UnderlyingExpression OrElse rangeVariables <> Me.RangeVariables OrElse compoundVariableType IsNot Me.CompoundVariableType OrElse binders <> Me.Binders OrElse type IsNot Me.Type Then 7217If underlyingExpression IsNot Me.UnderlyingExpression OrElse type IsNot Me.Type Then 7321If rangeVariable IsNot Me.RangeVariable OrElse value IsNot Me.Value OrElse type IsNot Me.Type Then 7439If 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 7474If group IsNot Me.Group OrElse type IsNot Me.Type Then 7518If rangeVariable IsNot Me.RangeVariable OrElse type IsNot Me.Type Then 7808If xmlNamespace IsNot Me.XmlNamespace OrElse localName IsNot Me.LocalName OrElse objectCreation IsNot Me.ObjectCreation OrElse type IsNot Me.Type Then 7852If xmlNamespace IsNot Me.XmlNamespace OrElse objectCreation IsNot Me.ObjectCreation OrElse type IsNot Me.Type Then 7905If declaration IsNot Me.Declaration OrElse childNodes <> Me.ChildNodes OrElse rewriterInfo IsNot Me.RewriterInfo OrElse type IsNot Me.Type Then 7964If 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 8017If target IsNot Me.Target OrElse data IsNot Me.Data OrElse objectCreation IsNot Me.ObjectCreation OrElse type IsNot Me.Type Then 8061If value IsNot Me.Value OrElse objectCreation IsNot Me.ObjectCreation OrElse type IsNot Me.Type Then 8127If name IsNot Me.Name OrElse value IsNot Me.Value OrElse matchesImport <> Me.MatchesImport OrElse objectCreation IsNot Me.ObjectCreation OrElse type IsNot Me.Type Then 8180If argument IsNot Me.Argument OrElse childNodes <> Me.ChildNodes OrElse rewriterInfo IsNot Me.RewriterInfo OrElse type IsNot Me.Type Then 8215If memberAccess IsNot Me.MemberAccess OrElse type IsNot Me.Type Then 8250If expression IsNot Me.Expression OrElse type IsNot Me.Type Then 8294If value IsNot Me.Value OrElse objectCreation IsNot Me.ObjectCreation OrElse type IsNot Me.Type Then 8518If activeHandlerLocal IsNot Me.ActiveHandlerLocal OrElse resumeTargetLocal IsNot Me.ResumeTargetLocal OrElse type IsNot Me.Type Then 8717If 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 8782If locals <> Me.Locals OrElse spillFields <> Me.SpillFields OrElse statements <> Me.Statements OrElse valueOpt IsNot Me.ValueOpt OrElse type IsNot Me.Type Then 8884If 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 8936If receiver IsNot Me.Receiver OrElse placeholder IsNot Me.Placeholder OrElse accessExpression IsNot Me.AccessExpression OrElse type IsNot Me.Type Then 8985If placeholderId <> Me.PlaceholderId OrElse type IsNot Me.Type Then 9058If receiverOrCondition IsNot Me.ReceiverOrCondition OrElse captureReceiver <> Me.CaptureReceiver OrElse placeholderId <> Me.PlaceholderId OrElse whenNotNull IsNot Me.WhenNotNull OrElse whenNullOpt IsNot Me.WhenNullOpt OrElse type IsNot Me.Type Then 9107If valueTypeReceiver IsNot Me.ValueTypeReceiver OrElse referenceTypeReceiver IsNot Me.ReferenceTypeReceiver OrElse type IsNot Me.Type Then 9155If argument IsNot Me.Argument OrElse constantValueOpt IsNot Me.ConstantValueOpt OrElse type IsNot Me.Type Then 9195If expression IsNot Me.Expression OrElse type IsNot Me.Type Then 9244If contents <> Me.Contents OrElse binder IsNot Me.Binder OrElse type IsNot Me.Type Then 12022Dim type as TypeSymbol = Me.VisitType(node.Type) 12027Dim type as TypeSymbol = Me.VisitType(node.Type) 12033Dim type as TypeSymbol = Me.VisitType(node.Type) 12038Dim type as TypeSymbol = Me.VisitType(node.Type) 12043Dim type as TypeSymbol = Me.VisitType(node.Type) 12048Dim type as TypeSymbol = Me.VisitType(node.Type) 12053Dim type as TypeSymbol = Me.VisitType(node.Type) 12058Dim type as TypeSymbol = Me.VisitType(node.Type) 12064Dim type as TypeSymbol = Me.VisitType(node.Type) 12075Dim type as TypeSymbol = Me.VisitType(node.Type) 12081Dim type as TypeSymbol = Me.VisitType(node.Type) 12088Dim type as TypeSymbol = Me.VisitType(node.Type) 12094Dim type as TypeSymbol = Me.VisitType(node.Type) 12100Dim type as TypeSymbol = Me.VisitType(node.Type) 12105Dim type as TypeSymbol = Me.VisitType(node.Type) 12110Dim type as TypeSymbol = Me.VisitType(node.Type) 12116Dim type as TypeSymbol = Me.VisitType(node.Type) 12121Dim type as TypeSymbol = Me.VisitType(node.Type) 12127Dim type as TypeSymbol = Me.VisitType(node.Type) 12132Dim type as TypeSymbol = Me.VisitType(node.Type) 12137Dim type as TypeSymbol = Me.VisitType(node.Type) 12142Dim type as TypeSymbol = Me.VisitType(node.Type) 12147Dim type as TypeSymbol = Me.VisitType(node.Type) 12152Dim type as TypeSymbol = Me.VisitType(node.Type) 12157Dim type as TypeSymbol = Me.VisitType(node.Type) 12163Dim type as TypeSymbol = Me.VisitType(node.Type) 12169Dim type as TypeSymbol = Me.VisitType(node.Type) 12175Dim type as TypeSymbol = Me.VisitType(node.Type) 12182Dim type as TypeSymbol = Me.VisitType(node.Type) 12188Dim type as TypeSymbol = Me.VisitType(node.Type) 12197Dim type as TypeSymbol = Me.VisitType(node.Type) 12202Dim type as TypeSymbol = Me.VisitType(node.Type) 12210Dim type as TypeSymbol = Me.VisitType(node.Type) 12217Dim type as TypeSymbol = Me.VisitType(node.Type) 12223Dim type as TypeSymbol = Me.VisitType(node.Type) 12231Dim type as TypeSymbol = Me.VisitType(node.Type) 12240Dim type as TypeSymbol = Me.VisitType(node.Type) 12247Dim type as TypeSymbol = Me.VisitType(node.Type) 12265Dim type as TypeSymbol = Me.VisitType(node.Type) 12272Dim type as TypeSymbol = Me.VisitType(node.Type) 12279Dim type as TypeSymbol = Me.VisitType(node.Type) 12286Dim type as TypeSymbol = Me.VisitType(node.Type) 12297Dim type as TypeSymbol = Me.VisitType(node.Type) 12313Dim type as TypeSymbol = Me.VisitType(node.Type) 12319Dim type as TypeSymbol = Me.VisitType(node.Type) 12358Dim type as TypeSymbol = Me.VisitType(node.Type) 12365Dim type as TypeSymbol = Me.VisitType(node.Type) 12373Dim type as TypeSymbol = Me.VisitType(node.Type) 12381Dim type as TypeSymbol = Me.VisitType(node.Type) 12387Dim type as TypeSymbol = Me.VisitType(node.Type) 12393Dim type as TypeSymbol = Me.VisitType(node.Type) 12400Dim type as TypeSymbol = Me.VisitType(node.Type) 12408Dim type as TypeSymbol = Me.VisitType(node.Type) 12414Dim type as TypeSymbol = Me.VisitType(node.Type) 12421Dim 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) 12446Dim type as TypeSymbol = Me.VisitType(node.Type) 12452Dim type as TypeSymbol = Me.VisitType(node.Type) 12461Dim type as TypeSymbol = Me.VisitType(node.Type) 12469Dim type as TypeSymbol = Me.VisitType(node.Type) 12476Dim type as TypeSymbol = Me.VisitType(node.Type) 12482Dim type as TypeSymbol = Me.VisitType(node.Type) 12488Dim type as TypeSymbol = Me.VisitType(node.Type) 12496Dim type as TypeSymbol = Me.VisitType(node.Type) 12502Dim type as TypeSymbol = Me.VisitType(node.Type) 12563Dim type as TypeSymbol = Me.VisitType(node.Type) 12684Dim type as TypeSymbol = Me.VisitType(node.Type) 12689Dim type as TypeSymbol = Me.VisitType(node.Type) 12694Dim type as TypeSymbol = Me.VisitType(node.Type) 12699Dim type as TypeSymbol = Me.VisitType(node.Type) 12704Dim type as TypeSymbol = Me.VisitType(node.Type) 12709Dim type as TypeSymbol = Me.VisitType(node.Type) 12714Dim type as TypeSymbol = Me.VisitType(node.Type) 12719Dim type as TypeSymbol = Me.VisitType(node.Type) 12724Dim type as TypeSymbol = Me.VisitType(node.Type) 12729Dim type as TypeSymbol = Me.VisitType(node.Type) 12734Dim type as TypeSymbol = Me.VisitType(node.Type) 12744Dim type as TypeSymbol = Me.VisitType(node.Type) 12750Dim type as TypeSymbol = Me.VisitType(node.Type) 12759Dim type as TypeSymbol = Me.VisitType(node.Type) 12786Dim type as TypeSymbol = Me.VisitType(node.Type) 12792Dim type as TypeSymbol = Me.VisitType(node.Type) 12798Dim type as TypeSymbol = Me.VisitType(node.Type) 12804Dim type as TypeSymbol = Me.VisitType(node.Type) 12810Dim type as TypeSymbol = Me.VisitType(node.Type) 12817Dim type as TypeSymbol = Me.VisitType(node.Type) 12824Dim type as TypeSymbol = Me.VisitType(node.Type) 12830Dim type as TypeSymbol = Me.VisitType(node.Type) 12836Dim type as TypeSymbol = Me.VisitType(node.Type) 12842Dim type as TypeSymbol = Me.VisitType(node.Type) 12847Dim type as TypeSymbol = Me.VisitType(node.Type) 12856Dim type as TypeSymbol = Me.VisitType(node.Type) 12862Dim type as TypeSymbol = Me.VisitType(node.Type) 12867Dim type as TypeSymbol = Me.VisitType(node.Type) 12905Dim type as TypeSymbol = Me.VisitType(node.Type) 12912Dim type as TypeSymbol = Me.VisitType(node.Type) 12919Dim type as TypeSymbol = Me.VisitType(node.Type) 12928Dim type as TypeSymbol = Me.VisitType(node.Type) 12936Dim type as TypeSymbol = Me.VisitType(node.Type) 12943Dim type as TypeSymbol = Me.VisitType(node.Type) 12951Dim type as TypeSymbol = Me.VisitType(node.Type) 12958Dim type as TypeSymbol = Me.VisitType(node.Type) 12964Dim type as TypeSymbol = Me.VisitType(node.Type) 12970Dim type as TypeSymbol = Me.VisitType(node.Type) 12977Dim type as TypeSymbol = Me.VisitType(node.Type) 12999Dim type as TypeSymbol = Me.VisitType(node.Type) 13024Dim type as TypeSymbol = Me.VisitType(node.Type) 13031Dim type as TypeSymbol = Me.VisitType(node.Type) 13048Dim type as TypeSymbol = Me.VisitType(node.Type) 13056Dim type as TypeSymbol = Me.VisitType(node.Type) 13061Dim type as TypeSymbol = Me.VisitType(node.Type) 13069Dim type as TypeSymbol = Me.VisitType(node.Type) 13076Dim type as TypeSymbol = Me.VisitType(node.Type) 13082Dim type as TypeSymbol = Me.VisitType(node.Type) 13088Dim type as TypeSymbol = Me.VisitType(node.Type) 13094Dim type as TypeSymbol = Me.VisitType(node.Type) 13120New TreeDumperNode("type", node.Type, Nothing) 13126New TreeDumperNode("type", node.Type, Nothing) 13133New TreeDumperNode("type", node.Type, Nothing) 13139New TreeDumperNode("type", node.Type, Nothing) 13145New TreeDumperNode("type", node.Type, Nothing) 13151New TreeDumperNode("type", node.Type, Nothing) 13157New TreeDumperNode("type", node.Type, Nothing) 13164New TreeDumperNode("type", node.Type, Nothing) 13173New TreeDumperNode("type", node.Type, Nothing) 13186New TreeDumperNode("type", node.Type, Nothing) 13194New TreeDumperNode("type", node.Type, Nothing) 13203New TreeDumperNode("type", node.Type, Nothing) 13210New TreeDumperNode("type", node.Type, Nothing) 13217New TreeDumperNode("type", node.Type, Nothing) 13224New TreeDumperNode("type", node.Type, Nothing) 13231New TreeDumperNode("type", node.Type, Nothing) 13239New TreeDumperNode("type", node.Type, Nothing) 13246New TreeDumperNode("type", node.Type, Nothing) 13255New TreeDumperNode("type", node.Type, Nothing) 13262New TreeDumperNode("type", node.Type, Nothing) 13268New TreeDumperNode("type", node.Type, Nothing) 13276New TreeDumperNode("type", node.Type, Nothing) 13283New TreeDumperNode("type", node.Type, Nothing) 13289New TreeDumperNode("type", node.Type, Nothing) 13296New TreeDumperNode("type", node.Type, Nothing) 13306New TreeDumperNode("type", node.Type, Nothing) 13314New TreeDumperNode("type", node.Type, Nothing) 13321New TreeDumperNode("type", node.Type, Nothing) 13332New TreeDumperNode("type", node.Type, Nothing) 13341New TreeDumperNode("type", node.Type, Nothing) 13351New TreeDumperNode("type", node.Type, Nothing) 13357New TreeDumperNode("type", node.Type, Nothing) 13367New TreeDumperNode("type", node.Type, Nothing) 13376New TreeDumperNode("type", node.Type, Nothing) 13385New TreeDumperNode("type", node.Type, Nothing) 13395New TreeDumperNode("type", node.Type, Nothing) 13406New TreeDumperNode("type", node.Type, Nothing) 13418New TreeDumperNode("type", node.Type, Nothing) 13440New TreeDumperNode("type", node.Type, Nothing) 13451New TreeDumperNode("type", node.Type, Nothing) 13461New TreeDumperNode("type", node.Type, Nothing) 13470New TreeDumperNode("type", node.Type, Nothing) 13483New TreeDumperNode("type", node.Type, Nothing) 13508New TreeDumperNode("type", node.Type, Nothing) 13518New TreeDumperNode("type", node.Type, Nothing) 13573New TreeDumperNode("type", node.Type, Nothing) 13584New TreeDumperNode("type", node.Type, Nothing) 13595New TreeDumperNode("type", node.Type, Nothing) 13606New TreeDumperNode("type", node.Type, Nothing) 13614New TreeDumperNode("type", node.Type, Nothing) 13624New TreeDumperNode("type", node.Type, Nothing) 13632New TreeDumperNode("type", node.Type, Nothing) 13643New TreeDumperNode("type", node.Type, Nothing) 13651New TreeDumperNode("type", node.Type, Nothing) 13660New TreeDumperNode("type", node.Type, Nothing) 13668New TreeDumperNode("type", node.Type, Nothing) 13676New TreeDumperNode("type", node.Type, Nothing) 13685New TreeDumperNode("type", node.Type, Nothing) 13693New TreeDumperNode("type", node.Type, Nothing) 13700New TreeDumperNode("type", node.Type, Nothing) 13711New TreeDumperNode("type", node.Type, Nothing) 13722New TreeDumperNode("type", node.Type, Nothing) 13734New TreeDumperNode("type", node.Type, Nothing) 13741New TreeDumperNode("type", node.Type, Nothing) 13752New TreeDumperNode("type", node.Type, Nothing) 13766New TreeDumperNode("type", node.Type, Nothing) 13774New TreeDumperNode("type", node.Type, Nothing) 13857New TreeDumperNode("type", node.Type, Nothing) 14019New TreeDumperNode("type", node.Type, Nothing) 14025New TreeDumperNode("type", node.Type, Nothing) 14031New TreeDumperNode("type", node.Type, Nothing) 14037New TreeDumperNode("type", node.Type, Nothing) 14043New TreeDumperNode("type", node.Type, Nothing) 14050New TreeDumperNode("type", node.Type, Nothing) 14056New TreeDumperNode("type", node.Type, Nothing) 14064New TreeDumperNode("type", node.Type, Nothing) 14073New TreeDumperNode("type", node.Type, Nothing) 14082New TreeDumperNode("type", node.Type, Nothing) 14089New TreeDumperNode("type", node.Type, Nothing) 14100New TreeDumperNode("type", node.Type, Nothing) 14108New TreeDumperNode("type", node.Type, Nothing) 14121New TreeDumperNode("type", node.Type, Nothing) 14161New TreeDumperNode("type", node.Type, Nothing) 14173New TreeDumperNode("type", node.Type, Nothing) 14180New TreeDumperNode("type", node.Type, Nothing) 14187New TreeDumperNode("type", node.Type, Nothing) 14194New TreeDumperNode("type", node.Type, Nothing) 14205New TreeDumperNode("type", node.Type, Nothing) 14215New TreeDumperNode("type", node.Type, Nothing) 14222New TreeDumperNode("type", node.Type, Nothing) 14232New TreeDumperNode("type", node.Type, Nothing) 14240New TreeDumperNode("type", node.Type, Nothing) 14249New TreeDumperNode("type", node.Type, Nothing) 14261New TreeDumperNode("type", node.Type, Nothing) 14268New TreeDumperNode("type", node.Type, Nothing) 14275New TreeDumperNode("type", node.Type, Nothing) 14322New TreeDumperNode("type", node.Type, Nothing) 14330New TreeDumperNode("type", node.Type, Nothing) 14339New TreeDumperNode("type", node.Type, Nothing) 14349New TreeDumperNode("type", node.Type, Nothing) 14358New TreeDumperNode("type", node.Type, Nothing) 14366New TreeDumperNode("type", node.Type, Nothing) 14376New TreeDumperNode("type", node.Type, Nothing) 14385New TreeDumperNode("type", node.Type, Nothing) 14392New TreeDumperNode("type", node.Type, Nothing) 14399New TreeDumperNode("type", node.Type, Nothing) 14407New TreeDumperNode("type", node.Type, Nothing) 14441New TreeDumperNode("type", node.Type, Nothing) 14469New TreeDumperNode("type", node.Type, Nothing) 14479New TreeDumperNode("type", node.Type, Nothing) 14497New TreeDumperNode("type", node.Type, Nothing) 14506New TreeDumperNode("type", node.Type, Nothing) 14513New TreeDumperNode("type", node.Type, Nothing) 14524New TreeDumperNode("type", node.Type, Nothing) 14532New TreeDumperNode("type", node.Type, Nothing) 14540New TreeDumperNode("type", node.Type, Nothing) 14547New TreeDumperNode("type", node.Type, Nothing) 14555New 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 (39)
33Dim rewrittenType As TypeSymbol = VisitType(node.Type) 40Debug.Assert(TypeSymbol.Equals(rewrittenType, spillSeq.Type, TypeCompareKind.ConsiderEverything)) 115type:=rewritten.Type)) 135rewritten.Type)) 156rewritten.Type)) 175Dim tempLocal As LocalSymbol = Me.F.SynthesizedLocal(rewritten.Type) 198rewritten.Type)) 231rewritten.Type)) 247rewritten.Type)) 253Dim rewrittenType As TypeSymbol = VisitType(node.Type) 326rewritten.Type)) 347rewritten.Type)) 367rewritten.Type)) 389rewritten.Type)) 408rewritten.Type)) 432If Not rewritten.Type.IsVoidType() Then 433Dim tempLocal As LocalSymbol = Me.F.SynthesizedLocal(rewritten.Type) 487Dim type As TypeSymbol = Me.VisitType(node.Type) 547Debug.Assert(receiverOrCondition.Type.IsBooleanType()) 550Debug.Assert(Not receiverOrCondition.Type.IsBooleanType()) 567If Not receiver.Type.IsReferenceType Then 578receiverLocal = Me.F.SynthesizedLocal(receiver.Type) 585If nullCheckTarget.Type.IsReferenceType Then 588Debug.Assert(Not nullCheckTarget.Type.IsValueType) 589Debug.Assert(nullCheckTarget.Type.IsTypeParameter()) 599receiver.Type) 617If nullCheckTarget.Type.IsReferenceType Then 620Debug.Assert(Not nullCheckTarget.Type.IsValueType) 621Debug.Assert(nullCheckTarget.Type.IsTypeParameter()) 628nullCheckTarget.Type), 713Dim rewrittenType As TypeSymbol = Me.VisitType(node.Type) 734rewrittenInitializer.Type) 763Dim rewrittenType As TypeSymbol = VisitType(node.Type) 790rewritten.Type)) 805rewritten.Type)) 823rewritten.Type)) 839Dim tempLocal As LocalSymbol = Me.F.SynthesizedLocal(rewritten.Type) 867rewritten.Type)) 883rewritten.Type))
Lowering\AsyncRewriter\AsyncRewriter.AsyncMethodToClassRewriter.Spilling.vb (8)
194newArgs(index) = nestedInitializer.Update(newInitializers, nestedInitializer.Type) 257If isReceiver AndAlso expr.Type.IsReferenceType AndAlso 258Not expr.Type.IsTypeParameter() Then ' Skip type parameters to enforce Dev12 behavior 302array = array.Update(spilledExpression, spilledIndices.AsImmutableOrNull, array.IsLValue, array.Type) 332fieldAccess.Type) 371Return arrayInit.Update(SpillExpressionList(builder, arrayInit.Initializers, firstArgumentIsAReceiverOfAMethodCall:=False), arrayInit.Type) 387Dim spillField As FieldSymbol = Me._spillFieldAllocator.AllocateField(expr.Type) 551Return 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 177If Not DirectCast(node.Type, ArrayTypeSymbol).IsSZArray Then
Lowering\ExpressionLambdaRewriter\ExpressionLambdaRewriter.vb (13)
268node = gt.Update(gt.SourceType.MemberwiseClone(Of BoundTypeExpression)(), gt.Type) 445Dim delegateType As NamedTypeSymbol = DirectCast(node.Type, NamedTypeSymbol) 465If Not receiverOpt.Type.IsObjectType Then 514Debug.Assert(arg.Type Is Me.Int32Type) 525Debug.Assert(expressions(i).Type Is Me.Int32Type) 541Return VisitObjectCreationContinued(ConvertRuntimeHelperToExpressionTree("New", _factory.[Typeof](node.Type)), node.InitializerOpt) 642(node.Arguments.Length = 0 AndAlso Not node.Type.IsStructureType() OrElse 645Return ConvertRuntimeHelperToExpressionTree("New", _factory.[Typeof](node.Type)) 651If node.Type.IsAnonymousType AndAlso node.Arguments.Length <> 0 Then 652Dim anonType = DirectCast(node.Type, AnonymousTypeManager.AnonymousTypePublicSymbol) 683Dim resultType As TypeSymbol = node.Type 702Dim arrayType = DirectCast(node.Type, ArrayTypeSymbol) 768Return CreateLiteralExpression(node, node.Type)
Lowering\ExpressionLambdaRewriter\ExpressionLambdaRewriter_BinaryOperator.vb (23)
127Return VisitInternal(AdjustCallForLiftedOperator(opKind, [call], node.Type)) 135Dim resultType As TypeSymbol = node.Type 150Dim operandType As TypeSymbol = originalLeft.Type 161If originalRight.Type.IsNullableType Then 162Debug.Assert(originalLeft.Type Is Nothing OrElse originalLeft.Type.IsObjectType) 163left = CreateLiteralExpression(originalLeft, originalRight.Type) 164operandType = originalRight.Type 168If originalLeft.Type.IsNullableType Then 169Debug.Assert(originalRight.Type Is Nothing OrElse originalRight.Type.IsObjectType) 170right = CreateLiteralExpression(originalRight, originalLeft.Type) 182Debug.Assert(TypeSymbol.Equals(operandType, originalLeft.Type, TypeCompareKind.ConsiderEverything)) 187Debug.Assert(TypeSymbol.Equals(operandType, originalRight.Type, TypeCompareKind.ConsiderEverything)) 269Dim resultType As TypeSymbol = node.Type 280Debug.Assert(TypeSymbol.Equals(resultType, originalLeft.Type, TypeCompareKind.ConsiderEverything)) 284Debug.Assert(TypeSymbol.Equals(resultType, originalRight.Type, TypeCompareKind.ConsiderEverything)) 309Dim resultType As TypeSymbol = node.Type 426Dim operandType As TypeSymbol = operand.Type 429Debug.Assert(conversion.Type.IsNullableType AndAlso conversion.Type.GetNullableUnderlyingType.SpecialType = SpecialType.System_Int32) 641Debug.Assert(oldArg.Type.IsNullableType) 643Debug.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 105Dim parameterType As TypeSymbol = parameter.Type 107Dim convKind As ConversionKind = Conversions.ClassifyPredefinedConversion(parameterType, conversion.Operand.Type, useSiteInfo) 185Dim callType As TypeSymbol = [call].Type 190toType.IsSameTypeIgnoringAll(outConv.Type) OrElse 191toType.IsSameTypeIgnoringAll([call].Type)) 193Debug.Assert(TypeSymbol.Equals(toType, conversion.Type, TypeCompareKind.ConsiderEverything)) 196Dim realParameterType As TypeSymbol = parameter.Type 234outConv.ExtendedInfoOpt, outConv.Type)
Lowering\ExpressionLambdaRewriter\ExpressionLambdaRewriter_Conversion.vb (10)
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))
Lowering\ExpressionLambdaRewriter\ExpressionLambdaRewriter_UnaryOperator.vb (9)
23Dim origArgType As TypeSymbol = origArg.Type 27Debug.Assert(TypeSymbol.Equals(origArgType, node.Type, TypeCompareKind.ConsiderEverything)) 104Debug.Assert(node.Type.IsBooleanType()) 105Debug.Assert(node.Operand.Type.IsNullableOfBoolean()) 122Dim udoOperandType As TypeSymbol = userDefinedOperator.Operand.Type 125Dim lambdaBody As BoundExpression = BuildLambdaBodyForCoalesce(userDefinedOperator.OperatorKind, [call], node.Type, paramSymbol) 126Dim coalesceLambda As BoundExpression = BuildLambdaForCoalesceCall(node.Type, paramSymbol, lambdaBody) 156type:=[call].Type), 195Return 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)
219Dim proxyFieldParented = proxy.AsMember(DirectCast(framePointer.Type, NamedTypeSymbol))
Lowering\LambdaRewriter\LambdaRewriter.vb (19)
361Debug.Assert(TypeSymbol.Equals(result.Type, frameType, TypeCompareKind.ConsiderEverything)) 387Dim proxyFieldParented = proxyField.AsMember(DirectCast(innerFrame.Type, NamedTypeSymbol)) 397Dim constructedProxyField = proxy.AsMember(DirectCast(frame.Type, NamedTypeSymbol)) 540Dim assignment = New BoundAssignmentOperator(syntaxNode, left, right, True, left.Type) 678Return FramePointer(node.Syntax, TryCast(node.Type, NamedTypeSymbol)) 684New BoundMyClassReference(node.Syntax, node.Type), 691New BoundMyBaseReference(node.Syntax, node.Type), 831rewrittenExceptionSource.Type) 915Dim result As BoundExpression = RewriteLambda(lambda, VisitType(node.Type), (node.ConversionKind And ConversionKind.ConvertedToExpressionTree) <> 0) 917result = node.Update(result, node.ConversionKind, node.ConstantValueOpt, node.RelaxationLambdaOpt, node.Type) 930Dim result As BoundExpression = RewriteLambda(lambda, VisitType(node.Type), (node.ConversionKind And ConversionKind.ConvertedToExpressionTree) <> 0) 932result = node.Update(result, node.ConversionKind, node.SuppressVirtualCalls, node.ConstantValueOpt, node.RelaxationLambdaOpt, node.Type) 945Dim result As BoundExpression = RewriteLambda(lambda, VisitType(conversion.Type), (conversion.ConversionKind And ConversionKind.ConvertedToExpressionTree) <> 0) 953conversion.Type) 1198F.ObjectReferenceEqual(cacheVariableRight, F.Null(cacheVariableRight.Type)), 1201cacheVariableRight.Type) 1394If Not result.CaptureReceiver AndAlso Not node.ReceiverOrCondition.Type.IsBooleanType() AndAlso 1397Return result.Update(result.ReceiverOrCondition, True, result.PlaceholderId, result.WhenNotNull, result.WhenNullOpt, result.Type) 1440type:=node.Type)
Lowering\LocalRewriter\LocalRewriter.vb (17)
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 887Return New BoundGetType(result.Syntax, result.SourceType, result.Type, hasErrors:=True) 900node.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)
20Return node.Update(node.OperatorKind, DirectCast(Visit(node.UnderlyingExpression), BoundExpression), node.Checked, node.Type) 50Return node.Update(node.LeftOperand, node.LeftOperandPlaceholder, node.LeftTest, rewritten, node.Type) 56Dim temp As New SynthesizedLocal(_currentMethodOrLambda, node.LeftOperand.Type, SynthesizedLocalKind.LoweringTemp) 135left = TransformRewrittenBinaryOperator(binary.Update(binary.OperatorKind, left, right, binary.Checked, binary.ConstantValueOpt, Me.VisitType(binary.Type))) 189cast.ConversionKind, cast.SuppressVirtualCalls, cast.ConstantValueOpt, cast.RelaxationLambdaOpt, cast.Type) 197cast.Type) 209type:=boundCall.Type) 223type:=propertyAccess.Type) 245node.Type) 247If (node.Left.Type IsNot Nothing AndAlso node.Left.Type.IsNullableType) OrElse 248(node.Right.Type IsNot Nothing AndAlso node.Right.Type.IsNullableType) Then 254If node.Type.IsObjectType() Then 261If node.Left.Type.IsObjectType() Then 268Dim leftType = node.Left.Type 274If node.Type.IsObjectType() OrElse Me._inExpressionLambda AndAlso leftType.IsObjectType() Then 276ElseIf node.Type.IsBooleanType() Then 290Dim leftType = node.Left.Type 293If node.Type.IsObjectType() OrElse Me._inExpressionLambda AndAlso leftType.IsObjectType() Then 295ElseIf node.Type.IsBooleanType() Then 309Dim leftType = node.Left.Type 312If node.Type.IsObjectType() OrElse Me._inExpressionLambda AndAlso leftType.IsObjectType() Then 314ElseIf node.Type.IsBooleanType() Then 328Dim leftType = node.Left.Type 331If node.Type.IsObjectType() OrElse Me._inExpressionLambda AndAlso leftType.IsObjectType() Then 333ElseIf node.Type.IsBooleanType() Then 347Dim leftType = node.Left.Type 350If node.Type.IsObjectType() OrElse Me._inExpressionLambda AndAlso leftType.IsObjectType() Then 352ElseIf node.Type.IsBooleanType() Then 366Dim leftType = node.Left.Type 369If node.Type.IsObjectType() OrElse Me._inExpressionLambda AndAlso leftType.IsObjectType() Then 371ElseIf node.Type.IsBooleanType() Then 385If node.Type.IsObjectType() AndAlso Not _inExpressionLambda Then 387ElseIf node.Type.IsDecimalType() Then 392If node.Type.IsObjectType() AndAlso Not _inExpressionLambda Then 394ElseIf node.Type.IsDecimalType() Then 399If node.Type.IsObjectType() AndAlso Not _inExpressionLambda Then 401ElseIf node.Type.IsDecimalType() Then 406If node.Type.IsObjectType() AndAlso Not _inExpressionLambda Then 408ElseIf node.Type.IsDecimalType() Then 413If node.Type.IsObjectType() AndAlso Not _inExpressionLambda Then 415ElseIf node.Type.IsDecimalType() Then 420If node.Type.IsObjectType() AndAlso Not _inExpressionLambda Then 425If 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 457If node.Type.IsObjectType() AndAlso Not _inExpressionLambda Then 471Debug.Assert(node.Left.Type.IsDateTimeType()) 472Debug.Assert(node.Right.Type.IsDateTimeType()) 473Debug.Assert(node.Type.IsBooleanType()) 479If left.Type.IsDateTimeType() AndAlso right.Type.IsDateTimeType() Then 498node.Type) 510Debug.Assert(node.Left.Type.IsDecimalType()) 511Debug.Assert(node.Right.Type.IsDecimalType()) 512Debug.Assert(node.Type.IsBooleanType()) 518If left.Type.IsDecimalType() AndAlso right.Type.IsDecimalType() Then 537node.Type) 545Debug.Assert(node.Type.IsObjectType()) 551If rewrittenLeft.Type.IsObjectType() AndAlso rewrittenRight.Type.IsObjectType() Then 568If cast.Operand.Type.IsBooleanType() Then 576If cast.Operand.Type.IsBooleanType() Then 606Debug.Assert(left.Type.IsBooleanType() AndAlso right.Type.IsBooleanType()) 608Dim op = New BoundBinaryOperator(node.Syntax, node.OperatorKind And BinaryOperatorKind.OpMask, left, right, False, left.Type) 611result = New BoundDirectCast(node.Syntax, op, ConversionKind.WideningValue, node.Type, Nothing) 630If node.Type.IsDoubleType() AndAlso left.Type.IsDoubleType() AndAlso right.Type.IsDoubleType() Then 654Debug.Assert(node.Left.Type.IsDecimalType()) 655Debug.Assert(node.Right.Type.IsDecimalType()) 656Debug.Assert(node.Type.IsDecimalType()) 662If left.Type.IsDecimalType() AndAlso right.Type.IsDecimalType() Then 678Debug.Assert(node.Left.Type.IsStringType()) 679Debug.Assert(node.Right.Type.IsStringType()) 680Debug.Assert(node.Type.IsBooleanType()) 711False, node.Type) 718Debug.Assert(node.Left.Type.IsObjectType()) 719Debug.Assert(node.Right.Type.IsObjectType()) 720Debug.Assert(node.Type.IsObjectType() OrElse node.Type.IsBooleanType()) 731Debug.Assert(memberSymbol.ReturnType Is node.Type OrElse Me._inExpressionLambda AndAlso memberSymbol.ReturnType.IsObjectType) 742If Me._inExpressionLambda AndAlso memberSymbol.ReturnType.IsObjectType AndAlso node.Type.IsBooleanType Then 743result = New BoundConversion(node.Syntax, DirectCast(result, BoundExpression), ConversionKind.NarrowingBoolean, node.Checked, False, node.Type) 753Debug.Assert((node.Type.IsObjectType() AndAlso left.Type.IsObjectType() AndAlso right.Type.IsObjectType()) OrElse 754(node.Type.IsBooleanType() AndAlso left.Type.IsStringType() AndAlso right.Type.IsStringType())) 763Debug.Assert(memberSymbol.ReturnType Is node.Type) 782Debug.Assert(left.Type.IsObjectType()) 783Debug.Assert(right.Type.IsObjectType()) 784Debug.Assert(node.Type.IsObjectType()) 822If optimizeForConditionalBranch AndAlso node.Type.IsNullableOfBoolean() AndAlso left.Type.IsNullableOfBoolean() AndAlso right.Type.IsNullableOfBoolean() AndAlso 829Return node.Update(node.OperatorKind, left, right, node.Checked, node.ConstantValueOpt, node.Type) 837Return NullableNull(left, node.Type) 847Return WrapInNullable(unliftedOp, node.Type) 851If node.Left.Type.IsNullableOfBoolean Then 868Dim nullOperand = NullableNull(If(leftHasNoValue, left, right), node.Type) 890node.Type), 891NullableNull(whenNull, node.Type)) 930WrapInNullable(unliftedOpOnCaptured, node.Type), 931NullableNull(node.Syntax, node.Type)) 939value.Type) 964Return NullableNull(left, node.Type) 1007node.Type.GetNullableUnderlyingType()), 1021booleanResult.Type) 1036Return WrapInNullable(booleanResult, node.Type) 1040Debug.Assert(node.Type.IsNullableOfBoolean()) 1041Debug.Assert(operand.Type.IsNullableOfBoolean()) 1043Dim result = New BoundLiteral(node.Syntax, ConstantValue.False, node.Type.GetNullableUnderlyingType()) 1046result, result.Type) 1050Debug.Assert(operand.Type.IsNullableOfBoolean()) 1056Return New BoundNullableIsTrueOperator(operand.Syntax, operand, operand.Type.GetNullableUnderlyingType()) 1068Debug.Assert(left.Type.IsNullableOfBoolean AndAlso right.Type.IsNullableOfBoolean AndAlso node.Type.IsNullableOfBoolean) 1072Dim nullableOfBoolean = node.Type 1146result.Type) 1305value.Type) 1322Return RewriteNullableIsOrIsNotOperator((node.OperatorKind And BinaryOperatorKind.OpMask) = BinaryOperatorKind.Is, If(left.IsNothingLiteral, right, left), node.Type) 1327Debug.Assert(operand.Type.IsNullableType) 1396Dim resultType = operatorCall.Type 1401Debug.Assert(left.Type.IsNullableType() AndAlso right.Type.IsNullableType(), "left and right must be nullable") 1450Debug.Assert(leftCallInput.Type.IsSameTypeIgnoringAll(operatorCall.Method.Parameters(0).Type), 1452Debug.Assert(rightCallInput.Type.IsSameTypeIgnoringAll(operatorCall.Method.Parameters(1).Type), 1465If Not whenHasValue.Type.IsSameTypeIgnoringAll(resultType) Then 1469Debug.Assert(whenHasValue.Type.IsSameTypeIgnoringAll(resultType), "result type must be same as resultType") 1489result.Type) 1501Debug.Assert(Not left.Type.IsNullableType) 1502Debug.Assert(Not right.Type.IsNullableType) 1512originalOperator.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 105newPlaceHolder = New BoundConditionalAccessReceiverPlaceholder(node.Placeholder.Syntax, newPlaceholderId, node.Placeholder.Type) 111Dim accessResultType As TypeSymbol = node.AccessExpression.Type 123If node.Type.IsVoidType() Then 127whenNotNull = WrapInNullable(whenNotNull, node.Type) 131whenNull = If(node.Type.IsNullableType(), NullableNull(node.Syntax, node.Type), factory.Null(node.Type)) 143result = New BoundLoweredConditionalAccess(node.Syntax, receiverOrCondition, captureReceiver, newPlaceholderId, whenNotNull, whenNull, node.Type) 154Debug.Assert(node.Type.IsVoidType()) 155result = New BoundSequence(node.Syntax, ImmutableArray(Of LocalSymbol).Empty, ImmutableArray(Of BoundExpression).Empty, Nothing, node.Type) 159If result.Type.IsVoidType() Then 160result = New BoundSequence(node.Syntax, ImmutableArray.Create(temp), ImmutableArray.Create(assignment, result), Nothing, result.Type) 162result = New BoundSequence(node.Syntax, ImmutableArray.Create(temp), ImmutableArray.Create(assignment), result, result.Type) 211whenNotNull.Type) 217Return sequence.Update(sequence.Locals, sequence.SideEffects, operand, operand.Type)
Lowering\LocalRewriter\LocalRewriter_ConditionalExpressions.vb (22)
23If node.TestExpression.Type IsNot Nothing AndAlso node.TestExpression.Type.IsNullableType Then 47node.Type)) 57Dim rewrittenTestExpressionType As TypeSymbol = rewrittenTestExpression.Type 116type:=node.Type)) 126type:=result.Type) 132Dim testExpressionType As TypeSymbol = testExpression.Type 134Debug.Assert(TypeSymbol.Equals(testExpressionType, rewrittenTestExpression.Type, TypeCompareKind.ConsiderEverything)) 149Debug.Assert(node.TestExpressionPlaceholder Is Nothing OrElse TypeSymbol.Equals(node.TestExpressionPlaceholder.Type, testExpressionType.GetNullableUnderlyingTypeOrSelf, TypeCompareKind.ConsiderEverything)) 163Return node.Update(rewrittenTestExpression, rewrittenWhenTrue, Nothing, rewrittenWhenFalse, node.ConstantValueOpt, node.Type) 188Debug.Assert(testExpr.IsNothingLiteral OrElse Not testExpr.Type.IsValueType) 192If testExpr.IsConstant AndAlso (TypeSymbol.Equals(testExpr.Type, elseExpr.Type, TypeCompareKind.ConsiderEverything)) Then 206Debug.Assert(Not testExpr.Type.IsValueType) 240If rewrittenLeft.Type.IsNullableType() AndAlso 242rewrittenRight.Type.IsSameTypeIgnoringAll(rewrittenLeft.Type.GetNullableUnderlyingType()) _ 264If capturedleft.Type.IsSameTypeIgnoringAll(node.ConvertedTestExpression.Type) Then 282result.Type) 292If 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 (76)
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) 597Dim resultType = node.Type 598Dim operandType = rewrittenOperand.Type 627Dim convKind = Conversions.ClassifyDirectCastConversion(rewrittenOperand.Type, resultType, useSiteInfo) 654Dim convKind = Conversions.ClassifyDirectCastConversion(unwrappedOperand.Type, resultType, useSiteInfo) 667Dim convKind = Conversions.ClassifyDirectCastConversion(rewrittenOperand.Type, resultType, useSiteInfo) 693Debug.Assert(operand.Type.IsNullableType) 708Dim resultType As TypeSymbol = outConversion.Type 752inputToOperatorMethod = WrapInNullable(NullableValueOrDefault(capturedleft), capturedleft.Type) 767type:=operatorCall.Type) 786result.Type) 802Dim underlyingTypeTo = rewrittenConversion.Type.GetEnumUnderlyingTypeOrSelf() 821Dim underlyingTypeFrom = operand.Type.GetEnumUnderlyingTypeOrSelf() 887If Not operand.Type.IsObjectType() Then 892Conversions.ClassifyDirectCastConversion(operand.Type, objectType, useSiteInfo), 900Debug.Assert(memberSymbol.ReturnType.IsSameTypeIgnoringAll(node.Type)) 909Conversions.ClassifyDirectCastConversion(node.Operand.Type, node.Type, CompoundUseSiteInfo(Of AssemblySymbol).Discarded)) 915Return New BoundDirectCast(node.Syntax, node.Operand, node.ConversionKind, node.Type, Nothing) 959If Not operand.Type.IsObjectType() Then 961Debug.Assert(operand.Type.IsReferenceType) 967Conversions.ClassifyDirectCastConversion(operand.Type, typeFrom, useSiteInfo), 978Dim targetResultType = node.Type 1047Dim operandType = operand.Type 1123Dim targetResultType = node.Type 1186Dim operandType = operand.Type 1260Dim targetResultType = node.Type 1287Return New BoundConversion(node.Syntax, callOperand.Arguments(0), node.ConversionKind, node.Checked, node.ExplicitCastInCode, node.Type) 1313Debug.Assert(node.ConversionKind = Conversions.ClassifyConversion(mathRound.ReturnType, node.Type, CompoundUseSiteInfo(Of AssemblySymbol).Discarded).Key) 1316node.Checked, node.ExplicitCastInCode, node.Type, Nothing) 1334Select Case node.Type.SpecialType 1353Select Case node.Type.SpecialType 1418Dim typeFrom As TypeSymbol = operand.Type 1419Dim typeTo As TypeSymbol = node.Type 1424Debug.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 (6)
19Debug.Assert(node.Type.SpecialType = SpecialType.System_String) 49Return InvokeInterpolatedStringFactory(node, node.Type, "Format", node.Type, factory) 58Dim targetType = conversion.Type 84conversion.Type, 176If Not result.Type.Equals(targetType) Then
Lowering\LocalRewriter\LocalRewriter_LateAddressOf.vb (1)
21Dim targetType = DirectCast(node.Type, NamedTypeSymbol)
Lowering\LocalRewriter\LocalRewriter_LateBindingHelpers.vb (25)
26If Not rewrittenReceiver.Type.IsObjectType Then 28Dim convKind = Conversions.ClassifyDirectCastConversion(rewrittenReceiver.Type, objectType, useSiteInfo) 118Dim arrayTemp As LocalSymbol = New SynthesizedLocal(Me._currentMethodOrLambda, arrayCreation.Type, SynthesizedLocalKind.LoweringTemp) 131If Not argument.Type.IsObjectType Then 133Dim convKind = Conversions.ClassifyDirectCastConversion(argument.Type, objectType, useSiteInfo) 155Return New BoundSequence(node, ImmutableArray.Create(arrayTemp), sideeffects.ToImmutableAndFree, arrayTempRef, arrayTempRef.Type) 173If Not rewrittenValue.Type.IsObjectType Then 174Dim convKind = Conversions.ClassifyDirectCastConversion(rewrittenValue.Type, objectType, useSiteInfo) 207Dim arrayTemp As LocalSymbol = New SynthesizedLocal(Me._currentMethodOrLambda, arrayCreation.Type, SynthesizedLocalKind.LoweringTemp) 220If Not argument.Type.IsObjectType Then 221Dim convKind = Conversions.ClassifyDirectCastConversion(argument.Type, objectType, useSiteInfo) 236If Not rewrittenValue.Type.IsObjectType Then 237Dim convKind = Conversions.ClassifyDirectCastConversion(rewrittenValue.Type, objectType, useSiteInfo) 245Return New BoundSequence(node, ImmutableArray.Create(arrayTemp), sideeffects.ToImmutableAndFree, arrayTempRef, arrayTempRef.Type) 258value.Type) 285If Not argument.Type.IsObjectType Then 287Dim convKind = Conversions.ClassifyDirectCastConversion(argument.Type, objectType, useSiteInfo) 350Dim booleanType = DirectCast(copyBackArrayRef.Type, ArrayTypeSymbol).ElementType 356Dim objectType = DirectCast(valueArrayRef.Type, ArrayTypeSymbol).ElementType 362Dim targetType = assignmentTarget.Type 753copyBackFlagArrayTemp = New SynthesizedLocal(Me._currentMethodOrLambda, copyBackFlagArray.Type, SynthesizedLocalKind.LoweringTemp) 757valueArrayTemp = New SynthesizedLocal(Me._currentMethodOrLambda, argumentsArray.Type, SynthesizedLocalKind.LoweringTemp) 839Dim valueTemp = New SynthesizedLocal(Me._currentMethodOrLambda, callerInvocation.Type, SynthesizedLocalKind.LoweringTemp) 848valueRef.Type) 906type:=argumentWithCapture.Type)
Lowering\LocalRewriter\LocalRewriter_LateInvocation.vb (1)
88result.Type)
Lowering\LocalRewriter\LocalRewriter_LocalDeclaration.vb (8)
202Conversions.ClassifyDirectCastConversion(flag.Type, objectType, useSiteInfo), 220flag.Type) 224compareExchange.Construct(flag.Type), 226ImmutableArray.Create(Of BoundExpression)(flag, newFlagInstance, New BoundLiteral(syntax, ConstantValue.Nothing, flag.Type)), 228flag.Type) 266Dim two = New BoundLiteral(syntax, ConstantValue.Create(2S), flagState.Type) 270New BoundLiteral(syntax, ConstantValue.Default(ConstantValueTypeDiscriminator.Int16), flagState.Type), 320New BoundLiteral(syntax, ConstantValue.Create(1S), flagState.Type),
Lowering\LocalRewriter\LocalRewriter_NullableHelpers.vb (30)
18Debug.Assert(nullableType.GetNullableUnderlyingType.IsSameTypeIgnoringAll(expr.Type)) 118temp = New SynthesizedLocal(Me._currentMethodOrLambda, operand.Type, SynthesizedLocalKind.LoweringTemp) 120init = New BoundAssignmentOperator(operand.Syntax, localAccess, operand, True, operand.Type) 157Debug.Assert(expr.Type.IsNullableType) 178If Not _inExpressionLambda AndAlso expr.Type.IsNullableOfBoolean() Then 186New BoundLiteral(expr.Syntax, ConstantValue.False, expr.Type.GetNullableUnderlyingType())) 191Dim getValueOrDefaultMethod = GetNullableMethod(expr.Syntax, expr.Type, SpecialMember.System_Nullable_T_GetValueOrDefault) 205Return New BoundBadExpression(expr.Syntax, LookupResultKind.NotReferencable, ImmutableArray(Of Symbol).Empty, ImmutableArray.Create(expr), expr.Type.GetNullableUnderlyingType(), hasErrors:=True) 210conversion.Type.GetNullableUnderlyingType().Equals(conversion.Operand.Type, TypeCompareKind.AllIgnoreOptionsForVB) 214Debug.Assert(expr.Type.IsNullableType) 220Dim getValueMethod As MethodSymbol = GetNullableMethod(expr.Syntax, expr.Type, SpecialMember.System_Nullable_T_get_Value) 234Return New BoundBadExpression(expr.Syntax, LookupResultKind.NotReferencable, ImmutableArray(Of Symbol).Empty, ImmutableArray.Create(expr), expr.Type.GetNullableUnderlyingType(), hasErrors:=True) 241Debug.Assert(expr.Type.IsNullableType) 248Dim hasValueMethod As MethodSymbol = GetNullableMethod(expr.Syntax, expr.Type, SpecialMember.System_Nullable_T_get_HasValue) 288If (Not type.IsSameTypeIgnoringAll(candidateNullExpression.Type)) OrElse 332Debug.Assert(expr.Type.IsNullableType) 349Debug.Assert(expr.Type.IsNullableType) 378Debug.Assert(Not left.Type.IsNullableType) 379Debug.Assert(Not right.Type.IsNullableType) 477Debug.Assert(TypeSymbol.Equals(left.Type, right.Type, TypeCompareKind.ConsiderEverything)) 478Debug.Assert(left.Type.IsBooleanType) 480Return MakeBinaryExpression(syntax, binaryOpKind, left, right, False, left.Type) 510second.Type) 521Debug.Assert(condition.Type.IsBooleanType, "ternary condition must be boolean") 522Debug.Assert(whenTrue.Type.IsSameTypeIgnoringAll(whenFalse.Type), "ternary branches must have same types") 529Return TransformRewrittenTernaryConditionalExpression(New BoundTernaryConditionalExpression(syntax, condition, whenTrue, whenFalse, Nothing, whenTrue.Type)) 548If 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)
107Return node.Update(VisitMethodSymbol(node.Method), VisitType(node.Type)) 130type:=VisitType(node.Type)) 138Dim type As TypeSymbol = VisitType(node.Type) 202Return node.Update(VisitFieldSymbol(node.Field), VisitType(node.Type)) 211VisitType(node.Type)) 232type:=rewritten.Type) 240If node.Type IsNot rewritten.Type OrElse Not constructor.IsDefinition Then 247rewritten.Type) 485Debug.Assert(node.ValueOpt IsNot Nothing OrElse node.HasErrors OrElse node.Type.SpecialType = SpecialType.System_Void) 488Return node.Update(newLocals.ToImmutableAndFree(), prologue.ToImmutableAndFree(), newValue, If(newValue Is Nothing, node.Type, newValue.Type)) 502awaitablePlaceholder.Update(VisitType(awaitablePlaceholder.Type))) 506awaiterPlaceholder.Update(VisitType(awaiterPlaceholder.Type))) 520placeholder.Update(VisitType(placeholder.Type))) 534leftOperandPlaceholder.Update(VisitType(leftOperandPlaceholder.Type)))
Lowering\StateMachineRewriter\StateMachineRewriter.StateMachineMethodToClassRewriter.vb (1)
144Debug.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]() 296Debug.Assert(left.Type.IsSameTypeIgnoringAll(right.Type) OrElse right.Type.IsErrorType() OrElse left.Type.IsErrorType()) 303Debug.Assert(TypeSymbol.Equals(byRefLocal.Type, lValue.Type, TypeCompareKind.ConsiderEverything)) 306Dim boundNode = New BoundReferenceAssignment(_syntax, Local(byRefLocal, isLValue:=True), lValue, isLValue:=True, type:=lValue.Type) 353Dim conversion = Conversions.ClassifyDirectCastConversion(expression.Type, Me.CurrentMethod.ReturnType, useSiteInfo) 616Return New BoundTernaryConditionalExpression(Me.Syntax, condition, ifTrue, ifFalse, Nothing, ifTrue.Type).MakeCompilerGenerated() 622Debug.Assert(expression.Type.IsReferenceType) 'Others are not supported yet 624Debug.Assert(Not expression.Type.IsErrorType) 627Return New BoundTryCast(Me.Syntax, expression, Conversions.ClassifyTryCastConversion(expression.Type, type, CompoundUseSiteInfo(Of AssemblySymbol).Discarded), type) 632Debug.Assert(expression.IsNothingLiteral OrElse expression.Type.IsReferenceType OrElse expression.Type.IsTypeParameter()) 'Others are not supported yet 634Debug.Assert(expression.Type Is Nothing OrElse Not expression.Type.IsErrorType) 641Conversions.ClassifyDirectCastConversion(expression.Type, type, CompoundUseSiteInfo(Of AssemblySymbol).Discarded)), 682Dim boundNode = New BoundSequence(_syntax, locals, sideEffects, result, result.Type) 789Debug.Assert(array.Type IsNot Nothing AndAlso array.Type.IsArrayType()) 790Dim boundNode = New BoundArrayAccess(_syntax, array, indices, isLValue, (DirectCast(array.Type, ArrayTypeSymbol)).ElementType) 983ElseIf type.IsErrorType() OrElse arg.Type.IsErrorType() Then 986Return Convert(type, arg, Conversions.ClassifyConversion(arg.Type, type, CompoundUseSiteInfo(Of AssemblySymbol).Discarded).Key, isChecked) 1022Return New BoundBinaryConditionalExpression(Syntax, left, Nothing, Nothing, right, Nothing, left.Type) 1038Debug.Assert(operand.Type.IsReferenceType) 1039Dim boundNode = Binary(BinaryOperatorKind.Is, SpecialType(Microsoft.CodeAnalysis.SpecialType.System_Boolean), operand, Me.Null(operand.Type)) 1045Debug.Assert(operand.Type.IsReferenceType) 1046Dim boundNode = Binary(BinaryOperatorKind.IsNot, SpecialType(Microsoft.CodeAnalysis.SpecialType.System_Boolean), operand, Me.Null(operand.Type)) 1052Return New BoundUnaryOperator(expression.Syntax, UnaryOperatorKind.Not, expression, False, expression.Type) 1104valueOpt.Type)).MakeCompilerGenerated()
Lowering\UseTwiceRewriter.vb (37)
84ElseIf receiverOpt.IsLValue AndAlso receiverOpt.Type.IsReferenceType Then 87boundTemp = boundTemp.Update(boundTemp.LocalSymbol, isLValue:=True, type:=boundTemp.Type) 88receiver = New Result(New BoundSequence(capture.Syntax, ImmutableArray(Of LocalSymbol).Empty, ImmutableArray.Create(Of BoundExpression)(capture), boundTemp, boundTemp.Type), 90ElseIf Not receiverOpt.IsLValue AndAlso Not receiverOpt.Type.IsReferenceType AndAlso Not receiverOpt.Type.IsValueType Then 93boundTemp = boundTemp.Update(boundTemp.LocalSymbol, isLValue:=True, type:=boundTemp.Type) 95receiver = New Result(New BoundSequence(capture.Syntax, ImmutableArray(Of LocalSymbol).Empty, ImmutableArray.Create(Of BoundExpression)(capture), boundTemp, boundTemp.Type), 142Debug.Assert(type IsNot Nothing AndAlso Not type.IsVoidType() AndAlso value.Type Is type) 162Return CaptureInATemp(containingMember, value, value.Type, temporaries, referToTemp) 175ElseIf value.IsValue AndAlso value.Type IsNot Nothing AndAlso Not value.Type.IsVoidType() Then 186Dim second = New BoundLiteral(value.Syntax, constantValue, value.Type) 215If IsInvariantArray(node.Expression.Type) Then 238Dim second = node.Update(boundArrayTemp, indicesSecond.AsImmutableOrNull(), node.IsLValue, node.Type) 239Dim first = node.Update(storeArray, indicesFirst.AsImmutableOrNull(), node.IsLValue, node.Type) 253Dim temp = New SynthesizedLocal(containingMember, lvalue.Type, SynthesizedLocalKind.LoweringTemp, isByRef:=True) 256lvalue, isLValue:=True, type:=lvalue.Type).MakeCompilerGenerated() 258Dim second = New BoundLocal(lvalue.Syntax, temp, isLValue:=True, type:=lvalue.Type).MakeCompilerGenerated() 271Dim second = node.Update(Nothing, fieldSymbol, node.IsLValue, node.SuppressVirtualCalls, constantsInProgressOpt:=Nothing, node.Type) 313ElseIf receiverOpt.IsLValue AndAlso receiverOpt.Type.IsReferenceType AndAlso 314Not receiverOpt.Type.IsTypeParameter() Then ' Skip type parameters to enforce Dev12 behavior 317ElseIf Not receiverOpt.IsLValue AndAlso Not receiverOpt.Type.IsReferenceType AndAlso Not receiverOpt.Type.IsValueType Then 320boundTemp = boundTemp.Update(boundTemp.LocalSymbol, isLValue:=True, type:=boundTemp.Type) 322receiver = New Result(New BoundSequence(capture.Syntax, ImmutableArray(Of LocalSymbol).Empty, ImmutableArray.Create(Of BoundExpression)(capture), boundTemp, boundTemp.Type), 364type:=node.Type) 375type:=node.Type) 406Dim temp = New SynthesizedLocal(containingMember, boundArgument.Type, SynthesizedLocalKind.LoweringTemp) 412boundArgument.Type) 428node.Type) 436node.Type) 451node.Type) 458node.Type) 506initializer.Update(firstArgsArray.AsImmutableOrNull(), initializer.Type), Nothing, Nothing, boundArray.Type) 508initializer.Update(secondArgsArray.AsImmutableOrNull(), initializer.Type), Nothing, Nothing, boundArray.Type)
Lowering\WithExpressionRewriter.vb (13)
86Dim type As TypeSymbol = value.Type 96value = New BoundLValueToRValueWrapper(value.Syntax, value, value.Type).MakeCompilerGenerated() 111Dim type As TypeSymbol = value.Type 136Return value.Update(boundArrayTemp, indices.AsImmutableOrNull(), value.IsLValue, value.Type) 152If value.IsValue AndAlso value.Type IsNot Nothing AndAlso Not value.Type.IsVoidType() Then 176Return value.Update(Nothing, fieldSymbol, value.IsLValue, value.SuppressVirtualCalls, value.ConstantsInProgressOpt, value.Type) 183Return value.Update(receiver, fieldSymbol, value.IsLValue, value.SuppressVirtualCalls, value.ConstantsInProgressOpt, value.Type) 191If value.IsLValue AndAlso value.Type.IsReferenceType Then 273Dim type As TypeSymbol = value.Type 296Debug.Assert(value.Type.IsStructureType OrElse value.Type.IsTypeParameter) 316If Not (state.DoNotUseByRefLocal OrElse (value.Kind = BoundKind.ArrayAccess AndAlso value.Type.Kind = SymbolKind.TypeParameter)) Then
Operations\VisualBasicOperationFactory.vb (65)
318type = expression.Type 375Dim type As ITypeSymbol = boundAssignmentOperator.Type 384Dim type As ITypeSymbol = boundMeReference.Type 392Dim type As ITypeSymbol = boundMyBaseReference.Type 400Dim type As ITypeSymbol = boundMyClassReference.Type 407Dim type As ITypeSymbol = boundLiteral.Type 416Dim type As ITypeSymbol = boundAwaitOperator.Type 424Dim type As ITypeSymbol = boundNameOfOperator.Type 452Dim type As ITypeSymbol = boundCall.Type 459Dim type As ITypeSymbol = boundOmittedArgument.Type 467Dim type As ITypeSymbol = boundParenthesized.Type 477Dim type As ITypeSymbol = boundArrayAccess.Type 503Dim type As ITypeSymbol = boundUnaryOperator.Type 516Dim type As ITypeSymbol = boundUserDefinedUnaryOperator.Type 569Dim type As ITypeSymbol = currentBinary.Type 588Dim type As ITypeSymbol = boundUserDefinedBinaryOperator.Type 600Dim type As ITypeSymbol = boundBinaryConditionalExpression.Type 606If Not TypeSymbol.Equals(boundBinaryConditionalExpression.Type, boundBinaryConditionalExpression.TestExpression.Type, TypeCompareKind.ConsiderEverything) Then 629Dim type As ITypeSymbol = boundUserDefinedShortCircuitingOperator.Type 651Dim type As ITypeSymbol = If(syntax.IsMissing, Nothing, boundBadExpression.Type) 686initializer = New ObjectOrCollectionInitializerOperation(namedArguments, _semanticModel, boundAttribute.Syntax, boundAttribute.Type, isImplicit:=True) 689Dim objectCreationOperation = New ObjectCreationOperation(boundAttribute.Constructor, initializer, DeriveArguments(boundAttribute), _semanticModel, boundAttribute.Syntax, boundAttribute.Type, boundAttribute.ConstantValueOpt, isImplicit:=True) 721Dim type As ITypeSymbol = boundConversionOrCast.Type 728If boundOperand.Kind = BoundKind.ConvertedTupleLiteral AndAlso TypeSymbol.Equals(boundOperand.Type, boundConversionOrCast.Type, TypeCompareKind.ConsiderEverything) Then 751Dim type As ITypeSymbol = boundDelegateCreationExpression.Type 782Dim type As ITypeSymbol = boundTernaryConditionalExpression.Type 794Dim type As ITypeSymbol = boundTypeOf.Type 800Dim typeOperand As ITypeSymbol = boundGetType.SourceType.Type 802Dim type As ITypeSymbol = boundGetType.Type 813Dim type As ITypeSymbol = boundLateInvocation.Type 825Dim type As ITypeSymbol = boundObjectCreationExpression.Type 834Dim type As ITypeSymbol = boundObjectInitializerExpression.Type 842Dim type As ITypeSymbol = boundCollectionInitializerExpression.Type 850Dim type As ITypeSymbol = boundNewT.Type 858Dim type As ITypeSymbol = creation.Type 867Dim type As ITypeSymbol = boundArrayCreation.Type 887Dim type As ITypeSymbol = boundPropertyAccess.Type 895Dim type As ITypeSymbol = boundWithLValueExpressionPlaceholder.Type 903Dim type As ITypeSymbol = boundWithRValueExpressionPlaceholder.Type 913Dim type As ITypeSymbol = boundEventAccess.Type 924Dim type As ITypeSymbol = boundFieldAccess.Type 935Dim type As ITypeSymbol = boundConditionalAccess.Type 942Dim type As ITypeSymbol = boundConditionalAccessReceiverPlaceholder.Type 950Dim type As ITypeSymbol = boundParameter.Type 959Dim type As ITypeSymbol = boundLocal.Type 981Not TypeSymbol.Equals(boundLateMemberAccess.ContainerTypeOpt, boundLateMemberAccess.ReceiverOpt.Type, TypeCompareKind.ConsiderEverything))) Then 985Dim type As ITypeSymbol = boundLateMemberAccess.Type 1023Dim type As ITypeSymbol = boundRValuePlaceholder.Type 1171Dim loopObj = If(boundForToStatement.ControlVariable.Type.IsObjectType, 1172New SynthesizedLocal(DirectCast(_semanticModel.GetEnclosingSymbol(boundForToStatement.Syntax.SpanStart), Symbol), boundForToStatement.ControlVariable.Type, 1285Dim exceptionType As ITypeSymbol = If(boundCatchBlock.ExceptionSourceOpt?.Type, DirectCast(_semanticModel.Compilation, VisualBasicCompilation).GetWellKnownType(WellKnownType.System_Exception)) 1543Return CreateTupleOperation(boundTupleLiteral, boundTupleLiteral.Type) 1553Dim type As ITypeSymbol = boundTupleExpression.Type 1561Dim type As ITypeSymbol = boundInterpolatedString.Type 1598Dim type As ITypeSymbol = boundAnonymousTypeCreationExpression.Type 1608Dim type As ITypeSymbol = boundAnonymousTypePropertyAccess.Type 1627Dim type As ITypeSymbol = boundQueryExpression.Type 1644Dim type As ITypeSymbol = boundAggregateClause.Type 1651Dim type As ITypeSymbol = boundNullableIsTrueOperator.Type 1655Debug.Assert(boundNullableIsTrueOperator.Operand.Type.IsNullableOfBoolean() AndAlso boundNullableIsTrueOperator.Type.IsBooleanType()) 1662Return New InvocationOperation(method.AsMember(DirectCast(boundNullableIsTrueOperator.Operand.Type, NamedTypeSymbol)), constrainedToType:=Nothing, 1668boundNullableIsTrueOperator.Type,
Operations\VisualBasicOperationFactory_Methods.vb (12)
91Dim type As ITypeSymbol = boundAssignment.Type 314Dim properties = DirectCast(expression.Type, AnonymousTypePublicSymbol).Properties 501If IsDelegateCreation(boundConversion.Syntax, boundOperand, boundConversion.Type) Then 532Not TypeSymbol.Equals(nestedConversion.Type, nestedOperand.Type, TypeCompareKind.ConsiderEverything) AndAlso 534TypeSymbol.Equals(topLevelConversion.Type, nestedConversion.Type, TypeCompareKind.ConsiderEverything) Then 539TypeSymbol.Equals(topLevelConversion.Type, boundOperand.Type, TypeCompareKind.ConsiderEverything) AndAlso 540IsDelegateCreation(topLevelConversion.Syntax, boundOperand, boundOperand.Type) Then 666Return If(leftOpt?.Type?.SpecialType = SpecialType.System_Object, BinaryOperatorKind.ObjectValueEquals, BinaryOperatorKind.Equals) 668Return If(leftOpt?.Type?.SpecialType = SpecialType.System_Object, BinaryOperatorKind.ObjectValueNotEquals, BinaryOperatorKind.NotEquals)
Operations\VisualBasicOperationFactory_QueryLambdaRewriter.vb (3)
60expression = New BoundParameter(node.Syntax, parameter.ParameterSymbol, parameter.IsLValue, parameter.SuppressVirtualCalls, parameter.Type, parameter.HasErrors) 65access.DefaultArguments, access.Type, access.HasErrors) 91node = New BoundParameter(node.Syntax, node.ParameterSymbol, node.IsLValue, node.SuppressVirtualCalls, node.Type, node.HasErrors)
Semantics\Conversions.vb (15)
732Dim sourceExpressionType = source.Type 985source.Type) 1046If source.Type Is Nothing Then 1236If TypeSymbol.Equals(source.Type, destination, TypeCompareKind.ConsiderEverything) Then 1465Dim sourceType = operand.Type 1528Debug.Assert(source.Type Is Nothing) ' Shouldn't try to convert already converted query lambda. 1603Dim sourceType As TypeSymbol = constantExpression.Type 1703If destination.IsObjectType() AndAlso constantExpression.Type IsNot Nothing AndAlso 1704constantExpression.Type.IsObjectType() Then 1808Dim sourceType As TypeSymbol = source.Type 1864Dim sourceType As TypeSymbol = source.Type 2108Dim sourceType As TypeSymbol = source.Type 2120sourceType = source.Type 4246Dim operandType As TypeSymbol = conversion.Operand.Type 4252methodConversion = 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)
2148Dim argType As TypeSymbol = If(argument.Kind <> BoundKind.ArrayLiteral, argument.Type, DirectCast(argument, BoundArrayLiteral).InferredType) 2405If IsUnwrappingNullable(conv.Key, arguments(j).Type, current.Candidate.Parameters(j).Type) Then 2411If IsUnwrappingNullable(arguments(j).Type, conv.Value.Parameters(0).Type, useSiteInfo) Then 3122(param.IsExplicitByRef OrElse (argument.Type IsNot Nothing AndAlso argument.Type.IsStringType())) Then 3213If argument.IsLValue() AndAlso targetType.IsSameTypeIgnoringAll(argument.Type) Then 3312While underlying.Kind = BoundKind.Parenthesized AndAlso underlying.Type Is Nothing 3366Dim argumentType = argument.Type
Semantics\TypeInference\TypeArgumentInference.vb (9)
246If currentNamedNode.Expression.Type IsNot Nothing AndAlso 247currentNamedNode.Expression.Type.IsObjectType() Then 526Debug.Assert(Expression.Type Is Nothing) 577expressionType = Expression.Type 595If Not (Expression.Type IsNot Nothing AndAlso Expression.Type.IsObjectType()) Then 1245Dim argumentType As TypeSymbol = argument.Type 2124lambdaReturnType = queryLambda.Expression.Type 2132lambdaReturnType = queryLambda.LambdaSymbol.ContainingBinder.MakeRValue(queryLambda.Expression, Me.Diagnostic).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)
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)
Microsoft.CodeAnalysis.VisualBasic.ExpressionEvaluator.ExpressionCompiler (17)
CompilationContext.vb (1)
513Select Case expression.Type.SpecialType
Rewriters\CapturedVariableRewriter.vb (12)
66Debug.Assert(TypeSymbol.Equals(node.Type, result.Type, TypeCompareKind.ConsiderEverything)) 72Debug.Assert(TypeSymbol.Equals(node.Type, result.Type, TypeCompareKind.ConsiderEverything)) 95Debug.Assert(meParameter.Type.TypeKind = TypeKind.Class) ' Illegal in structures and modules. 97Dim baseType = node.Type 108Debug.Assert(TypeSymbol.Equals(result.Type, node.Type, TypeCompareKind.ConsiderEverything)) 152Debug.Assert(TypeSymbol.Equals(result.Type, node.Type, TypeCompareKind.ConsiderEverything) OrElse 153TypeSymbol.Equals(result.Type.BaseTypeNoUseSiteDiagnostics, node.Type, TypeCompareKind.ConsiderEverything))
Rewriters\PlaceholderLocalRewriter.vb (2)
29Debug.Assert(TypeSymbol.Equals(result.Type, node.Type, TypeCompareKind.ConsiderEverything))
Symbols\EEMethodSymbol.vb (1)
600Return DirectCast(body, BoundReturnStatement).ExpressionOpt.Type
Symbols\PlaceholderLocalSymbol.vb (1)
122Dim exprType = expr.Type
Microsoft.CodeAnalysis.VisualBasic.Semantic.UnitTests (22)
Semantics\OverloadResolution.vb (22)
198Dim intVal As BoundExpression = New BoundUnaryOperator(_syntaxNode, UnaryOperatorKind.Minus, intZero, False, intZero.Type) 199Dim intArray As BoundExpression = New BoundRValuePlaceholder(_syntaxNode, c1.CreateArrayTypeSymbol(intZero.Type)) 203Dim doubleVal As BoundExpression = New BoundUnaryOperator(_syntaxNode, UnaryOperatorKind.Minus, doubleConst, False, doubleConst.Type) 207Dim objectArray As BoundExpression = New BoundRValuePlaceholder(_syntaxNode, c1.CreateArrayTypeSymbol(objectVal.Type)) 1814typeArguments:={intVal.Type}.AsImmutableOrNull(), 1831typeArguments:={intVal.Type}.AsImmutableOrNull(), 1848typeArguments:={intVal.Type}.AsImmutableOrNull(), 1916Dim ext_M13_0_Candidate = (ext_M13(0).ReduceExtensionMethod(intVal.Type, 0)) 1917Dim ext_M13_1_Candidate = (ext_M13(1).ReduceExtensionMethod(intVal.Type, 0)) 1923typeArguments:={intVal.Type}.AsImmutableOrNull(), 1941typeArguments:={intVal.Type}.AsImmutableOrNull(), 1997typeArguments:={intVal.Type}.AsImmutableOrNull(), 2015Dim ext_M14_Candidate = (ext_M14.ReduceExtensionMethod(intVal.Type, 0)) 2016Dim ext1_M14_Candidate = (ext1_M14.ReduceExtensionMethod(intVal.Type, 0)) 2022typeArguments:={intVal.Type}.AsImmutableOrNull(), 2044typeArguments:={intVal.Type}.AsImmutableOrNull(), 2105Dim ext_M15_Candidate = (ext_M15.ReduceExtensionMethod(intVal.Type, 0)) 2111typeArguments:={intVal.Type}.AsImmutableOrNull(), 2992Dim ext_SM_Candidate = (ext_SM.ReduceExtensionMethod(TestClass1Val.Type, 0)) 3016Dim ext_SM1_0_Candidate = (ext_SM1(0).ReduceExtensionMethod(TestClass1Val.Type, 0)) 3017Dim ext_SM1_1_Candidate = (ext_SM1(1).ReduceExtensionMethod(TestClass1Val.Type, 0)) 3076Dim intVal As BoundExpression = New BoundUnaryOperator(_syntaxNode, UnaryOperatorKind.Minus, IntegerMaxValue, False, IntegerMaxValue.Type)