2012 references to Type
Microsoft.CodeAnalysis.VisualBasic (2012)
Analysis\FlowAnalysis\AbstractFlowPass.vb (5)
830Debug.Assert(node.ValueOpt IsNot Nothing OrElse node.HasErrors OrElse node.Type.SpecialType = SpecialType.System_Void) 986Return DirectCast(node, BoundLocal).Type.IsValueType 989Return DirectCast(node, BoundParameter).Type.IsValueType 1238If receiver.Type.IsReferenceType Then 1700Dim receiverType = receiver.Type
Analysis\FlowAnalysis\DataFlowPass.vb (3)
457If receiverOpt.Type Is Nothing OrElse receiverOpt.Type.TypeKind <> TypeKind.Structure Then 1014If IsEmptyStructType(node.Type) Then
Analysis\FlowAnalysis\ReadWriteWalker.vb (1)
145If receiver.Type.IsStructureType AndAlso receiverSyntax.Span.OverlapsWith(_region) Then NoteReceiverReadOrWritten(CType(receiver, BoundFieldAccess), readOrWritten)
Analysis\InitializerRewriter.vb (3)
212Debug.Assert(expr.Type IsNot Nothing) 213If expr.Type.SpecialType <> SpecialType.System_Void Then 227Debug.Assert(submissionResult.Type.SpecialType <> SpecialType.System_Void)
Analysis\IteratorAndAsyncAnalysis\IteratorAndAsyncCaptureWalker.vb (1)
265If TypeOf objCreation.Type Is LambdaFrame AndAlso objCreation.Arguments.Length = 1 Then
Binding\Binder_AnonymousTypes.vb (2)
244boundExpression = New BoundAnonymousTypeFieldInitializer(initializer, initializerBinder, boundExpression, boundExpression.Type).MakeCompilerGenerated() 248Dim fieldType As TypeSymbol = boundExpression.Type
Binding\Binder_Attributes.vb (24)
83Return New SourceAttributeData(Compilation, node.GetReference(), DirectCast(boundAttribute.Type, NamedTypeSymbol), boundAttribute.Constructor, args, namedArgs, isConditionallyOmitted, hasErrors:=visitor.HasErrors) 536Debug.Assert(TypeSymbol.Equals(lValue.Type, fieldOrPropType, TypeCompareKind.ConsiderEverything)) 589Dim sourceType As TypeSymbol = expression.SourceType.Type 749If _binder.IsValidTypeForAttributeArgument(node.Type) Then 750Return CreateTypedConstant(node.Type, node.ConstantValueOpt.Value) 752Return CreateErrorTypedConstant(node.Type) 766Not _binder.IsValidTypeForAttributeArgument(conv.Operand.Type) Then 769ReportDiagnostic(diagBag, conv.Operand.Syntax, ERRID.ERR_RequiredAttributeConstConversion2, conv.Operand.Type, conv.Type) 771Return CreateErrorTypedConstant(node.Type) 780Not _binder.IsValidTypeForAttributeArgument(conv.Operand.Type) Then 783ReportDiagnostic(diagBag, conv.Operand.Syntax, ERRID.ERR_RequiredAttributeConstConversion2, conv.Operand.Type, conv.Type) 785Return CreateErrorTypedConstant(node.Type) 794Not _binder.IsValidTypeForAttributeArgument(conv.Operand.Type) Then 798ReportDiagnostic(diagBag, conv.Operand.Syntax, ERRID.ERR_RequiredAttributeConstConversion2, If(conv.Operand.Type, _binder.Compilation.GetSpecialType(SpecialType.System_Object)), conv.Type) 800Return CreateErrorTypedConstant(node.Type) 819Return CreateErrorTypedConstant(node.Type) 823Return CreateErrorTypedConstant(node.Type) 831Dim getTypeArgument = sourceType.Type 844Return CreateErrorTypedConstant(node.Type) 848Return CreateTypedConstant(node.Type, getTypeArgument) 852Dim type = DirectCast(node.Type, ArrayTypeSymbol)
Binding\Binder_ConditionalAccess.vb (1)
49Dim type As TypeSymbol = boundExpression.Type
Binding\Binder_Conversions.vb (14)
111Dim sourceType = argument.Type 228Dim sourceType = argument.Type 337If Not isExplicit AndAlso argument.Type.IsSameTypeIgnoringAll(targetType) Then 418Debug.Assert(argument.Type.IsNullableOfBoolean() AndAlso booleanType.IsBooleanType()) 442Debug.Assert(argument.Type.IsSameTypeIgnoringAll(targetType)) 471Dim sourceType = argument.Type 987Dim sourceType = argument.Type 1105Dim originalArgumentType As TypeSymbol = argument.Type 1205If argument.Type Is Nothing AndAlso Not argument.IsNothingLiteral() Then 1211argument = parenthesized.Update(enclosed, enclosed.Type) 1321Debug.Assert(anonymousDelegate.Type Is anonymousDelegateInfo.Key) 1512Debug.Assert(lambda.Type Is Nothing) 1677sourceTuple.Type, 1681If Not TypeSymbol.Equals(sourceTuple.Type, destination, TypeCompareKind.ConsiderEverything) AndAlso convKind <> Nothing Then
Binding\Binder_Delegates.vb (6)
51Return New BoundLateAddressOfOperator(node, Me, DirectCast(boundOperand, BoundLateMemberAccess), boundOperand.Type) 147boundConversion.Type) 1096Debug.Assert(Not actualReceiver.Type.IsTypeParameter()) 1100relaxationReceiverPlaceholder = New BoundRValuePlaceholder(actualReceiver.Syntax, actualReceiver.Type) 1246receiver.Type.IsDelegateType() AndAlso 1247receiver.Type.IsAnonymousType Then
Binding\Binder_Expressions.vb (94)
123Return New BoundTypeExpression(node, asType.UnevaluatedReceiverOpt, asType.AliasOpt, operand.Type, operand.HasErrors) 131Return New BoundParenthesized(node, reclassified, reclassified.Type) 133Return New BoundParenthesized(node, operand, operand.Type) 324Return New BoundBadExpression(wrappedBadExpression.Syntax, resultKind, wrappedBadExpression.Symbols, wrappedBadExpression.ChildBoundNodes, wrappedBadExpression.Type, hasErrors:=True) 326Return New BoundBadExpression(wrappedExpression.Syntax, resultKind, ImmutableArray(Of Symbol).Empty, ImmutableArray.Create(wrappedExpression), wrappedExpression.Type, hasErrors:=True) 380If boundArgument.Type IsNot Nothing Then 530Dim expressionType As TypeSymbol = expression.Type 771Dim operandType = operand.Type 950Dim type = receiver.Type 963If expr.Kind = BoundKind.ConditionalAccess AndAlso expr.Type Is Nothing Then 967Dim resultType As TypeSymbol = access.Type 1022Dim type = expr.Type 1066Dim type As TypeSymbol = typeExpr.Type 1137If result.Type IsNot classType Then 1157type:=access.Type, 1163access.SuppressVirtualCalls, access.ConstantsInProgressOpt, access.Type, access.HasErrors) 1171type:=[call].Type, 1239Return parenthesized.Update(enclosed, enclosed.Type) 1247If Not expr.IsValue OrElse expr.Type Is Nothing OrElse expr.Type.IsVoidType Then 1254Dim exprType = expr.Type 1320Debug.Assert(receiverOpt.Type IsNot Nothing) 1321Return receiverOpt.Type 1354Return parenthesized.Update(enclosed, enclosed.Type) 1371Dim exprType = expr.Type 1448Return parenthesized.Update(enclosed, enclosed.Type) 1743invocation.Type) 1764Not receiver.Type.IsValueType) ' If this logic changes, logic in UseTwiceRewriter.UseTwicePropertyAccess might need to change too. 1821base.Type.IsValueType Then 1845Dim receiverType = receiver.Type 1995(candidate.IsNothingLiteral OrElse (candidate.Type IsNot Nothing AndAlso candidate.Type.AllowsCompileTimeOperations())) 2011dominantType = If(boundFirstArg.Type, If(boundSecondArg.Type, GetSpecialType(SpecialType.System_Object, node, diagnostics))) 2013ElseIf boundFirstArg.Type IsNot Nothing AndAlso boundFirstArg.Type.IsNullableType AndAlso boundSecondArg.IsNothingLiteral Then 2015dominantType = boundFirstArg.Type 2021If boundFirstArg.Type IsNot Nothing AndAlso boundFirstArg.Type.IsNullableType AndAlso 2022Not (boundSecondArg.Type IsNot Nothing AndAlso boundSecondArg.Type.IsNullableType) Then 2027Dim underlyingType = boundFirstArg.Type.GetNullableUnderlyingType 2057dominantType = boundSecondArg.Type 2063dominantType = boundFirstArg.Type 2082If Not hasErrors AndAlso boundFirstArg.Type Is Nothing Then 2106Debug.Assert(hasErrors OrElse boundFirstArg.IsNothingLiteral OrElse boundFirstArg.Type IsNot Nothing) 2119If Not hasErrors AndAlso Not (boundFirstArg.IsNothingLiteral OrElse boundFirstArg.Type.IsNullableType OrElse boundFirstArg.Type.IsReferenceType) Then 2122If Not boundFirstArg.Type.IsValueType Then 2161placeholder = New BoundRValuePlaceholder(testExpression.Syntax, testExpression.Type.GetNullableUnderlyingTypeOrSelf()) 2724Debug.Assert(boundValue.Type IsNot Nothing) 2725leftType = boundValue.Type 2729Debug.Assert(boundValue.Type IsNot Nothing) 2730leftType = boundValue.Type 2743If TypeSymbol.Equals(boundType.Type, leftType, TypeCompareKind.ConsiderEverything) Then 2798Dim leftTypeSymbol As TypeSymbol = left.Type 2902type = DirectCast(left, BoundTypeExpression).Type 2924type = left.Type 3675receiver = New BoundTypeAsValueExpression(receiver.Syntax, DirectCast(receiver, BoundTypeExpression), receiver.Type).MakeCompilerGenerated() 3760Dim type = left.Type 3834Dim type = expr.Type 3853ReportDiagnostic(diagnostics, expr.Syntax, ERRID.ERR_QualNotObjectRecord1, expr.Type) 3860ReportDiagnostic(diagnostics, expr.Syntax, ERRID.ERR_DefaultMemberNotProperty1, expr.Type) 3927Dim exprType = expr.Type 3936Dim arrayType As ArrayTypeSymbol = DirectCast(expr.Type, ArrayTypeSymbol) 4526Dim expressionType As TypeSymbol = expression.Type 4663operand.Type IsNot Nothing AndAlso 4664operand.Type.IsVoidType() AndAlso 4679ElseIf operand.Type.IsObjectType() Then 4699Dim awaitableInstancePlaceholder = New BoundRValuePlaceholder(operand.Syntax, operand.Type).MakeCompilerGenerated() 4706If operand.Type.IsObjectType Then 4709getAwaiter = BindLateBoundMemberAccess(node, WellKnownMemberNames.GetAwaiter, Nothing, awaitableInstancePlaceholder, operand.Type, 4713Debug.Assert(getAwaiter.Type.IsObjectType()) 4714awaiterInstancePlaceholder = New BoundLValuePlaceholder(operand.Syntax, getAwaiter.Type).MakeCompilerGenerated() 4716isCompleted = BindLateBoundMemberAccess(node, WellKnownMemberNames.IsCompleted, Nothing, awaiterInstancePlaceholder, awaiterInstancePlaceholder.Type, 4720Debug.Assert(isCompleted.Type.IsObjectType()) 4722getResult = BindLateBoundMemberAccess(node, WellKnownMemberNames.GetResult, Nothing, awaiterInstancePlaceholder, awaiterInstancePlaceholder.Type, 4725Debug.Assert(getResult.Type.IsObjectType()) 4728Debug.Assert(operand.Type.IsErrorType() OrElse ignoreDiagnostics.DiagnosticBag.IsEmptyWithoutResolution()) 4736LookupMember(lookupResult, awaitableInstancePlaceholder.Type, WellKnownMemberNames.GetAwaiter, 0, LookupOptions.AllMethodsOfAnyArity, useSiteInfo) 4769getAwaiter.Type.IsObjectType() Then 4784If getAwaiter IsNot Nothing AndAlso Not getAwaiter.Type.IsErrorType() Then 4786awaiterInstancePlaceholder = New BoundLValuePlaceholder(operand.Syntax, getAwaiter.Type).MakeCompilerGenerated() 4789LookupMember(lookupResult, awaiterInstancePlaceholder.Type, WellKnownMemberNames.IsCompleted, 0, 4817Not isCompleted.Type.IsBooleanType() Then 4835LookupMember(lookupResult, awaiterInstancePlaceholder.Type, WellKnownMemberNames.GetResult, 0, 4885Not Conversions.IsWideningConversion(Conversions.ClassifyDirectCastConversion(getAwaiter.Type, notifyCompletion, useSiteInfo)) Then 4886ReportDiagnostic(diagnostics, node, ERRID.ERR_DoesntImplementAwaitInterface2, getAwaiter.Type, notifyCompletion) 4898ReportDiagnostic(diagnostics, node, ERRID.ERR_BadGetAwaiterMethod1, operand.Type) 4902ElseIf getAwaiter.Type.IsErrorType() Then 4906ReportDiagnostic(diagnostics, node, ERRID.ERR_BadIsCompletedOnCompletedGetResult2, getAwaiter.Type, operand.Type) 4911awaiterInstancePlaceholder = New BoundLValuePlaceholder(node, getAwaiter.Type).MakeCompilerGenerated() 4931type:=getResult.Type, hasErrors)
Binding\Binder_Initializers.vb (5)
214If expression.Type Is Nothing OrElse expression.Type.SpecialType <> SpecialType.System_Void Then 549targetType = If(boundInitValue.Type, ErrorTypeSymbol.UnknownResultType) 621If (valueExpression.Type Is Nothing OrElse Not valueExpression.Type.IsErrorType) Then
Binding\Binder_InterpolatedString.vb (6)
77Debug.Assert(node.Type.SpecialType = SpecialType.System_String) 101factoryType:=node.Type, 103targetType:=node.Type, 105node.Type) 136node.Type) 229If Not result.Type.Equals(targetType) Then
Binding\Binder_Invocation.vb (22)
152type:=callExpr.Type, 229Dim diagInfo = ErrorFactory.ErrorInfo(GetTypeNotExpressionErrorId(typeExp.Type), typeExp.Type) 272Dim targetType As TypeSymbol = target.Type 296ReportDiagnostic(diagnostics, target.Syntax, ERRID.ERR_DelegateNoInvoke1, target.Type) 338If target.Type.SpecialType = SpecialType.System_Object OrElse 339target.Type.SpecialType = SpecialType.System_Array Then 525MemberLookup.LookupDefaultProperty(result, target.Type, Me, useSiteInfo) 549LookupMember(result, target.Type, StringConstants.ElementAtMethod, 0, options, useSiteInfo) 1035Not receiver.Type.IsErrorType() Then 1042Conversions.ClassifyConversion(targetType, receiver.Type, useSiteInfo), 1527Dim type = boundArguments(i).Type 2450(param.IsExplicitByRef OrElse (argument.Type IsNot Nothing AndAlso argument.Type.IsStringType())) Then 2487If Not (argument.IsLValue() AndAlso targetType.IsSameTypeIgnoringAll(argument.Type)) Then 2609If argument.Type Is Nothing Then 2614CustomSymbolDisplayFormatter.ShortErrorName(param), argument.Type, targetType) 2759Dim argType = argument.Type 2807(param.IsExplicitByRef OrElse (argument.Type IsNot Nothing AndAlso argument.Type.IsStringType())) Then 2850Dim inPlaceholder = New BoundByRefArgumentPlaceholder(argument.Syntax, isOutParameter, argument.Type, argument.HasErrors).MakeCompilerGenerated() 2947invocation.Type)
Binding\Binder_Lambda.vb (2)
940lambdaReturnType = returnExpression.Type 1062If expr Is Nothing OrElse expr.Type Is LambdaSymbol.ReturnTypeIsBeingInferred Then
Binding\Binder_Latebound.vb (2)
115If receiver IsNot Nothing AndAlso receiver.Type IsNot Nothing AndAlso receiver.Type.IsInterfaceType Then
Binding\Binder_ObjectInitializer.vb (5)
208Debug.Assert(objectInitializerExpressionOpt Is Nothing OrElse TypeSymbol.Equals(objectInitializerExpressionOpt.Type, type0, TypeCompareKind.ConsiderEverything)) 465badExpression.Type) 514Debug.Assert(resultExpression.Type.IsSameTypeIgnoringAll(type0)) 605Return BadExpression(node, children, expr.Type) 745propertyAccess.Type)
Binding\Binder_Operators.vb (21)
100Dim targetArgumentType As TypeSymbol = targetArgument.Type 260Dim leftType As TypeSymbol = left.Type 261Dim rightType As TypeSymbol = right.Type 460If left.Type.IsNullableType Then 464If right.Type.IsNullableType Then 478type:=conversion.Type) 506type:=conversion.Type) 623Return New BoundUserDefinedBinaryOperator(node, opKind, result, CheckOverflow, result.Type) 674operatorType = bitwise.Type 738left.Type, right.Type) 942resultType = conv.Type 947resultType = conv.Type 967Dim leftType = left.Type 968Dim rightType = right.Type 1060rightType = right.Type 1103leftType = left.Type 1185Dim operandType As TypeSymbol = operand.Type 1274Return New BoundUserDefinedUnaryOperator(node, opKind, result, result.Type) 1282If operand.Type.IsErrorType() Then 1286ReportDiagnostic(diagnostics, syntax, ErrorFactory.ErrorInfo(ERRID.ERR_UnaryOperand2, syntax.OperatorToken, operand.Type))
Binding\Binder_Query.vb (107)
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 (61)
742Dim redimTargetType = redimTarget.Type 806clause = New BoundAssignmentOperator(operand, target, nothingLiteral, False, target.Type, hasErrors:=True).MakeCompilerGenerated() 808ElseIf Not target.Type.IsErrorType() AndAlso 809Not target.Type.IsArrayType() AndAlso 810target.Type.SpecialType <> SpecialType.System_Array AndAlso 811target.Type.SpecialType <> SpecialType.System_Object Then 814clause = New BoundAssignmentOperator(operand, target, nothingLiteral, False, target.Type, hasErrors:=True).MakeCompilerGenerated() 818ApplyImplicitConversion(operand, target.Type, nothingLiteral, diagnostics).MakeCompilerGenerated(), 1225Debug.Assert(declarationInitializer.Type.IsSameTypeIgnoringAll(declType)) 1241Not type.IsSameTypeIgnoringAll(declarationInitializer.Type) Then 1243declarationInitializer = BadExpression(asNew, declarationInitializer, declarationInitializer.Type).MakeCompilerGenerated() 1339asClauseType = valueExpression.Type 1406inferredType = inferFrom.Type 1435Dim valueType = valueExpression.Type 1437type = valueExpression.Type 2010Dim targetType As TypeSymbol = op1.Type 2047Dim targetType As TypeSymbol = assignmentTarget.Type 2143ApplyImplicitConversion(node.Right, op1.Type, op2, diagnostics, False), 2145op1.Type, 2151expr = New BoundAssignmentOperator(node, op1, op2, False, op1.Type, hasErrors:=True) 2234Dim targetType As TypeSymbol = assignmentTarget.Type 2251New BoundParenthesized(midExpression, original, original.Type), 2497Debug.Assert(TypeSymbol.Equals(targetAsEvent.Type, eventField.Type, TypeCompareKind.ConsiderEverything) OrElse eventSym.IsWindowsRuntimeEvent, "non-WinRT event should have the same type as its backing field") 2640Not boundExpression.Type.IsErrorType() AndAlso 2641Not boundExpression.Type.IsVoidType() AndAlso 2642Not boundExpression.Type.IsObjectType() Then 2672If IsOrInheritsFromOrImplementsInterface(boundExpression.Type, WellKnownType.Windows_Foundation_IAsyncAction, useSiteInfo:=useSiteInfo) OrElse 2673IsOrInheritsFromOrImplementsInterface(boundExpression.Type, WellKnownType.Windows_Foundation_IAsyncActionWithProgress_T, useSiteInfo:=useSiteInfo) OrElse 2674IsOrInheritsFromOrImplementsInterface(boundExpression.Type, WellKnownType.Windows_Foundation_IAsyncOperation_T, useSiteInfo:=useSiteInfo) OrElse 2675IsOrInheritsFromOrImplementsInterface(boundExpression.Type, WellKnownType.Windows_Foundation_IAsyncOperationWithProgress_T2, useSiteInfo:=useSiteInfo) Then 2746Debug.Assert(boundInvocation.Type Is Nothing) 3136Dim targetType = controlVariableOpt.Type 3291ReportDiagnostic(diagnostics, syntax, ERRID.ERR_ForLoopOperatorRequired2, left.Type, SyntaxFacts.GetText(OverloadResolution.GetOperatorTokenKind(opCode))) 3297If Not bestCandidate.Parameters(0).Type.IsSameTypeIgnoringAll(left.Type) OrElse 3298Not bestCandidate.Parameters(1).Type.IsSameTypeIgnoringAll(left.Type) OrElse 3299(Not isRelational AndAlso Not bestCandidate.ReturnType.IsSameTypeIgnoringAll(left.Type)) Then 3304left.Type.GetNullableUnderlyingTypeOrSelf(), 3305left.Type)) 3309left.Type.GetNullableUnderlyingTypeOrSelf(), 3310left.Type)) 3443Dim controlVariableType = controlVariableOpt.Type 3491Dim enumeratorType = boundGetEnumeratorCall.Type 3612controlVariable.Type, 3737Dim collectionType As TypeSymbol = collection.Type 3835collectionType = collection.Type 3899If(collectionType IsNot Nothing AndAlso collectionType.IsStringType, collectionType, collection.Type)) 3911Dim enumeratorType = boundGetEnumeratorCall.Type 3968currentType = boundCurrentAccess.Type 3992Not boundGetEnumeratorCall.HasErrors AndAlso Not boundGetEnumeratorCall.Type.IsErrorType Then 3994Dim getEnumeratorReturnType = boundGetEnumeratorCall.Type 4113collectionPlaceholder = New BoundRValuePlaceholder(collectionSyntax, collection.Type) 4132Dim enumeratorType As TypeSymbol = boundGetEnumeratorCall.Type 4203currentType = boundCurrentAccess.Type 4521Dim resourceExpressionType = resourceExpression.Type 4524resourceExpression.Type, 4728Dim lockExpressionType = lockExpression.Type 4813If Not exceptionSource.IsValue OrElse exceptionSource.Type Is Nothing OrElse exceptionSource.Type.IsVoidType Then 4817exceptionType = exceptionSource.Type 5059If isAsync AndAlso Not retType.IsErrorType() AndAlso methodReturnType.Equals(arg.Type) AndAlso 5216Dim exceptionType = value.Type
Binding\Binder_Utils.vb (2)
1396Dim conversionType As TypeSymbol = conv.Type 1397Dim operandType As TypeSymbol = operand.Type
Binding\Binder_WithBlock.vb (4)
239placeholder = New BoundWithLValueExpressionPlaceholder(Me.Expression, boundExpression.Type) 241placeholder = New BoundWithRValueExpressionPlaceholder(Me.Expression, boundExpression.Type) 284Dim type As TypeSymbol = node.Type 292Dim type As TypeSymbol = node.Type
Binding\Binder_XmlLiterals.vb (23)
29Return New BoundXmlComment(syntax, str, objectCreation, objectCreation.Type) 53Return New BoundXmlDocument(syntax, declaration, childNodes, rewriterInfo, objectCreation.Type, rewriterInfo.HasErrors) 65Return New BoundXmlDeclaration(syntax, version, encoding, standalone, objectCreation, objectCreation.Type) 85Return New BoundXmlProcessingInstruction(syntax, target, data, objectCreation, objectCreation.Type) 180If argument.Type.IsObjectType AndAlso OptionStrict <> VisualBasic.OptionStrict.On Then 213Return New BoundXmlElement(syntax, argument, childNodes, rewriterInfo, objectCreation.Type, rewriterInfo.HasErrors) 227Dim placeholder = (New BoundRValuePlaceholder(syntax, objectCreation.Type)).MakeCompilerGenerated() 276Debug.Assert(expr.Type IsNot Nothing) 283Not expr.Type.IsIntrinsicOrEnumType() Then 326xmlnsAttributes = BindObjectCreationExpression(syntax, xmlnsAttributesPlaceholder.Type, ImmutableArray(Of BoundExpression).Empty, diagnostics).MakeCompilerGenerated() 434Dim result = New BoundXmlAttribute(syntax, prefix, [namespace], matchesImport, objectCreation, objectCreation.Type, hasErrors) 507Return New BoundXmlAttribute(syntax, name, value, matchesImport, objectCreation, objectCreation.Type) 544Debug.Assert(expr.Type IsNot Nothing) 545Return New BoundXmlEmbeddedExpression(syntax, expr, expr.Type) 643Dim receiverType = receiver.Type 677Return New BoundXmlMemberAccess(syntax, memberAccess, memberAccess.Type) 693Dim receiverType = receiver.Type 737Return New BoundXmlMemberAccess(syntax, memberAccess, memberAccess.Type) 859Return New BoundXmlName(syntax, [namespace], localName, objectCreation, objectCreation.Type) 895Return New BoundXmlNamespace(syntax, [namespace], objectCreation, objectCreation.Type) 921Return New BoundXmlCData(syntax, value, objectCreation, objectCreation.Type) 961receiverOpt.Type.IsErrorType() OrElse 962receiverOpt.Type.IsOrDerivedFrom(type, CompoundUseSiteInfo(Of AssemblySymbol).Discarded))
Binding\MemberSemanticModel.vb (6)
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 (2)
11Debug.Assert(Type.Equals(GetResult.Type))
BoundTree\BoundBadVariable.vb (1)
22Return Update(_Expression, False, Type)
BoundTree\BoundBinaryConditionalExpression.vb (10)
30Type.IsSameTypeIgnoringAll(ElseExpression.Type)) 34Debug.Assert(Type.IsSameTypeIgnoringAll(ConvertedTestExpression.Type)) 37Debug.Assert(TestExpressionPlaceholder.Type.IsSameTypeIgnoringAll(TestExpression.Type.GetNullableUnderlyingTypeOrSelf())) 40If Not Type.IsSameTypeIgnoringAll(TestExpression.Type.GetNullableUnderlyingTypeOrSelf()) Then 41Dim conversion As ConversionKind = Conversions.ClassifyDirectCastConversion(TestExpression.Type, Type, CompoundUseSiteInfo(Of AssemblySymbol).Discarded)
BoundTree\BoundBinaryOperator.vb (5)
31Debug.Assert(HasErrors OrElse Left.Type.IsSameTypeIgnoringAll(Right.Type) OrElse 43Dim leftType = TryCast(Left.Type.GetNullableUnderlyingTypeOrSelf(), NamedTypeSymbol) 57Right.Type.GetNullableUnderlyingTypeOrSelf(), 58Type.GetNullableUnderlyingTypeOrSelf())
BoundTree\BoundCall.vb (5)
60type:=Type) 87AssertArgument(isOperator, argument.IsLateBound, isLifted, argument.Type, parameter.Type) 99Type.IsNullableType() AndAlso 100Type.GetNullableUnderlyingType().IsSameTypeIgnoringAll(Method.ReturnType)) 102Debug.Assert(Type.IsSameTypeIgnoringAll(Method.ReturnType))
BoundTree\BoundConversion.vb (3)
68Debug.Assert(udc.UnderlyingExpression.Type.IsSameTypeIgnoringAll(Type)) 72Debug.Assert(udc.Type.IsNullableType() AndAlso Not underlyingCall.Method.Parameters(0).Type.IsNullableType())
BoundTree\BoundExpression.vb (1)
70ValidateConstantValue(Me.Type, Me.ConstantValueOpt)
BoundTree\BoundExpressionExtensions.vb (13)
47If node.Type.IsTypeParameter() OrElse Not node.Type.IsValueType Then 74Return node.Type IsNot Nothing 157Return node.Type 347Return node.Update(memberAccess, memberAccess.Type) 371Debug.Assert(node.Value.IsBad OrElse node.Type.IsValidForConstantValue(node.Value)) 373If node.Value.Discriminator = ConstantValueTypeDiscriminator.Int32 AndAlso node.Type.SpecialType = SpecialType.System_Int32 Then 426Dim type As SpecialType = expression.Type.SpecialType 454Dim type = node.Type 474Debug.Assert(node.Type Is Nothing) 475Return node.Type Is Nothing 641Debug.Assert(If(node.Type Is Nothing, 646Not node.Type.IsVoidType()))
BoundTree\BoundFieldAccess.vb (2)
30Return Update(_ReceiverOpt, _FieldSymbol, False, Me.SuppressVirtualCalls, Me.ConstantsInProgressOpt, Type) 57ValidateConstantValue(Me.Type, result)
BoundTree\BoundInterpolatedStringExpression.vb (1)
40Debug.Assert(Type.SpecialType = SpecialType.System_String)
BoundTree\BoundLateInvocation.vb (2)
28Return Me.Update(member, Me.ArgumentsOpt, Me.ArgumentNamesOpt, newAccessKind, Me.MethodOrPropertyGroupOpt, Me.Type) 39Debug.Assert(Type.IsObjectType())
BoundTree\BoundLateMemberAccess.vb (2)
30Return Me.Update(Me.NameOpt, Me.ContainerTypeOpt, Me.ReceiverOpt, Me.TypeArgumentsOpt, newAccessKind, Me.Type) 36Debug.Assert(Type.IsObjectType())
BoundTree\BoundLocal.vb (3)
33Return Update(_LocalSymbol, False, Type) 41If HasErrors OrElse Type.IsErrorType Then 49ValidateConstantValue(Me.Type, result)
BoundTree\BoundLocalDeclaration.vb (3)
39If InitializerOpt.Type Is Nothing Then 42Debug.Assert(LocalSymbol.Type.IsSameTypeIgnoringAll(InitializerOpt.Type) OrElse InitializerOpt.Type.IsErrorType() OrElse
BoundTree\BoundLValuePlaceholderBase.vb (1)
21Return New BoundLValueToRValueWrapper(Me.Syntax, Me, Me.Type).MakeCompilerGenerated() ' This is a compiler generated node
BoundTree\BoundLValueToRValueWrapper.vb (2)
16Debug.Assert(UnderlyingLValue.Type.IsSameTypeIgnoringAll(Type))
BoundTree\BoundMethodGroup.vb (2)
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 (2)
13Debug.Assert(Not Type.IsTypeParameter()) 20Return Update(_LocalSymbol, isLValue:=False, emitExpressions:=_EmitExpressions, type:=Type)
BoundTree\BoundQuerySource.vb (1)
14Me.New(source.Syntax, source, source.Type)
BoundTree\BoundReferenceAssignment.vb (3)
14Debug.Assert(ByRefLocal.LocalSymbol.IsByRef AndAlso LValue.IsLValue AndAlso TypeSymbol.Equals(Type, LValue.Type, TypeCompareKind.ConsiderEverything)) 24Return Update(ByRefLocal, LValue, False, Type)
BoundTree\BoundSequence.vb (6)
16Debug.Assert(Me.ValueOpt IsNot Nothing OrElse Me.HasErrors OrElse Me.Type.SpecialType = SpecialType.System_Void) 28Return Update(_Locals, _SideEffects, Me.ValueOpt.MakeRValue(), Type) 37Debug.Assert(Type.IsVoidType()) 39Debug.Assert(Type.IsSameTypeIgnoringAll(ValueOpt.Type)) 47Debug.Assert(val.IsValue AndAlso Not val.IsLValue AndAlso val.Type IsNot Nothing)
BoundTree\BoundSequencePointExpression.vb (3)
16Debug.Assert(Type Is _Expression.Type) 33Return Update(Expression.MakeRValue(), Type)
BoundTree\BoundSpillSequence.vb (1)
22Return Update(Locals, SpillFields, Statements, ValueOpt.MakeRValue(), Type)
BoundTree\BoundTernaryConditionalExpression.vb (7)
19If (Not Type.IsVoidType) Then 23Debug.Assert(Condition.IsNothingLiteral() OrElse Condition.Type.IsBooleanType() OrElse Not Condition.Type.IsValueType) 24Debug.Assert(WhenTrue.Type.IsSameTypeIgnoringAll(WhenFalse.Type)) 25Debug.Assert(Type.IsSameTypeIgnoringAll(WhenTrue.Type))
BoundTree\BoundToQueryableCollectionConversion.vb (1)
13Me.New([call].Syntax, [call], [call].Type)
BoundTree\BoundTreeRewriter.vb (1)
136Dim type As TypeSymbol = Me.VisitType(binary.Type)
BoundTree\BoundTypeExpression.vb (1)
19Return If(DirectCast(Me.AliasOpt, Symbol), Me.Type)
BoundTree\BoundUnaryOperator.vb (4)
28Debug.Assert(HasErrors OrElse Type.IsSameTypeIgnoringAll(Operand.Type)) 36Dim operandType = TryCast(Operand.Type.GetNullableUnderlyingTypeOrSelf(), NamedTypeSymbol) 46Type.GetNullableUnderlyingTypeOrSelf())
BoundTree\BoundUnstructuredExceptionHandlingCatchFilter.vb (1)
15Debug.Assert(Me.Type.IsBooleanType())
BoundTree\BoundUserDefinedBinaryOperator.vb (9)
33Debug.Assert(Type.Equals(UnderlyingExpression.Type)) 49Debug.Assert(argument.Type.IsNullableType() AndAlso 50argument.Type.GetNullableUnderlyingType().IsSameTypeIgnoringAll(parameter.Type)) 53Debug.Assert(underlyingCall.Type.IsNullableType()) 54Debug.Assert(underlyingCall.Type.IsSameTypeIgnoringAll(underlyingCall.Method.ReturnType) OrElse 56underlyingCall.Type.GetNullableUnderlyingType().IsSameTypeIgnoringAll(underlyingCall.Method.ReturnType))) 62Debug.Assert(argument.Type.IsSameTypeIgnoringAll(parameter.Type)) 65Debug.Assert(underlyingCall.Type.IsSameTypeIgnoringAll(underlyingCall.Method.ReturnType))
BoundTree\BoundUserDefinedConversion.vb (2)
74Debug.Assert(operand.Type.IsSameTypeIgnoringAll(Type))
BoundTree\BoundUserDefinedShortCircuitingOperator.vb (1)
15Debug.Assert(LeftTest Is Nothing OrElse LeftTest.Type.IsBooleanType())
BoundTree\BoundUserDefinedUnaryOperator.vb (9)
27Debug.Assert(TypeSymbol.Equals(Type, UnderlyingExpression.Type, TypeCompareKind.ConsiderEverything)) 41argument.Type.IsNullableType() AndAlso 42argument.Type.GetNullableUnderlyingType().IsSameTypeIgnoringAll(parameter.Type)) 44Debug.Assert(underlyingCall.Type.IsNullableType()) 45Debug.Assert(underlyingCall.Type.IsSameTypeIgnoringAll(underlyingCall.Method.ReturnType) OrElse 47underlyingCall.Type.GetNullableUnderlyingType().IsSameTypeIgnoringAll(underlyingCall.Method.ReturnType))) 49Debug.Assert(argument.Type.IsSameTypeIgnoringAll(parameter.Type)) 50Debug.Assert(underlyingCall.Type.IsSameTypeIgnoringAll(underlyingCall.Method.ReturnType))
BoundTree\BoundValueTypeMeReference.vb (2)
15Debug.Assert(Me.Type.IsValueType) 16Debug.Assert(Not Me.Type.IsTypeParameter)
BoundTree\BoundXmlAttribute.vb (2)
14Debug.Assert(TypeSymbol.Equals(Type, ObjectCreation.Type, TypeCompareKind.ConsiderEverything))
CodeGen\EmitAddress.vb (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 (104)
42EmitConstantExpression(expression.Type, constantValue, used, expression.Syntax) 215Debug.Assert(Not expression.Type.IsValueType) 217If used AndAlso Not expression.Type.IsReferenceType Then 218EmitLoadIndirect(expression.Type, expression.Syntax) 225Debug.Assert(Not expression.Type.IsReferenceType) 226Debug.Assert(Not expression.Type.IsValueType) 228Dim receiverType = expression.Type 251If conditional.ReceiverOrCondition.Type.IsBooleanType() Then 279Debug.Assert(Not conditional.ReceiverOrCondition.Type.IsValueType) 291Dim receiverType As TypeSymbol = receiver.Type 403Debug.Assert(Not expression.Type.IsReferenceType) 404Debug.Assert(Not expression.Type.IsValueType) 406Dim receiverType = expression.Type 428EmitDelegateCreation(expression.ReceiverOpt, invoke, expression.Type, used, expression.Syntax) 445EmitLoadIndirect(local.Type, local.Syntax) 463If Not IsVerifierReference(receiver.Type) Then 464EmitBox(receiver.Type, receiver.Syntax) 497Dim thisType = thisRef.Type 503EmitSymbolToken(thisRef.Type, thisRef.Syntax) 523Debug.Assert(sequence.ValueOpt IsNot Nothing OrElse sequence.Type.SpecialType = SpecialType.System_Void) 570If DirectCast(arrayAccess.Expression.Type, ArrayTypeSymbol).IsSZArray Then 571Dim elementType = arrayAccess.Type 631_builder.EmitArrayElementLoad(_module.Translate(DirectCast(arrayAccess.Expression.Type, ArrayTypeSymbol)), arrayAccess.Expression.Syntax, _diagnostics) 642If Not used AndAlso Not field.IsShared AndAlso fieldAccess.ReceiverOpt.Type.IsVerifierValue() Then 671EmitLoadIndirect(dupExpression.Type, dupExpression.Syntax) 696Debug.Assert(temp Is Nothing OrElse receiver.Type.IsEnumType, "temp is unexpected, just reading a field") 722If receiver Is Nothing OrElse receiver.Type.IsReferenceType Then 728EmitSymbolToken(receiver.Type, receiver.Syntax) 751If Not receiver.Type.IsVerifierValue() Then 788If expr.Type.IsEnumType Then 793Return expr.Type.IsTypeParameter() 876If receiver.Type.IsTypeParameter() Then 880Debug.Assert(IsVerifierReference(receiver.Type), "this is not a reference") 902If Not IsVerifierReference(convOperand.Type) Then 991Dim receiverType = receiver.Type 1072Debug.Assert(receiver.Type.IsVerifierReference()) 1077Debug.Assert(receiver.Type.IsVerifierReference()) 1092EmitSymbolToken(receiver.Type, receiver.Syntax) 1178Dim receiverType = receiver.Type 1242Dim receiverType = receiver.Type 1313Debug.Assert(operand.Type.IsReferenceType AndAlso Not operand.Type.IsTypeParameter(), "operand.Type.IsReferenceType") 1319Dim typeFrom = operand.Type 1362(IsSimpleType(expr.Type.PrimitiveTypeCode) OrElse expr.Type.PrimitiveTypeCode = Cci.PrimitiveTypeCode.Char) AndAlso 1368Dim toType = expr.Type.PrimitiveTypeCode 1403If (IsVarianceCast(expr.Type, mergeTypeOfAlternative)) Then 1404EmitStaticCast(expr.Type, expr.Syntax) 1405mergeTypeOfAlternative = expr.Type 1420If (IsVarianceCast(expr.Type, mergeTypeOfConsequence)) Then 1421EmitStaticCast(expr.Type, expr.Syntax) 1422mergeTypeOfConsequence = expr.Type 1424ElseIf (expr.Type.IsInterfaceType() AndAlso Not TypeSymbol.Equals(expr.Type, mergeTypeOfAlternative, TypeCompareKind.ConsiderEverything) AndAlso Not TypeSymbol.Equals(expr.Type, mergeTypeOfConsequence, TypeCompareKind.ConsiderEverything)) Then 1425EmitStaticCast(expr.Type, expr.Syntax) 1446Debug.Assert(TypeSymbol.Equals(expr.Type, expr.ElseExpression.Type, TypeCompareKind.ConsiderEverything)) 1447Debug.Assert(Not expr.Type.IsValueType) 1454If (IsVarianceCast(expr.Type, mergeTypeOfLeftValue)) Then 1455EmitStaticCast(expr.Type, expr.Syntax) 1456mergeTypeOfLeftValue = expr.Type 1462If (expr.Type.IsTypeParameter()) Then 1463EmitBox(expr.Type, expr.TestExpression.Syntax) 1476If (IsVarianceCast(expr.Type, mergeTypeOfRightValue)) Then 1477EmitStaticCast(expr.Type, expr.Syntax) 1478mergeTypeOfRightValue = expr.Type 1479ElseIf (expr.Type.IsInterfaceType() AndAlso Not TypeSymbol.Equals(expr.Type, mergeTypeOfLeftValue, TypeCompareKind.ConsiderEverything) AndAlso Not TypeSymbol.Equals(expr.Type, mergeTypeOfRightValue, TypeCompareKind.ConsiderEverything)) Then 1480EmitStaticCast(expr.Type, expr.Syntax) 1504If (Not (expr.Type.IsArrayType OrElse expr.Type.IsInterfaceType OrElse expr.Type.IsDelegateType)) Then 1505Return expr.Type 1554Return expr.Type 1604Dim arrayType = DirectCast(expression.Type, ArrayTypeSymbol) 1623Debug.Assert(expression.Type.SpecialType = SpecialType.System_Int32 OrElse expression.Type.SpecialType = SpecialType.System_Int64 OrElse expression.Type.SpecialType = SpecialType.System_UIntPtr) 1628Dim typeTo = expression.Type.PrimitiveTypeCode 1645EmitInitObj(expression.Type, used, expression.Syntax) 1697EmitInitObj(target.Type, True, target.Syntax) 1706EmitSymbolToken(target.Type, target.Syntax) 1802Dim rightType = right.Type 1833Return AllowedToTakeRef(left, AddressKind.Writeable) AndAlso Not (left.Kind = BoundKind.ArrayAccess AndAlso left.Type.TypeKind = TypeKind.TypeParameter) 1841Me.EmitSymbolToken(target.Type, target.Syntax) 1979temp = Me.AllocateTemp(assignmentOperator.Left.Type, assignmentOperator.Left.Syntax) 2015EmitLoadIndirect(capture.Type, capture.Syntax) 2038EmitStoreIndirect(expression.Type, expression.Syntax) 2042Dim arrayType = DirectCast(array.Type, ArrayTypeSymbol) 2065EmitStoreIndirect(expression.Type, expression.Syntax) 2079Debug.Assert(thisRef.Type.IsValueType) 2082EmitSymbolToken(thisRef.Type, thisRef.Syntax) 2224Dim type As TypeSymbol = boundTypeOfOperator.SourceType.Type 2254If Not TypeSymbol.Equals(node.Type, getField.ReturnType, TypeCompareKind.ConsiderEverything) Then 2256EmitSymbolToken(node.Type, node.Syntax) 2285If Not TypeSymbol.Equals(node.Type, node.GetMethodFromHandle.ReturnType, TypeCompareKind.ConsiderEverything) Then 2287EmitSymbolToken(node.Type, node.Syntax) 2305Debug.Assert(node.Type.SpecialType = SpecialType.System_Int32) 2321Debug.Assert(node.Type.SpecialType = SpecialType.System_Int32) 2337_builder.EmitToken(_module.GetModuleVersionId(_module.Translate(node.Type, node.Syntax, _diagnostics), node.Syntax, _diagnostics), node.Syntax, _diagnostics) 2356_builder.EmitToken(_module.GetInstrumentationPayloadRoot(node.AnalysisKind, _module.Translate(node.Type, node.Syntax, _diagnostics), node.Syntax, _diagnostics), node.Syntax, _diagnostics) 2360Debug.Assert(node.Type.SpecialType = SpecialType.System_Int32)
CodeGen\EmitOperators.vb (24)
27Dim targetPrimitiveType = expression.Type.PrimitiveTypeCode 55If expression.Type.IsBooleanType() Then 67Dim targetPrimitiveType = expression.Type.PrimitiveTypeCode 89expression.Type.IsIntegralType() Then 249Return expression.Checked AndAlso expression.Type.IsIntegralType() 265Dim targetPrimitiveType = expression.Type.PrimitiveTypeCode 325Debug.Assert(expression.Right.Type.PrimitiveTypeCode = Cci.PrimitiveTypeCode.Int32) 327Dim shiftMax = GetShiftSizeMask(expression.Left.Type) 339Debug.Assert(expression.Right.Type.PrimitiveTypeCode = Cci.PrimitiveTypeCode.Int32) 342Dim shiftMax = GetShiftSizeMask(expression.Left.Type) 433Dim operandType = binOp.Left.Type 459Debug.Assert(binOp.Left.Type.SpecialType = SpecialType.System_Boolean) 460Debug.Assert(binOp.Right.Type.SpecialType = SpecialType.System_Boolean) 515Debug.Assert(binOp.Left.Type.SpecialType = SpecialType.System_Boolean) 516Debug.Assert(binOp.Right.Type.SpecialType = SpecialType.System_Boolean) 522Debug.Assert(binOp.Left.Type.SpecialType = SpecialType.System_Boolean) 523Debug.Assert(binOp.Right.Type.SpecialType = SpecialType.System_Boolean) 529Debug.Assert(binOp.Left.Type.SpecialType = SpecialType.System_Boolean) 530Debug.Assert(binOp.Right.Type.SpecialType = SpecialType.System_Boolean) 577Dim comparandType = comparand.Type 589Dim comparandType = comparand.Type 613Debug.Assert(condition.Type.SpecialType = SpecialType.System_Boolean) 643Debug.Assert(condition.Type.SpecialType = SpecialType.System_Boolean) 689Debug.Assert(unOp.OperatorKind = UnaryOperatorKind.Not AndAlso unOp.Type.IsBooleanType())
CodeGen\EmitStatement.vb (16)
199exceptionType = Me._module.Translate(exceptionSource.Type, exceptionSource.Syntax, _diagnostics) 309If exceptionSource.Type.IsTypeParameter Then 311EmitSymbolToken(exceptionSource.Type, exceptionSource.Syntax) 338Dim temp = AllocateTemp(exceptionSource.Type, exceptionSource.Syntax) 358Dim temp = AllocateTemp(exceptionSource.Type, exceptionSource.Syntax) 367Debug.Assert(receiver.Type.TypeKind <> TypeKind.TypeParameter) 518Dim nonConstType = nonConstOp.Type 565Dim operandType = expression.Left.Type 759Debug.Assert(unOp.Type.IsBooleanType()) 801Dim conditionType = condition.Type 815Debug.Assert(binOp.Left.IsNothingLiteral() OrElse binOp.Left.Type.SpecialType = SpecialType.System_Object OrElse binOp.WasCompilerGenerated) 816Debug.Assert(binOp.Right.IsNothingLiteral() OrElse binOp.Right.Type.SpecialType = SpecialType.System_Object OrElse binOp.WasCompilerGenerated) 910Dim operandType = operand.Type 930Debug.Assert(selectExpression.Type IsNot Nothing) 1042Debug.Assert(selectExpression.Type IsNot Nothing) 1050Dim exprType = selectExpression.Type
CodeGen\Optimizer\StackScheduler.Analyzer.vb (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)
800If Not resultNode.HasErrors AndAlso resultNode.Type Is Nothing Then 948type = lowestExpr.Type 972If highestExpr.Type IsNot Nothing AndAlso highestExpr.Type.TypeKind <> TypeKind.Error Then 973convertedType = highestExpr.Type 1000type = DirectCast(boundNodes.LowestBoundNodeOfSyntacticParent, BoundBadExpression).Type 1052Dim typeSymbol As TypeSymbol = boundType.Type 1072Dim namedType = DirectCast(attribute.Type, NamedTypeSymbol) 1124Dim meParam As ParameterSymbol = GetMeParameter(meReference.Type, containingType, containingMember, resultKind) 1445Debug.Assert(resultKind <> LookupResultKind.Good OrElse TypeSymbol.Equals(namedTypeSymbol, boundAttribute.Type, TypeCompareKind.ConsiderEverything))
Generated\BoundNodes.xml.Generated.vb (344)
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 880If sourceType IsNot Me.SourceType OrElse getTypeFromHandle IsNot Me.GetTypeFromHandle OrElse type IsNot Me.Type Then 924If field IsNot Me.Field OrElse type IsNot Me.Type Then 979If method IsNot Me.Method OrElse getMethodFromHandle IsNot Me.GetMethodFromHandle OrElse type IsNot Me.Type Then 1021If unevaluatedReceiverOpt IsNot Me.UnevaluatedReceiverOpt OrElse aliasOpt IsNot Me.AliasOpt OrElse type IsNot Me.Type Then 1063If data <> Me.Data OrElse type IsNot Me.Type Then 1162If method IsNot Me.Method OrElse type IsNot Me.Type Then 1195If type IsNot Me.Type Then 1246If analysisKind <> Me.AnalysisKind OrElse isLValue <> Me.IsLValue OrElse type IsNot Me.Type Then 1288If isLValue <> Me.IsLValue OrElse type IsNot Me.Type Then 1321If type IsNot Me.Type Then 1365If document IsNot Me.Document OrElse type IsNot Me.Type Then 1429If operatorKind <> Me.OperatorKind OrElse operand IsNot Me.Operand OrElse checked <> Me.Checked OrElse constantValueOpt IsNot Me.ConstantValueOpt OrElse type IsNot Me.Type Then 1477If operatorKind <> Me.OperatorKind OrElse underlyingExpression IsNot Me.UnderlyingExpression OrElse type IsNot Me.Type Then 1517If operand IsNot Me.Operand OrElse type IsNot Me.Type Then 1590If 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 1646If operatorKind <> Me.OperatorKind OrElse underlyingExpression IsNot Me.UnderlyingExpression OrElse checked <> Me.Checked OrElse type IsNot Me.Type Then 1710If 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 1743If type IsNot Me.Type Then 1808If left IsNot Me.Left OrElse leftOnTheRightOpt IsNot Me.LeftOnTheRightOpt OrElse right IsNot Me.Right OrElse suppressObjectClone <> Me.SuppressObjectClone OrElse type IsNot Me.Type Then 1864If byRefLocal IsNot Me.ByRefLocal OrElse lValue IsNot Me.LValue OrElse isLValue <> Me.IsLValue OrElse type IsNot Me.Type Then 1981If 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 2054If 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 2153If 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 2304If underlyingExpression IsNot Me.UnderlyingExpression OrElse inOutConversionFlags <> Me.InOutConversionFlags OrElse type IsNot Me.Type Then 2376If 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 2440If operand IsNot Me.Operand OrElse conversionKind <> Me.ConversionKind OrElse constantValueOpt IsNot Me.ConstantValueOpt OrElse relaxationLambdaOpt IsNot Me.RelaxationLambdaOpt OrElse type IsNot Me.Type Then 2492If operand IsNot Me.Operand OrElse isTypeOfIsNotExpression <> Me.IsTypeOfIsNotExpression OrElse targetType IsNot Me.TargetType OrElse type IsNot Me.Type Then 2570If expression IsNot Me.Expression OrElse type IsNot Me.Type Then 3121If 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 3189If 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 3260If 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 3332If 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 3375If binder IsNot Me.Binder OrElse memberAccess IsNot Me.MemberAccess OrElse type IsNot Me.Type Then 3445If inferredType IsNot Me.InferredType OrElse argumentNamesOpt <> Me.ArgumentNamesOpt OrElse inferredNamesOpt <> Me.InferredNamesOpt OrElse arguments <> Me.Arguments OrElse type IsNot Me.Type Then 3480If naturalTypeOpt IsNot Me.NaturalTypeOpt OrElse arguments <> Me.Arguments OrElse type IsNot Me.Type Then 3569If 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 3603If guidString IsNot Me.GuidString OrElse initializerOpt IsNot Me.InitializerOpt OrElse type IsNot Me.Type Then 3654If binderOpt IsNot Me.BinderOpt OrElse declarations <> Me.Declarations OrElse arguments <> Me.Arguments OrElse type IsNot Me.Type Then 3705If binder IsNot Me.Binder OrElse propertyIndex <> Me.PropertyIndex OrElse type IsNot Me.Type Then 3748If binder IsNot Me.Binder OrElse value IsNot Me.Value OrElse type IsNot Me.Type Then 3815If createTemporaryLocalForInitialization <> Me.CreateTemporaryLocalForInitialization OrElse placeholderOpt IsNot Me.PlaceholderOpt OrElse initializers <> Me.Initializers OrElse type IsNot Me.Type Then 3846If placeholderOpt IsNot Me.PlaceholderOpt OrElse initializers <> Me.Initializers OrElse type IsNot Me.Type Then 3877If initializerOpt IsNot Me.InitializerOpt OrElse type IsNot Me.Type Then 3944If 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 4016If 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 4127If initializers <> Me.Initializers OrElse type IsNot Me.Type Then 4199If 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 4296If 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 4339If receiverOpt IsNot Me.ReceiverOpt OrElse eventSymbol IsNot Me.EventSymbol OrElse type IsNot Me.Type Then 4869If locals <> Me.Locals OrElse sideEffects <> Me.SideEffects OrElse valueOpt IsNot Me.ValueOpt OrElse type IsNot Me.Type Then 5937If value IsNot Me.Value OrElse type IsNot Me.Type Then 5970If type IsNot Me.Type Then 6010If type IsNot Me.Type Then 6043If type IsNot Me.Type Then 6076If type IsNot Me.Type Then 6120If sourceType IsNot Me.SourceType OrElse type IsNot Me.Type Then 6153If type IsNot Me.Type Then 6213If localSymbol IsNot Me.LocalSymbol OrElse isLValue <> Me.IsLValue OrElse type IsNot Me.Type Then 6284If localSymbol IsNot Me.LocalSymbol OrElse isLValue <> Me.IsLValue OrElse emitExpressions IsNot Me.EmitExpressions OrElse type IsNot Me.Type Then 6346If parameterSymbol IsNot Me.ParameterSymbol OrElse isLValue <> Me.IsLValue OrElse suppressVirtualCalls <> Me.SuppressVirtualCalls OrElse type IsNot Me.Type Then 6388If isOut <> Me.IsOut OrElse type IsNot Me.Type Then 6463If 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 6511If originalArgument IsNot Me.OriginalArgument OrElse localSymbol IsNot Me.LocalSymbol OrElse type IsNot Me.Type Then 6595If label IsNot Me.Label OrElse type IsNot Me.Type Then 6978If lastOperator IsNot Me.LastOperator OrElse type IsNot Me.Type Then 7032If expression IsNot Me.Expression OrElse type IsNot Me.Type Then 7067If conversionCall IsNot Me.ConversionCall OrElse type IsNot Me.Type Then 7170If 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 7208If underlyingExpression IsNot Me.UnderlyingExpression OrElse rangeVariables <> Me.RangeVariables OrElse compoundVariableType IsNot Me.CompoundVariableType OrElse binders <> Me.Binders OrElse type IsNot Me.Type Then 7243If underlyingExpression IsNot Me.UnderlyingExpression OrElse type IsNot Me.Type Then 7347If rangeVariable IsNot Me.RangeVariable OrElse value IsNot Me.Value OrElse type IsNot Me.Type Then 7465If 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 7500If group IsNot Me.Group OrElse type IsNot Me.Type Then 7544If rangeVariable IsNot Me.RangeVariable OrElse type IsNot Me.Type Then 7834If xmlNamespace IsNot Me.XmlNamespace OrElse localName IsNot Me.LocalName OrElse objectCreation IsNot Me.ObjectCreation OrElse type IsNot Me.Type Then 7878If xmlNamespace IsNot Me.XmlNamespace OrElse objectCreation IsNot Me.ObjectCreation OrElse type IsNot Me.Type Then 7931If declaration IsNot Me.Declaration OrElse childNodes <> Me.ChildNodes OrElse rewriterInfo IsNot Me.RewriterInfo OrElse type IsNot Me.Type Then 7990If 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 8043If target IsNot Me.Target OrElse data IsNot Me.Data OrElse objectCreation IsNot Me.ObjectCreation OrElse type IsNot Me.Type Then 8087If value IsNot Me.Value OrElse objectCreation IsNot Me.ObjectCreation OrElse type IsNot Me.Type Then 8153If name IsNot Me.Name OrElse value IsNot Me.Value OrElse matchesImport <> Me.MatchesImport OrElse objectCreation IsNot Me.ObjectCreation OrElse type IsNot Me.Type Then 8206If argument IsNot Me.Argument OrElse childNodes <> Me.ChildNodes OrElse rewriterInfo IsNot Me.RewriterInfo OrElse type IsNot Me.Type Then 8241If memberAccess IsNot Me.MemberAccess OrElse type IsNot Me.Type Then 8276If expression IsNot Me.Expression OrElse type IsNot Me.Type Then 8320If value IsNot Me.Value OrElse objectCreation IsNot Me.ObjectCreation OrElse type IsNot Me.Type Then 8544If activeHandlerLocal IsNot Me.ActiveHandlerLocal OrElse resumeTargetLocal IsNot Me.ResumeTargetLocal OrElse type IsNot Me.Type Then 8743If 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 8808If locals <> Me.Locals OrElse spillFields <> Me.SpillFields OrElse statements <> Me.Statements OrElse valueOpt IsNot Me.ValueOpt OrElse type IsNot Me.Type Then 8910If 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 8962If receiver IsNot Me.Receiver OrElse placeholder IsNot Me.Placeholder OrElse accessExpression IsNot Me.AccessExpression OrElse type IsNot Me.Type Then 9020If placeholderId <> Me.PlaceholderId OrElse capture <> Me.Capture OrElse type IsNot Me.Type Then 9093If 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 9142If valueTypeReceiver IsNot Me.ValueTypeReceiver OrElse referenceTypeReceiver IsNot Me.ReferenceTypeReceiver OrElse type IsNot Me.Type Then 9190If argument IsNot Me.Argument OrElse constantValueOpt IsNot Me.ConstantValueOpt OrElse type IsNot Me.Type Then 9230If expression IsNot Me.Expression OrElse type IsNot Me.Type Then 9278If contents <> Me.Contents OrElse constructionOpt IsNot Me.ConstructionOpt OrElse type IsNot Me.Type Then 12056Dim type as TypeSymbol = Me.VisitType(node.Type) 12061Dim type as TypeSymbol = Me.VisitType(node.Type) 12067Dim type as TypeSymbol = Me.VisitType(node.Type) 12072Dim type as TypeSymbol = Me.VisitType(node.Type) 12077Dim type as TypeSymbol = Me.VisitType(node.Type) 12082Dim type as TypeSymbol = Me.VisitType(node.Type) 12087Dim type as TypeSymbol = Me.VisitType(node.Type) 12092Dim type as TypeSymbol = Me.VisitType(node.Type) 12098Dim type as TypeSymbol = Me.VisitType(node.Type) 12109Dim type as TypeSymbol = Me.VisitType(node.Type) 12115Dim type as TypeSymbol = Me.VisitType(node.Type) 12122Dim type as TypeSymbol = Me.VisitType(node.Type) 12128Dim type as TypeSymbol = Me.VisitType(node.Type) 12134Dim type as TypeSymbol = Me.VisitType(node.Type) 12139Dim type as TypeSymbol = Me.VisitType(node.Type) 12144Dim type as TypeSymbol = Me.VisitType(node.Type) 12150Dim type as TypeSymbol = Me.VisitType(node.Type) 12155Dim type as TypeSymbol = Me.VisitType(node.Type) 12161Dim type as TypeSymbol = Me.VisitType(node.Type) 12166Dim type as TypeSymbol = Me.VisitType(node.Type) 12171Dim type as TypeSymbol = Me.VisitType(node.Type) 12176Dim type as TypeSymbol = Me.VisitType(node.Type) 12181Dim type as TypeSymbol = Me.VisitType(node.Type) 12186Dim type as TypeSymbol = Me.VisitType(node.Type) 12191Dim type as TypeSymbol = Me.VisitType(node.Type) 12197Dim type as TypeSymbol = Me.VisitType(node.Type) 12203Dim type as TypeSymbol = Me.VisitType(node.Type) 12209Dim type as TypeSymbol = Me.VisitType(node.Type) 12216Dim type as TypeSymbol = Me.VisitType(node.Type) 12222Dim type as TypeSymbol = Me.VisitType(node.Type) 12231Dim type as TypeSymbol = Me.VisitType(node.Type) 12236Dim type as TypeSymbol = Me.VisitType(node.Type) 12244Dim type as TypeSymbol = Me.VisitType(node.Type) 12251Dim type as TypeSymbol = Me.VisitType(node.Type) 12257Dim type as TypeSymbol = Me.VisitType(node.Type) 12265Dim type as TypeSymbol = Me.VisitType(node.Type) 12274Dim type as TypeSymbol = Me.VisitType(node.Type) 12281Dim type as TypeSymbol = Me.VisitType(node.Type) 12299Dim type as TypeSymbol = Me.VisitType(node.Type) 12306Dim type as TypeSymbol = Me.VisitType(node.Type) 12313Dim type as TypeSymbol = Me.VisitType(node.Type) 12320Dim type as TypeSymbol = Me.VisitType(node.Type) 12331Dim type as TypeSymbol = Me.VisitType(node.Type) 12347Dim type as TypeSymbol = Me.VisitType(node.Type) 12353Dim type as TypeSymbol = Me.VisitType(node.Type) 12392Dim type as TypeSymbol = Me.VisitType(node.Type) 12399Dim type as TypeSymbol = Me.VisitType(node.Type) 12407Dim type as TypeSymbol = Me.VisitType(node.Type) 12415Dim type as TypeSymbol = Me.VisitType(node.Type) 12421Dim type as TypeSymbol = Me.VisitType(node.Type) 12427Dim type as TypeSymbol = Me.VisitType(node.Type) 12434Dim type as TypeSymbol = Me.VisitType(node.Type) 12442Dim type as TypeSymbol = Me.VisitType(node.Type) 12448Dim type as TypeSymbol = Me.VisitType(node.Type) 12455Dim type as TypeSymbol = Me.VisitType(node.Type) 12460Dim type as TypeSymbol = Me.VisitType(node.Type) 12466Dim type as TypeSymbol = Me.VisitType(node.Type) 12473Dim type as TypeSymbol = Me.VisitType(node.Type) 12480Dim type as TypeSymbol = Me.VisitType(node.Type) 12486Dim type as TypeSymbol = Me.VisitType(node.Type) 12495Dim type as TypeSymbol = Me.VisitType(node.Type) 12503Dim type as TypeSymbol = Me.VisitType(node.Type) 12510Dim type as TypeSymbol = Me.VisitType(node.Type) 12516Dim type as TypeSymbol = Me.VisitType(node.Type) 12522Dim type as TypeSymbol = Me.VisitType(node.Type) 12530Dim type as TypeSymbol = Me.VisitType(node.Type) 12536Dim type as TypeSymbol = Me.VisitType(node.Type) 12597Dim type as TypeSymbol = Me.VisitType(node.Type) 12718Dim type as TypeSymbol = Me.VisitType(node.Type) 12723Dim type as TypeSymbol = Me.VisitType(node.Type) 12728Dim type as TypeSymbol = Me.VisitType(node.Type) 12733Dim type as TypeSymbol = Me.VisitType(node.Type) 12738Dim type as TypeSymbol = Me.VisitType(node.Type) 12743Dim type as TypeSymbol = Me.VisitType(node.Type) 12748Dim type as TypeSymbol = Me.VisitType(node.Type) 12753Dim type as TypeSymbol = Me.VisitType(node.Type) 12758Dim type as TypeSymbol = Me.VisitType(node.Type) 12763Dim type as TypeSymbol = Me.VisitType(node.Type) 12768Dim type as TypeSymbol = Me.VisitType(node.Type) 12778Dim type as TypeSymbol = Me.VisitType(node.Type) 12784Dim type as TypeSymbol = Me.VisitType(node.Type) 12793Dim type as TypeSymbol = Me.VisitType(node.Type) 12820Dim type as TypeSymbol = Me.VisitType(node.Type) 12826Dim type as TypeSymbol = Me.VisitType(node.Type) 12832Dim type as TypeSymbol = Me.VisitType(node.Type) 12838Dim type as TypeSymbol = Me.VisitType(node.Type) 12844Dim type as TypeSymbol = Me.VisitType(node.Type) 12851Dim type as TypeSymbol = Me.VisitType(node.Type) 12858Dim type as TypeSymbol = Me.VisitType(node.Type) 12864Dim type as TypeSymbol = Me.VisitType(node.Type) 12870Dim type as TypeSymbol = Me.VisitType(node.Type) 12876Dim type as TypeSymbol = Me.VisitType(node.Type) 12881Dim type as TypeSymbol = Me.VisitType(node.Type) 12890Dim type as TypeSymbol = Me.VisitType(node.Type) 12896Dim type as TypeSymbol = Me.VisitType(node.Type) 12901Dim type as TypeSymbol = Me.VisitType(node.Type) 12939Dim type as TypeSymbol = Me.VisitType(node.Type) 12946Dim type as TypeSymbol = Me.VisitType(node.Type) 12953Dim type as TypeSymbol = Me.VisitType(node.Type) 12962Dim type as TypeSymbol = Me.VisitType(node.Type) 12970Dim type as TypeSymbol = Me.VisitType(node.Type) 12977Dim type as TypeSymbol = Me.VisitType(node.Type) 12985Dim type as TypeSymbol = Me.VisitType(node.Type) 12992Dim type as TypeSymbol = Me.VisitType(node.Type) 12998Dim type as TypeSymbol = Me.VisitType(node.Type) 13004Dim type as TypeSymbol = Me.VisitType(node.Type) 13011Dim type as TypeSymbol = Me.VisitType(node.Type) 13033Dim type as TypeSymbol = Me.VisitType(node.Type) 13058Dim type as TypeSymbol = Me.VisitType(node.Type) 13065Dim type as TypeSymbol = Me.VisitType(node.Type) 13082Dim type as TypeSymbol = Me.VisitType(node.Type) 13090Dim type as TypeSymbol = Me.VisitType(node.Type) 13095Dim type as TypeSymbol = Me.VisitType(node.Type) 13103Dim type as TypeSymbol = Me.VisitType(node.Type) 13110Dim type as TypeSymbol = Me.VisitType(node.Type) 13116Dim type as TypeSymbol = Me.VisitType(node.Type) 13122Dim type as TypeSymbol = Me.VisitType(node.Type) 13129Dim type as TypeSymbol = Me.VisitType(node.Type) 13155New TreeDumperNode("type", node.Type, Nothing) 13161New TreeDumperNode("type", node.Type, Nothing) 13168New TreeDumperNode("type", node.Type, Nothing) 13174New TreeDumperNode("type", node.Type, Nothing) 13180New TreeDumperNode("type", node.Type, Nothing) 13186New TreeDumperNode("type", node.Type, Nothing) 13192New TreeDumperNode("type", node.Type, Nothing) 13199New TreeDumperNode("type", node.Type, Nothing) 13208New TreeDumperNode("type", node.Type, Nothing) 13221New TreeDumperNode("type", node.Type, Nothing) 13229New TreeDumperNode("type", node.Type, Nothing) 13238New TreeDumperNode("type", node.Type, Nothing) 13245New TreeDumperNode("type", node.Type, Nothing) 13253New TreeDumperNode("type", node.Type, Nothing) 13260New TreeDumperNode("type", node.Type, Nothing) 13268New TreeDumperNode("type", node.Type, Nothing) 13276New TreeDumperNode("type", node.Type, Nothing) 13283New TreeDumperNode("type", node.Type, Nothing) 13292New TreeDumperNode("type", node.Type, Nothing) 13299New TreeDumperNode("type", node.Type, Nothing) 13305New TreeDumperNode("type", node.Type, Nothing) 13313New TreeDumperNode("type", node.Type, Nothing) 13320New TreeDumperNode("type", node.Type, Nothing) 13326New TreeDumperNode("type", node.Type, Nothing) 13333New TreeDumperNode("type", node.Type, Nothing) 13343New TreeDumperNode("type", node.Type, Nothing) 13351New TreeDumperNode("type", node.Type, Nothing) 13358New TreeDumperNode("type", node.Type, Nothing) 13369New TreeDumperNode("type", node.Type, Nothing) 13378New TreeDumperNode("type", node.Type, Nothing) 13388New TreeDumperNode("type", node.Type, Nothing) 13394New TreeDumperNode("type", node.Type, Nothing) 13404New TreeDumperNode("type", node.Type, Nothing) 13413New TreeDumperNode("type", node.Type, Nothing) 13422New TreeDumperNode("type", node.Type, Nothing) 13432New TreeDumperNode("type", node.Type, Nothing) 13443New TreeDumperNode("type", node.Type, Nothing) 13455New TreeDumperNode("type", node.Type, Nothing) 13477New TreeDumperNode("type", node.Type, Nothing) 13488New TreeDumperNode("type", node.Type, Nothing) 13498New TreeDumperNode("type", node.Type, Nothing) 13507New TreeDumperNode("type", node.Type, Nothing) 13520New TreeDumperNode("type", node.Type, Nothing) 13545New TreeDumperNode("type", node.Type, Nothing) 13555New TreeDumperNode("type", node.Type, Nothing) 13610New TreeDumperNode("type", node.Type, Nothing) 13621New TreeDumperNode("type", node.Type, Nothing) 13632New TreeDumperNode("type", node.Type, Nothing) 13643New TreeDumperNode("type", node.Type, Nothing) 13651New TreeDumperNode("type", node.Type, Nothing) 13661New TreeDumperNode("type", node.Type, Nothing) 13669New TreeDumperNode("type", node.Type, Nothing) 13680New TreeDumperNode("type", node.Type, Nothing) 13688New TreeDumperNode("type", node.Type, Nothing) 13697New TreeDumperNode("type", node.Type, Nothing) 13705New TreeDumperNode("type", node.Type, Nothing) 13713New TreeDumperNode("type", node.Type, Nothing) 13722New TreeDumperNode("type", node.Type, Nothing) 13730New TreeDumperNode("type", node.Type, Nothing) 13737New TreeDumperNode("type", node.Type, Nothing) 13748New TreeDumperNode("type", node.Type, Nothing) 13759New TreeDumperNode("type", node.Type, Nothing) 13771New TreeDumperNode("type", node.Type, Nothing) 13778New TreeDumperNode("type", node.Type, Nothing) 13789New TreeDumperNode("type", node.Type, Nothing) 13803New TreeDumperNode("type", node.Type, Nothing) 13811New TreeDumperNode("type", node.Type, Nothing) 13894New TreeDumperNode("type", node.Type, Nothing) 14056New TreeDumperNode("type", node.Type, Nothing) 14062New TreeDumperNode("type", node.Type, Nothing) 14068New TreeDumperNode("type", node.Type, Nothing) 14074New TreeDumperNode("type", node.Type, Nothing) 14080New TreeDumperNode("type", node.Type, Nothing) 14087New TreeDumperNode("type", node.Type, Nothing) 14093New TreeDumperNode("type", node.Type, Nothing) 14101New TreeDumperNode("type", node.Type, Nothing) 14110New TreeDumperNode("type", node.Type, Nothing) 14119New TreeDumperNode("type", node.Type, Nothing) 14126New TreeDumperNode("type", node.Type, Nothing) 14137New TreeDumperNode("type", node.Type, Nothing) 14145New TreeDumperNode("type", node.Type, Nothing) 14158New TreeDumperNode("type", node.Type, Nothing) 14198New TreeDumperNode("type", node.Type, Nothing) 14210New TreeDumperNode("type", node.Type, Nothing) 14217New TreeDumperNode("type", node.Type, Nothing) 14224New TreeDumperNode("type", node.Type, Nothing) 14231New TreeDumperNode("type", node.Type, Nothing) 14242New TreeDumperNode("type", node.Type, Nothing) 14252New TreeDumperNode("type", node.Type, Nothing) 14259New TreeDumperNode("type", node.Type, Nothing) 14269New TreeDumperNode("type", node.Type, Nothing) 14277New TreeDumperNode("type", node.Type, Nothing) 14286New TreeDumperNode("type", node.Type, Nothing) 14298New TreeDumperNode("type", node.Type, Nothing) 14305New TreeDumperNode("type", node.Type, Nothing) 14312New TreeDumperNode("type", node.Type, Nothing) 14359New TreeDumperNode("type", node.Type, Nothing) 14367New TreeDumperNode("type", node.Type, Nothing) 14376New TreeDumperNode("type", node.Type, Nothing) 14386New TreeDumperNode("type", node.Type, Nothing) 14395New TreeDumperNode("type", node.Type, Nothing) 14403New TreeDumperNode("type", node.Type, Nothing) 14413New TreeDumperNode("type", node.Type, Nothing) 14422New TreeDumperNode("type", node.Type, Nothing) 14429New TreeDumperNode("type", node.Type, Nothing) 14436New TreeDumperNode("type", node.Type, Nothing) 14444New TreeDumperNode("type", node.Type, Nothing) 14478New TreeDumperNode("type", node.Type, Nothing) 14506New TreeDumperNode("type", node.Type, Nothing) 14516New TreeDumperNode("type", node.Type, Nothing) 14534New TreeDumperNode("type", node.Type, Nothing) 14543New TreeDumperNode("type", node.Type, Nothing) 14551New TreeDumperNode("type", node.Type, Nothing) 14562New TreeDumperNode("type", node.Type, Nothing) 14570New TreeDumperNode("type", node.Type, Nothing) 14578New TreeDumperNode("type", node.Type, Nothing) 14585New TreeDumperNode("type", node.Type, Nothing) 14593New 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 (43)
34Dim rewrittenType As TypeSymbol = VisitType(node.Type) 41Debug.Assert(TypeSymbol.Equals(rewrittenType, spillSeq.Type, TypeCompareKind.ConsiderEverything)) 119Dim receiverType = receiverOpt.Type 186type:=rewritten.Type)) 206rewritten.Type)) 227rewritten.Type)) 246Dim tempLocal As LocalSymbol = Me.F.SynthesizedLocal(rewritten.Type) 269rewritten.Type)) 302rewritten.Type)) 318rewritten.Type)) 324Dim rewrittenType As TypeSymbol = VisitType(node.Type) 397rewritten.Type)) 418rewritten.Type)) 438rewritten.Type)) 460rewritten.Type)) 479rewritten.Type)) 503If Not rewritten.Type.IsVoidType() Then 504Dim tempLocal As LocalSymbol = Me.F.SynthesizedLocal(rewritten.Type) 560Dim type As TypeSymbol = Me.VisitType(node.Type) 620Debug.Assert(receiverOrCondition.Type.IsBooleanType()) 623Debug.Assert(Not receiverOrCondition.Type.IsBooleanType()) 640If Not receiver.Type.IsReferenceType Then 647If node.CaptureReceiver OrElse receiver.Type.IsReferenceType Then 661Dim isValueTypeCheck = Me.F.ReferenceIsNotNothing(Me.F.DirectCast(Me.F.DirectCast(Me.F.Null(), receiver.Type), 675receiver.Type) 679receiverLocal = Me.F.SynthesizedLocal(receiver.Type) 686If nullCheckTarget.Type.IsReferenceType Then 689Debug.Assert(Not nullCheckTarget.Type.IsValueType) 690Debug.Assert(nullCheckTarget.Type.IsTypeParameter()) 700receiver.Type) 718If nullCheckTarget.Type.IsReferenceType Then 721Debug.Assert(Not nullCheckTarget.Type.IsValueType) 722Debug.Assert(nullCheckTarget.Type.IsTypeParameter()) 729nullCheckTarget.Type), 820Dim rewrittenType As TypeSymbol = Me.VisitType(node.Type) 841rewrittenInitializer.Type) 870Dim rewrittenType As TypeSymbol = VisitType(node.Type) 900rewritten.Type)) 915rewritten.Type)) 933rewritten.Type)) 949Dim tempLocal As LocalSymbol = Me.F.SynthesizedLocal(rewritten.Type) 977rewritten.Type)) 993rewritten.Type))
Lowering\AsyncRewriter\AsyncRewriter.AsyncMethodToClassRewriter.Spilling.vb (14)
165newArgs(index) = nestedInitializer.Update(newInitializers, nestedInitializer.Type) 228If isReceiver AndAlso expr.Type.IsReferenceType Then 272array = array.Update(spilledExpression, spilledIndices.AsImmutableOrNull, array.IsLValue, array.Type) 302fieldAccess.Type) 328Return complexReceiver.Update(spilledValueReceiver, spilledReferenceReceiver, complexReceiver.Type) 332Dim isValueTypeCheck = Me.F.ReferenceIsNotNothing(Me.F.DirectCast(Me.F.DirectCast(Me.F.Null(), complexReceiver.Type), 338Return complexReceiver.Update(spilledValueReceiver, referenceReceiverSpillSequence.ValueOpt, complexReceiver.Type) 344Dim isValueTypeCheck = Me.F.ReferenceIsNotNothing(Me.F.DirectCast(Me.F.DirectCast(Me.F.Null(), complexReceiver.Type), 350Return complexReceiver.Update(valueReceiverSpillSequence.ValueOpt, spilledReferenceReceiver, complexReceiver.Type) 355Dim isValueTypeCheck = Me.F.ReferenceIsNotNothing(Me.F.DirectCast(Me.F.DirectCast(Me.F.Null(), complexReceiver.Type), 363Return complexReceiver.Update(valueReceiverSpillSequence.ValueOpt, referenceReceiverSpillSequence.ValueOpt, complexReceiver.Type) 397Return arrayInit.Update(SpillExpressionList(builder, arrayInit.Initializers), arrayInit.Type) 413Dim spillField As FieldSymbol = Me._spillFieldAllocator.AllocateField(expr.Type) 577Return spill.Update(spill.Locals, spill.SpillFields, spill.Statements, newValue, newValue.Type)
Lowering\AsyncRewriter\AsyncRewriter.CapturedSymbolOrExpression.vb (2)
75Dim proxyFieldParented = Me.Field.AsMember(DirectCast(framePointer.Type, NamedTypeSymbol)) 192Dim arrayElementType As TypeSymbol = DirectCast(arrayPointer.Type, ArrayTypeSymbol).ElementType
Lowering\AsyncRewriter\AsyncRewriter.SpillBuilder.vb (1)
99expression.Type)
Lowering\AsyncRewriter\AsyncRewriter.vb (2)
413expression.Type.InternalSubstituteTypeParameters(typeMap).Type) 464expression.Type,
Lowering\Diagnostics\DiagnosticsPass_ExpressionLambdas.vb (2)
23If initializer.Type.IsValueType AndAlso node.ConstructorOpt IsNot Nothing AndAlso node.Arguments.Length > 0 Then 180If Not DirectCast(node.Type, ArrayTypeSymbol).IsSZArray Then
Lowering\ExpressionLambdaRewriter\ExpressionLambdaRewriter.vb (14)
198If result.Type Is _expressionType Then 273node = gt.Update(gt.SourceType.MemberwiseClone(Of BoundTypeExpression)(), gt.GetTypeFromHandle, gt.Type) 460Dim delegateType As NamedTypeSymbol = DirectCast(node.Type, NamedTypeSymbol) 480If Not receiverOpt.Type.IsObjectType Then 532Debug.Assert(arg.Type Is Me.Int32Type) 543Debug.Assert(expressions(i).Type Is Me.Int32Type) 562_factory.[Typeof](node.Type, _factory.WellKnownType(WellKnownType.System_Type))), node.InitializerOpt) 670(node.Arguments.Length = 0 AndAlso Not node.Type.IsStructureType() OrElse 674_factory.[Typeof](node.Type, _factory.WellKnownType(WellKnownType.System_Type))) 680If node.Type.IsAnonymousType AndAlso node.Arguments.Length <> 0 Then 681Dim anonType = DirectCast(node.Type, AnonymousTypeManager.AnonymousTypePublicSymbol) 716Dim resultType As TypeSymbol = node.Type 735Dim arrayType = DirectCast(node.Type, ArrayTypeSymbol) 803Return CreateLiteralExpression(node, node.Type)
Lowering\ExpressionLambdaRewriter\ExpressionLambdaRewriter_BinaryOperator.vb (23)
191Return VisitInternal(AdjustCallForLiftedOperator(opKind, [call], node.Type)) 199Dim resultType As TypeSymbol = node.Type 214Dim operandType As TypeSymbol = originalLeft.Type 225If originalRight.Type.IsNullableType Then 226Debug.Assert(originalLeft.Type Is Nothing OrElse originalLeft.Type.IsObjectType) 227left = CreateLiteralExpression(originalLeft, originalRight.Type) 228operandType = originalRight.Type 232If originalLeft.Type.IsNullableType Then 233Debug.Assert(originalRight.Type Is Nothing OrElse originalRight.Type.IsObjectType) 234right = CreateLiteralExpression(originalRight, originalLeft.Type) 246Debug.Assert(TypeSymbol.Equals(operandType, originalLeft.Type, TypeCompareKind.ConsiderEverything)) 251Debug.Assert(TypeSymbol.Equals(operandType, originalRight.Type, TypeCompareKind.ConsiderEverything)) 334Dim resultType As TypeSymbol = node.Type 345Debug.Assert(TypeSymbol.Equals(resultType, originalLeft.Type, TypeCompareKind.ConsiderEverything)) 349Debug.Assert(TypeSymbol.Equals(resultType, originalRight.Type, TypeCompareKind.ConsiderEverything)) 383Dim resultType As TypeSymbol = node.Type 550Dim operandType As TypeSymbol = operand.Type 553Debug.Assert(conversion.Type.IsNullableType AndAlso conversion.Type.GetNullableUnderlyingType.SpecialType = SpecialType.System_Int32) 723Debug.Assert(oldArg.Type.IsNullableType) 725Debug.Assert(TypeSymbol.Equals(oldArg.Type.GetNullableUnderlyingTypeOrSelf(), parameterType, TypeCompareKind.ConsiderEverything))
Lowering\ExpressionLambdaRewriter\ExpressionLambdaRewriter_ConditionalExpresion.vb (10)
34Dim resultType As TypeSymbol = node.Type 35Dim testExpressionType As TypeSymbol = testExpression.Type 108Dim parameterType As TypeSymbol = parameter.Type 110Dim convKind As ConversionKind = Conversions.ClassifyPredefinedConversion(parameterType, conversion.Operand.Type, useSiteInfo) 188Dim callType As TypeSymbol = [call].Type 193toType.IsSameTypeIgnoringAll(outConv.Type) OrElse 194toType.IsSameTypeIgnoringAll([call].Type)) 196Debug.Assert(TypeSymbol.Equals(toType, conversion.Type, TypeCompareKind.ConsiderEverything)) 199Dim realParameterType As TypeSymbol = parameter.Type 237outConv.ExtendedInfoOpt, outConv.Type)
Lowering\ExpressionLambdaRewriter\ExpressionLambdaRewriter_Conversion.vb (11)
21If Conversions.IsIdentityConversion(node.ConversionKind) AndAlso Not node.Type.IsFloatingType() Then 26Return ConvertExpression(node.Operand, node.ConversionKind, node.Operand.Type, node.Type, node.Checked, node.ExplicitCastInCode, ConversionSemantics.[Default]) 35Return ConvertExpression(node.Operand, node.ConversionKind, node.Operand.Type, node.Type, False, True, ConversionSemantics.DirectCast) 44Return ConvertExpression(node.Operand, node.ConversionKind, node.Operand.Type, node.Type, False, True, ConversionSemantics.TryCast) 366Dim methodCallType As TypeSymbol = methodCall.Type 377If originalArgument.Type.IsNullableType = resultType.IsNullableType Then 393Debug.Assert(outerConversion.Type.IsSameTypeIgnoringAll(resultType)) 414If expr.Type IsNot _expressionType Then
Lowering\ExpressionLambdaRewriter\ExpressionLambdaRewriter_UnaryOperator.vb (9)
23Dim origArgType As TypeSymbol = origArg.Type 27Debug.Assert(TypeSymbol.Equals(origArgType, node.Type, TypeCompareKind.ConsiderEverything)) 117Debug.Assert(node.Type.IsBooleanType()) 118Debug.Assert(node.Operand.Type.IsNullableOfBoolean()) 135Dim udoOperandType As TypeSymbol = userDefinedOperator.Operand.Type 138Dim lambdaBody As BoundExpression = BuildLambdaBodyForCoalesce(userDefinedOperator.OperatorKind, [call], node.Type, paramSymbol) 139Dim coalesceLambda As BoundExpression = BuildLambdaForCoalesceCall(node.Type, paramSymbol, lambdaBody) 169type:=[call].Type), 208Return VisitInternal(AdjustCallForLiftedOperator(opKind, [call], node.Type))
Lowering\Instrumentation\DebugInfoInjector.vb (2)
98Return New BoundSequencePointExpression(original.Syntax, rewritten, rewritten.Type) 288rewrittenFilter.Type)
Lowering\Instrumentation\DebugInfoInjector_SequencePoints.vb (6)
46lazyConditionalBranchLocal = New SynthesizedLocal(currentMethodOrLambda, condition.Type, SynthesizedLocalKind.ConditionalBranchDiscriminator, synthesizedVariableSyntax) 49Debug.Assert(lazyConditionalBranchLocal.Type Is condition.Type) 55New BoundSequencePointExpression(Nothing, MakeLocalRead(conditionSyntax, lazyConditionalBranchLocal), condition.Type), 63condition.Type) 79Debug.Assert(TypeSymbol.Equals(left.Type, right.Type, TypeCompareKind.ConsiderEverything))
Lowering\IteratorRewriter\IteratorRewriter.IteratorMethodToClassRewriter.vb (1)
220Dim proxyFieldParented = proxy.AsMember(DirectCast(framePointer.Type, NamedTypeSymbol))
Lowering\LambdaRewriter\LambdaRewriter.vb (19)
381Debug.Assert(TypeSymbol.Equals(result.Type, frameType, TypeCompareKind.ConsiderEverything)) 407Dim proxyFieldParented = proxyField.AsMember(DirectCast(innerFrame.Type, NamedTypeSymbol)) 417Dim constructedProxyField = proxy.AsMember(DirectCast(frame.Type, NamedTypeSymbol)) 560Dim assignment = New BoundAssignmentOperator(syntaxNode, left, right, True, left.Type) 698Return FramePointer(node.Syntax, TryCast(node.Type, NamedTypeSymbol)) 704New BoundMyClassReference(node.Syntax, node.Type), 711New BoundMyBaseReference(node.Syntax, node.Type), 851rewrittenExceptionSource.Type) 935Dim result As BoundExpression = RewriteLambda(lambda, VisitType(node.Type), (node.ConversionKind And ConversionKind.ConvertedToExpressionTree) <> 0) 937result = node.Update(result, node.ConversionKind, node.ConstantValueOpt, node.RelaxationLambdaOpt, node.Type) 950Dim result As BoundExpression = RewriteLambda(lambda, VisitType(node.Type), (node.ConversionKind And ConversionKind.ConvertedToExpressionTree) <> 0) 952result = node.Update(result, node.ConversionKind, node.SuppressVirtualCalls, node.ConstantValueOpt, node.RelaxationLambdaOpt, node.Type) 965Dim result As BoundExpression = RewriteLambda(lambda, VisitType(conversion.Type), (conversion.ConversionKind And ConversionKind.ConvertedToExpressionTree) <> 0) 973conversion.Type) 1246F.ObjectReferenceEqual(cacheVariableRight, F.Null(cacheVariableRight.Type)), 1249cacheVariableRight.Type) 1442If Not result.CaptureReceiver AndAlso Not node.ReceiverOrCondition.Type.IsBooleanType() AndAlso 1445Return result.Update(result.ReceiverOrCondition, True, result.PlaceholderId, result.WhenNotNull, result.WhenNullOpt, result.Type) 1488type:=node.Type)
Lowering\LocalRewriter\LocalRewriter.vb (22)
74Debug.Assert(value.Type.IsSameTypeIgnoringAll(placeholder.Type)) 324If node.Type Is Nothing Then 325Debug.Assert(result.Type Is Nothing) 327Debug.Assert(result.Type IsNot Nothing) 333Debug.Assert(result.Type.IsVoidType()) 335Debug.Assert(result.Type.IsSameTypeIgnoringAll(node.Type)) 516result.Type) 522result.Type) 706If Not value.Type.IsDecimalType() Then 716Dim local = New SynthesizedLocal(container, value.Type, kind, syntaxOpt) 727type:=localAccess.Type 760Debug.Assert(value.Type IsNot Nothing) 763Dim type = value.Type 883Debug.Assert(node.Type.ExtendedSpecialType = InternalSpecialType.System_Type OrElse 884TypeSymbol.Equals(node.Type, Compilation.GetWellKnownType(WellKnownType.System_Type), TypeCompareKind.AllIgnoreOptionsForVB)) 892If node.Type.ExtendedSpecialType = InternalSpecialType.System_Type Then 899Return New BoundGetType(result.Syntax, result.SourceType, getTypeFromHandle:=Nothing, result.Type, hasErrors:=True) 902Debug.Assert(TypeSymbol.Equals(result.Type, getTypeFromHandle.ReturnType, TypeCompareKind.AllIgnoreOptionsForVB)) 903Return New BoundGetType(result.Syntax, result.SourceType, getTypeFromHandle, result.Type) 913node.Type))
Lowering\LocalRewriter\LocalRewriter_AddRemoveHandler.vb (3)
92Dim receiverType As TypeSymbol = rewrittenReceiverOpt.Type 187Return expression.Type IsNot Nothing AndAlso Not expression.Type.SpecialType.IsClrInteger()
Lowering\LocalRewriter\LocalRewriter_AnonymousTypeCreationExpression.vb (3)
56DirectCast(node.Type, NamedTypeSymbol).InstanceConstructors(0), 59node.Type) 66node.Type)
Lowering\LocalRewriter\LocalRewriter_AssignmentOperator.vb (17)
98node.Type) 102If result.Type.IsVoidType() Then 107result.Type) 113result.Type) 142Return node.Update(VisitAssignmentLeftExpression(node), Nothing, VisitAndGenerateObjectCloneIfNeeded(node.Right, node.SuppressObjectClone), True, node.Type) 231node.Type) 309invocation.Type) 323result.Type) 350If Not result.HasErrors AndAlso result.Type.IsObjectType() AndAlso Not Me.ContainingAssembly.IsVbRuntime Then 465Debug.Assert(midResult.Type.IsStringType()) 476node.Type) 490If(midResult.LengthOpt, New BoundLiteral(node.Syntax, ConstantValue.Create(&H7FFFFFFF), midResult.Start.Type)), 510Dim temp = New SynthesizedLocal(Me._currentMethodOrLambda, node.Type, SynthesizedLocalKind.LoweringTemp) 511Dim localRef = New BoundLocal(node.Syntax, temp, node.Type) 512Dim placeholder = New BoundCompoundAssignmentTargetPlaceholder(node.Syntax, node.Type) 527node.Type), 530node.Type)
Lowering\LocalRewriter\LocalRewriter_BinaryOperators.vb (143)
15Return node.Update(node.OperatorKind, DirectCast(Visit(node.UnderlyingExpression), BoundExpression), node.Checked, node.Type) 45Return node.Update(node.LeftOperand, node.LeftOperandPlaceholder, node.LeftTest, rewritten, node.Type) 51Dim temp As New SynthesizedLocal(_currentMethodOrLambda, node.LeftOperand.Type, SynthesizedLocalKind.LoweringTemp) 130left = TransformRewrittenBinaryOperator(binary.Update(binary.OperatorKind, left, right, binary.Checked, binary.ConstantValueOpt, Me.VisitType(binary.Type))) 184cast.ConversionKind, cast.SuppressVirtualCalls, cast.ConstantValueOpt, cast.RelaxationLambdaOpt, cast.Type) 192cast.Type) 204type:=boundCall.Type) 218type:=propertyAccess.Type) 240node.Type) 242If (node.Left.Type IsNot Nothing AndAlso node.Left.Type.IsNullableType) OrElse 243(node.Right.Type IsNot Nothing AndAlso node.Right.Type.IsNullableType) Then 249If node.Type.IsObjectType() Then 256If node.Left.Type.IsObjectType() Then 263Dim leftType = node.Left.Type 269If node.Type.IsObjectType() OrElse Me._inExpressionLambda AndAlso leftType.IsObjectType() Then 271ElseIf node.Type.IsBooleanType() Then 285Dim leftType = node.Left.Type 288If node.Type.IsObjectType() OrElse Me._inExpressionLambda AndAlso leftType.IsObjectType() Then 290ElseIf node.Type.IsBooleanType() Then 304Dim leftType = node.Left.Type 307If node.Type.IsObjectType() OrElse Me._inExpressionLambda AndAlso leftType.IsObjectType() Then 309ElseIf node.Type.IsBooleanType() Then 323Dim leftType = node.Left.Type 326If node.Type.IsObjectType() OrElse Me._inExpressionLambda AndAlso leftType.IsObjectType() Then 328ElseIf node.Type.IsBooleanType() Then 342Dim leftType = node.Left.Type 345If node.Type.IsObjectType() OrElse Me._inExpressionLambda AndAlso leftType.IsObjectType() Then 347ElseIf node.Type.IsBooleanType() Then 361Dim leftType = node.Left.Type 364If node.Type.IsObjectType() OrElse Me._inExpressionLambda AndAlso leftType.IsObjectType() Then 366ElseIf node.Type.IsBooleanType() Then 380If node.Type.IsObjectType() AndAlso Not _inExpressionLambda Then 382ElseIf node.Type.IsDecimalType() Then 387If node.Type.IsObjectType() AndAlso Not _inExpressionLambda Then 389ElseIf node.Type.IsDecimalType() Then 394If node.Type.IsObjectType() AndAlso Not _inExpressionLambda Then 396ElseIf node.Type.IsDecimalType() Then 401If node.Type.IsObjectType() AndAlso Not _inExpressionLambda Then 403ElseIf node.Type.IsDecimalType() Then 408If node.Type.IsObjectType() AndAlso Not _inExpressionLambda Then 410ElseIf node.Type.IsDecimalType() Then 415If node.Type.IsObjectType() AndAlso Not _inExpressionLambda Then 420If node.Type.IsObjectType() AndAlso Not _inExpressionLambda Then 427If node.Type.IsObjectType() AndAlso Not _inExpressionLambda Then 432If node.Type.IsObjectType() AndAlso Not _inExpressionLambda Then 437If node.Type.IsObjectType() AndAlso Not _inExpressionLambda Then 442If node.Type.IsObjectType() AndAlso Not _inExpressionLambda Then 447If node.Type.IsObjectType() AndAlso Not _inExpressionLambda Then 452If node.Type.IsObjectType() AndAlso Not _inExpressionLambda Then 466Debug.Assert(node.Left.Type.IsDateTimeType()) 467Debug.Assert(node.Right.Type.IsDateTimeType()) 468Debug.Assert(node.Type.IsBooleanType()) 474If left.Type.IsDateTimeType() AndAlso right.Type.IsDateTimeType() Then 493node.Type) 505Debug.Assert(node.Left.Type.IsDecimalType()) 506Debug.Assert(node.Right.Type.IsDecimalType()) 507Debug.Assert(node.Type.IsBooleanType()) 513If left.Type.IsDecimalType() AndAlso right.Type.IsDecimalType() Then 532node.Type) 540Debug.Assert(node.Type.IsObjectType()) 546If rewrittenLeft.Type.IsObjectType() AndAlso rewrittenRight.Type.IsObjectType() Then 563If cast.Operand.Type.IsBooleanType() Then 571If cast.Operand.Type.IsBooleanType() Then 601Debug.Assert(left.Type.IsBooleanType() AndAlso right.Type.IsBooleanType()) 603Dim op = New BoundBinaryOperator(node.Syntax, node.OperatorKind And BinaryOperatorKind.OpMask, left, right, False, left.Type) 606result = New BoundDirectCast(node.Syntax, op, ConversionKind.WideningValue, node.Type, Nothing) 625If node.Type.IsDoubleType() AndAlso left.Type.IsDoubleType() AndAlso right.Type.IsDoubleType() Then 649Debug.Assert(node.Left.Type.IsDecimalType()) 650Debug.Assert(node.Right.Type.IsDecimalType()) 651Debug.Assert(node.Type.IsDecimalType()) 657If left.Type.IsDecimalType() AndAlso right.Type.IsDecimalType() Then 673Debug.Assert(node.Left.Type.IsStringType()) 674Debug.Assert(node.Right.Type.IsStringType()) 675Debug.Assert(node.Type.IsBooleanType()) 706False, node.Type) 713Debug.Assert(node.Left.Type.IsObjectType()) 714Debug.Assert(node.Right.Type.IsObjectType()) 715Debug.Assert(node.Type.IsObjectType() OrElse node.Type.IsBooleanType()) 726Debug.Assert(memberSymbol.ReturnType Is node.Type OrElse Me._inExpressionLambda AndAlso memberSymbol.ReturnType.IsObjectType) 737If Me._inExpressionLambda AndAlso memberSymbol.ReturnType.IsObjectType AndAlso node.Type.IsBooleanType Then 738result = New BoundConversion(node.Syntax, DirectCast(result, BoundExpression), ConversionKind.NarrowingBoolean, node.Checked, False, node.Type) 748Debug.Assert((node.Type.IsObjectType() AndAlso left.Type.IsObjectType() AndAlso right.Type.IsObjectType()) OrElse 749(node.Type.IsBooleanType() AndAlso left.Type.IsStringType() AndAlso right.Type.IsStringType())) 758Debug.Assert(memberSymbol.ReturnType Is node.Type) 777Debug.Assert(left.Type.IsObjectType()) 778Debug.Assert(right.Type.IsObjectType()) 779Debug.Assert(node.Type.IsObjectType()) 817If optimizeForConditionalBranch AndAlso node.Type.IsNullableOfBoolean() AndAlso left.Type.IsNullableOfBoolean() AndAlso right.Type.IsNullableOfBoolean() AndAlso 824Return node.Update(node.OperatorKind, left, right, node.Checked, node.ConstantValueOpt, node.Type) 832Return NullableNull(left, node.Type) 842Return WrapInNullable(unliftedOp, node.Type) 846If node.Left.Type.IsNullableOfBoolean Then 863Dim nullOperand = NullableNull(If(leftHasNoValue, left, right), node.Type) 885node.Type), 886NullableNull(whenNull, node.Type)) 925WrapInNullable(unliftedOpOnCaptured, node.Type), 926NullableNull(node.Syntax, node.Type)) 934value.Type) 959Return NullableNull(left, node.Type) 1002node.Type.GetNullableUnderlyingType()), 1016booleanResult.Type) 1031Return WrapInNullable(booleanResult, node.Type) 1035Debug.Assert(node.Type.IsNullableOfBoolean()) 1036Debug.Assert(operand.Type.IsNullableOfBoolean()) 1038Dim result = New BoundLiteral(node.Syntax, ConstantValue.False, node.Type.GetNullableUnderlyingType()) 1041result, result.Type) 1045Debug.Assert(operand.Type.IsNullableOfBoolean()) 1051Return New BoundNullableIsTrueOperator(operand.Syntax, operand, operand.Type.GetNullableUnderlyingType()) 1063Debug.Assert(left.Type.IsNullableOfBoolean AndAlso right.Type.IsNullableOfBoolean AndAlso node.Type.IsNullableOfBoolean) 1067Dim nullableOfBoolean = node.Type 1141result.Type) 1300value.Type) 1317Return RewriteNullableIsOrIsNotOperator((node.OperatorKind And BinaryOperatorKind.OpMask) = BinaryOperatorKind.Is, If(left.IsNothingLiteral, right, left), node.Type) 1322Debug.Assert(operand.Type.IsNullableType) 1391Dim resultType = operatorCall.Type 1396Debug.Assert(left.Type.IsNullableType() AndAlso right.Type.IsNullableType(), "left and right must be nullable") 1445Debug.Assert(leftCallInput.Type.IsSameTypeIgnoringAll(operatorCall.Method.Parameters(0).Type), 1447Debug.Assert(rightCallInput.Type.IsSameTypeIgnoringAll(operatorCall.Method.Parameters(1).Type), 1460If Not whenHasValue.Type.IsSameTypeIgnoringAll(resultType) Then 1464Debug.Assert(whenHasValue.Type.IsSameTypeIgnoringAll(resultType), "result type must be same as resultType") 1484result.Type) 1496Debug.Assert(Not left.Type.IsNullableType) 1497Debug.Assert(Not right.Type.IsNullableType) 1507originalOperator.Type.GetNullableUnderlyingType)
Lowering\LocalRewriter\LocalRewriter_Call.vb (11)
30type:=node.Type) 95type:=node.Type) 107node.Type) 113node.Type) 236Dim temp = New SynthesizedLocal(Me._currentMethodOrLambda, rewrittenArgument.Type, SynthesizedLocalKind.LoweringTemp) 244rewrittenArgument.Type) 246Return New BoundSequence(rewrittenArgument.Syntax, ImmutableArray(Of LocalSymbol).Empty, ImmutableArray.Create(storeVal), boundTemp, rewrittenArgument.Type) 323Dim temp = New SynthesizedLocal(Me._currentMethodOrLambda, argument.Type, SynthesizedLocalKind.LoweringTemp) 328Dim storeVal As BoundExpression = New BoundAssignmentOperator(argument.Syntax, boundTemp, inputValue, True, argument.Type) 370invocation.Type) 382Return New BoundSequence(argument.Syntax, ImmutableArray(Of LocalSymbol).Empty, ImmutableArray.Create(storeVal), boundTemp, argument.Type)
Lowering\LocalRewriter\LocalRewriter_ConditionalAccess.vb (17)
33Debug.Assert(node.Type IsNot Nothing) 36Dim receiverType As TypeSymbol = rewrittenReceiver.Type 113newPlaceHolder = New BoundConditionalAccessReceiverPlaceholder(node.Placeholder.Syntax, newPlaceholderId, captureReceiver, node.Placeholder.Type) 119Dim accessResultType As TypeSymbol = node.AccessExpression.Type 131If node.Type.IsVoidType() Then 135whenNotNull = WrapInNullable(whenNotNull, node.Type) 139whenNull = If(node.Type.IsNullableType(), NullableNull(node.Syntax, node.Type), factory.Null(node.Type)) 151result = New BoundLoweredConditionalAccess(node.Syntax, receiverOrCondition, captureReceiver, newPlaceholderId, whenNotNull, whenNull, node.Type) 162Debug.Assert(node.Type.IsVoidType()) 163result = New BoundSequence(node.Syntax, ImmutableArray(Of LocalSymbol).Empty, ImmutableArray(Of BoundExpression).Empty, Nothing, node.Type) 167If result.Type.IsVoidType() Then 168result = New BoundSequence(node.Syntax, ImmutableArray.Create(temp), ImmutableArray.Create(assignment, result), Nothing, result.Type) 170result = New BoundSequence(node.Syntax, ImmutableArray.Create(temp), ImmutableArray.Create(assignment), result, result.Type) 219whenNotNull.Type) 225Return sequence.Update(sequence.Locals, sequence.SideEffects, operand, operand.Type)
Lowering\LocalRewriter\LocalRewriter_ConditionalExpressions.vb (22)
18If node.TestExpression.Type IsNot Nothing AndAlso node.TestExpression.Type.IsNullableType Then 42node.Type)) 52Dim rewrittenTestExpressionType As TypeSymbol = rewrittenTestExpression.Type 111type:=node.Type)) 121type:=result.Type) 127Dim testExpressionType As TypeSymbol = testExpression.Type 129Debug.Assert(TypeSymbol.Equals(testExpressionType, rewrittenTestExpression.Type, TypeCompareKind.ConsiderEverything)) 144Debug.Assert(node.TestExpressionPlaceholder Is Nothing OrElse TypeSymbol.Equals(node.TestExpressionPlaceholder.Type, testExpressionType.GetNullableUnderlyingTypeOrSelf, TypeCompareKind.ConsiderEverything)) 158Return node.Update(rewrittenTestExpression, rewrittenWhenTrue, Nothing, rewrittenWhenFalse, node.ConstantValueOpt, node.Type) 183Debug.Assert(testExpr.IsNothingLiteral OrElse Not testExpr.Type.IsValueType) 187If testExpr.IsConstant AndAlso (TypeSymbol.Equals(testExpr.Type, elseExpr.Type, TypeCompareKind.ConsiderEverything)) Then 201Debug.Assert(Not testExpr.Type.IsValueType) 234If rewrittenLeft.Type.IsNullableType() AndAlso 235rewrittenRight.Type.IsSameTypeIgnoringAll(rewrittenLeft.Type.GetNullableUnderlyingType()) _ 273If capturedleft.Type.IsSameTypeIgnoringAll(node.ConvertedTestExpression.Type) Then 291result.Type) 301If rewrittenLeft.Type.IsSameTypeIgnoringAll(convertedTestExpression.Type) Then
Lowering\LocalRewriter\LocalRewriter_Constant.vb (4)
28Return If(node.Kind = BoundKind.Literal, node, New BoundLiteral(node.Syntax, constantValue, node.Type, hasErrors:=constantValue.IsBad)) 99node.Type) 132node.Type) 177node.Type)
Lowering\LocalRewriter\LocalRewriter_Conversion.vb (71)
28type:=node.Type) 42node.Type) 53If (node.Type IsNot Nothing AndAlso node.Type.IsNullableType OrElse 54node.Operand.Type IsNot Nothing AndAlso node.Operand.Type.IsNullableType) AndAlso 70If Not node.HasErrors AndAlso node.Type.IsBooleanType() AndAlso node.Operand.Type.IsObjectType() Then 92Debug.Assert(binary.Type.IsObjectType()) 98node.Type)) 137Dim specialType = rewrittenNode.Type.SpecialType 170Dim rewrittenType = DirectCast(VisitType(node.Type), NamedTypeSymbol) 176If destinationType.IsSameTypeIgnoringAll(rewrittenOperand.Type) Then 186Dim srcType As TypeSymbol = rewrittenOperand.Type 242extendedInfoOpt:=Nothing, type:=node.Type)) 249extendedInfoOpt:=Nothing, type:=node.Type) 266relaxationLambdaOpt:=Nothing, type:=node.Type)) 272relaxationLambdaOpt:=Nothing, type:=node.Type) 289relaxationLambdaOpt:=Nothing, type:=node.Type)) 295relaxationLambdaOpt:=Nothing, type:=node.Type) 315Debug.Assert(node.Operand.Type.IsDelegateType() AndAlso 316DirectCast(node.Operand.Type, NamedTypeSymbol).IsAnonymousType AndAlso 317node.Type.IsDelegateType() AndAlso 318node.Type.SpecialType <> SpecialType.System_MulticastDelegate) 322Return F.Null(node.Type) 337Dim savedOriginalValue = F.SynthesizedLocal(node.Operand.Type) 339Dim conversionIfNothing = F.Null(node.Type) 341DirectCast(node.Operand.Type, NamedTypeSymbol).DelegateInvokeMethod, 345type:=node.Type) 352DirectCast(node.Operand.Type, NamedTypeSymbol).DelegateInvokeMethod, 356type:=node.Type) 388Debug.Assert(rewrittenOperand.Type.IsSameTypeIgnoringAll(node.Type)) 397Dim resultType = node.Type 398Dim operandType = rewrittenOperand.Type 425Dim convKind = Conversions.ClassifyConversion(rewrittenOperand.Type, innerTargetType, useSiteInfo).Key 452Dim convKind = Conversions.ClassifyDirectCastConversion(unwrappedOperand.Type, resultType, useSiteInfo) 528Debug.Assert(resultType Is node.Type) 533If Not operand.Type.IsSameTypeIgnoringAll(unwrappedResultType) Then 535Dim convKind = Conversions.ClassifyConversion(operand.Type, unwrappedResultType, useSiteInfo).Key 586operand.Type) 607Debug.Assert(operand.Type.IsNullableType) 622Dim resultType As TypeSymbol = outConversion.Type 666inputToOperatorMethod = WrapInNullable(NullableValueOrDefault(capturedleft), capturedleft.Type) 681type:=operatorCall.Type) 700result.Type) 716Dim underlyingTypeTo = rewrittenConversion.Type.GetEnumUnderlyingTypeOrSelf() 735Dim underlyingTypeFrom = operand.Type.GetEnumUnderlyingTypeOrSelf() 801If Not operand.Type.IsObjectType() Then 806Conversions.ClassifyDirectCastConversion(operand.Type, objectType, useSiteInfo), 814Debug.Assert(memberSymbol.ReturnType.IsSameTypeIgnoringAll(node.Type)) 823Conversions.ClassifyDirectCastConversion(node.Operand.Type, node.Type, CompoundUseSiteInfo(Of AssemblySymbol).Discarded)) 829Return New BoundDirectCast(node.Syntax, node.Operand, node.ConversionKind, node.Type, Nothing) 873If Not operand.Type.IsObjectType() Then 875Debug.Assert(operand.Type.IsReferenceType) 881Conversions.ClassifyDirectCastConversion(operand.Type, typeFrom, useSiteInfo), 892Dim targetResultType = node.Type 961Dim operandType = operand.Type 1037Dim targetResultType = node.Type 1100Dim operandType = operand.Type 1174Dim targetResultType = node.Type 1201Return New BoundConversion(node.Syntax, callOperand.Arguments(0), node.ConversionKind, node.Checked, node.ExplicitCastInCode, node.Type) 1227Debug.Assert(node.ConversionKind = Conversions.ClassifyConversion(mathRound.ReturnType, node.Type, CompoundUseSiteInfo(Of AssemblySymbol).Discarded).Key) 1230node.Checked, node.ExplicitCastInCode, node.Type, Nothing) 1248Select Case node.Type.SpecialType 1267Select Case node.Type.SpecialType 1332Dim typeFrom As TypeSymbol = operand.Type 1333Dim typeTo As TypeSymbol = node.Type 1338Debug.Assert(node.ConversionKind = Conversions.ClassifyDirectCastConversion(operand.Type, node.Type, CompoundUseSiteInfo(Of AssemblySymbol).Discarded))
Lowering\LocalRewriter\LocalRewriter_DelegateCreation.vb (3)
30captureTemp = New SynthesizedLocal(Me._currentMethodOrLambda, placeholderOpt.Type, SynthesizedLocalKind.DelegateRelaxationReceiver, syntaxOpt:=placeholderOpt.Syntax) 48Type:=node.Type, 66result.Type)
Lowering\LocalRewriter\LocalRewriter_FieldAccess.vb (1)
22Return node.Update(rewrittenReceiver, node.FieldSymbol, node.IsLValue, node.SuppressVirtualCalls, constantsInProgressOpt:=Nothing, node.Type)
Lowering\LocalRewriter\LocalRewriter_ForEach.vb (16)
35(operand.Type.IsArrayType OrElse operand.Type.IsStringType) Then 43collectionType = originalCollection.Type 93Dim tempLocal = New SynthesizedLocal(Me._currentMethodOrLambda, node.ControlVariable.Type, SynthesizedLocalKind.LoweringTemp) 94Dim tempForControlVariable = New BoundLocal(node.Syntax, tempLocal, node.ControlVariable.Type) 198Dim controlVariableType = node.ControlVariable.Type 203If Not conversion.ExplicitCastInCode AndAlso conversion.Operand.Type.IsArrayType Then 207Dim collectionType = collectionExpression.Type 209Debug.Assert(collectionExpression.Type.SpecialType = SpecialType.System_String OrElse 318type:=node.ControlVariable.Type).ToStatement 358Dim expressionType = initExpression.Type 387Dim expressionType = boundIndex.Type 592Debug.Assert(enumeratorInfo.MoveNext.Type.SpecialType = SpecialType.System_Boolean) 603type:=node.ControlVariable.Type).ToStatement 726Dim localType = rewrittenBoundLocal.Type 814Return node.Update(_replacement, node.IsLValue, node.Type)
Lowering\LocalRewriter\LocalRewriter_ForTo.vb (27)
25Dim isObjectLoop = rewrittenControlVariable.Type.IsObjectType 94positiveFlag = New SynthesizedLocal(_currentMethodOrLambda, greaterThanOrEqual.Type, SynthesizedLocalKind.ForDirection, blockSyntax) 108Not rewrittenStep.Type.GetEnumUnderlyingTypeOrSelf.IsSignedIntegralType AndAlso 109Not rewrittenStep.Type.GetEnumUnderlyingTypeOrSelf.IsUnsignedIntegralType Then 114If stepValue.Type.IsNullableType Then 119If stepValue.Type.GetEnumUnderlyingTypeOrSelf.IsNumericType Then 127Dim literalUnderlyingType As TypeSymbol = stepValue.Type.GetEnumUnderlyingTypeOrSelf 128Dim literal As BoundExpression = New BoundLiteral(rewrittenStep.Syntax, ConstantValue.Default(literalUnderlyingType.SpecialType), stepValue.Type) 151positiveFlag = New SynthesizedLocal(_currentMethodOrLambda, isUp.Type, SynthesizedLocalKind.ForDirection, blockSyntax) 171rewrittenInitialValue.Type) 183type:=rewrittenInitialValue.Type 327If rewrittenStep.Type.GetEnumUnderlyingTypeOrSelf.IsUnsignedIntegralType Then 416Debug.Assert(Compilation.GetSpecialType(SpecialType.System_Object) Is rewrittenControlVariable.Type) 417Dim objType = rewrittenControlVariable.Type 578If controlVariable.Type.IsNullableType Then 594controlVariableUnwrapped.Type)) 596If controlVariable.Type.IsNullableType Then 599WrapInNullable(newValue, controlVariable.Type), 600NullableNull(controlVariable.Syntax, controlVariable.Type)) 621type:=controlVariable.Type 631Dim int32Type = [step].Type.ContainingAssembly.GetPrimitiveType(Microsoft.Cci.PrimitiveTypeCode.Int32) 633Dim bits As Integer = [step].Type.GetEnumUnderlyingTypeOrSelf.SpecialType.VBForToShiftBits() 637New BoundBinaryOperator(value.Syntax, BinaryOperatorKind.RightShift, [step], shiftConst, False, [step].Type)) 639Return TransformRewrittenBinaryOperator(New BoundBinaryOperator(value.Syntax, BinaryOperatorKind.Xor, shiftedStep, value, False, value.Type)) 682If stepValue.Type.GetEnumUnderlyingTypeOrSelf.IsUnsignedIntegralType Then 719If stepValue.Type.GetEnumUnderlyingTypeOrSelf.IsSignedIntegralType Then 732If controlVariable.Type.IsNullableType Then
Lowering\LocalRewriter\LocalRewriter_InterpolatedString.vb (2)
19Debug.Assert(node.Type.SpecialType = SpecialType.System_String) 59Dim targetType = conversion.Type
Lowering\LocalRewriter\LocalRewriter_LateAddressOf.vb (1)
21Dim targetType = DirectCast(node.Type, NamedTypeSymbol)
Lowering\LocalRewriter\LocalRewriter_LateBindingHelpers.vb (25)
22If Not rewrittenReceiver.Type.IsObjectType Then 24Dim convKind = Conversions.ClassifyDirectCastConversion(rewrittenReceiver.Type, objectType, useSiteInfo) 114Dim arrayTemp As LocalSymbol = New SynthesizedLocal(Me._currentMethodOrLambda, arrayCreation.Type, SynthesizedLocalKind.LoweringTemp) 127If Not argument.Type.IsObjectType Then 129Dim convKind = Conversions.ClassifyDirectCastConversion(argument.Type, objectType, useSiteInfo) 151Return New BoundSequence(node, ImmutableArray.Create(arrayTemp), sideeffects.ToImmutableAndFree, arrayTempRef, arrayTempRef.Type) 169If Not rewrittenValue.Type.IsObjectType Then 170Dim convKind = Conversions.ClassifyDirectCastConversion(rewrittenValue.Type, objectType, useSiteInfo) 203Dim arrayTemp As LocalSymbol = New SynthesizedLocal(Me._currentMethodOrLambda, arrayCreation.Type, SynthesizedLocalKind.LoweringTemp) 216If Not argument.Type.IsObjectType Then 217Dim convKind = Conversions.ClassifyDirectCastConversion(argument.Type, objectType, useSiteInfo) 232If Not rewrittenValue.Type.IsObjectType Then 233Dim convKind = Conversions.ClassifyDirectCastConversion(rewrittenValue.Type, objectType, useSiteInfo) 241Return New BoundSequence(node, ImmutableArray.Create(arrayTemp), sideeffects.ToImmutableAndFree, arrayTempRef, arrayTempRef.Type) 254value.Type) 281If Not argument.Type.IsObjectType Then 283Dim convKind = Conversions.ClassifyDirectCastConversion(argument.Type, objectType, useSiteInfo) 346Dim booleanType = DirectCast(copyBackArrayRef.Type, ArrayTypeSymbol).ElementType 352Dim objectType = DirectCast(valueArrayRef.Type, ArrayTypeSymbol).ElementType 358Dim targetType = assignmentTarget.Type 749copyBackFlagArrayTemp = New SynthesizedLocal(Me._currentMethodOrLambda, copyBackFlagArray.Type, SynthesizedLocalKind.LoweringTemp) 753valueArrayTemp = New SynthesizedLocal(Me._currentMethodOrLambda, argumentsArray.Type, SynthesizedLocalKind.LoweringTemp) 835Dim valueTemp = New SynthesizedLocal(Me._currentMethodOrLambda, callerInvocation.Type, SynthesizedLocalKind.LoweringTemp) 844valueRef.Type) 902type:=argumentWithCapture.Type)
Lowering\LocalRewriter\LocalRewriter_LateInvocation.vb (1)
88result.Type)
Lowering\LocalRewriter\LocalRewriter_LocalDeclaration.vb (8)
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 (32)
14Debug.Assert(nullableType.GetNullableUnderlyingType.IsSameTypeIgnoringAll(expr.Type)) 114temp = New SynthesizedLocal(Me._currentMethodOrLambda, operand.Type, SynthesizedLocalKind.LoweringTemp) 116init = New BoundAssignmentOperator(operand.Syntax, localAccess, operand, True, operand.Type) 153Debug.Assert(expr.Type.IsNullableType) 174If Not _inExpressionLambda AndAlso expr.Type.IsNullableOfBoolean() Then 187New BoundLiteral(expr.Syntax, ConstantValue.False, expr.Type.GetNullableUnderlyingType())) 192Dim getValueOrDefaultMethod = GetNullableMethod(expr.Syntax, expr.Type, SpecialMember.System_Nullable_T_GetValueOrDefault, isOptional) 206Return If(isOptional, Nothing, New BoundBadExpression(expr.Syntax, LookupResultKind.NotReferencable, ImmutableArray(Of Symbol).Empty, ImmutableArray.Create(expr), expr.Type.GetNullableUnderlyingType(), hasErrors:=True)) 210Debug.Assert(expr.Type.IsNullableType) 212Dim getValueOrDefaultWithDefaultValueMethod = GetNullableMethod(expr.Syntax, expr.Type, SpecialMember.System_Nullable_T_GetValueOrDefaultDefaultValue, isOptional:=True) 231conversion.Type.GetNullableUnderlyingType().Equals(conversion.Operand.Type, TypeCompareKind.AllIgnoreOptionsForVB) 235Debug.Assert(expr.Type.IsNullableType) 241Dim getValueMethod As MethodSymbol = GetNullableMethod(expr.Syntax, expr.Type, SpecialMember.System_Nullable_T_get_Value) 255Return New BoundBadExpression(expr.Syntax, LookupResultKind.NotReferencable, ImmutableArray(Of Symbol).Empty, ImmutableArray.Create(expr), expr.Type.GetNullableUnderlyingType(), hasErrors:=True) 262Debug.Assert(expr.Type.IsNullableType) 269Dim hasValueMethod As MethodSymbol = GetNullableMethod(expr.Syntax, expr.Type, SpecialMember.System_Nullable_T_get_HasValue) 309If (Not type.IsSameTypeIgnoringAll(candidateNullExpression.Type)) OrElse 353Debug.Assert(expr.Type.IsNullableType) 370Debug.Assert(expr.Type.IsNullableType) 399Debug.Assert(Not left.Type.IsNullableType) 400Debug.Assert(Not right.Type.IsNullableType) 498Debug.Assert(TypeSymbol.Equals(left.Type, right.Type, TypeCompareKind.ConsiderEverything)) 499Debug.Assert(left.Type.IsBooleanType) 501Return MakeBinaryExpression(syntax, binaryOpKind, left, right, False, left.Type) 531second.Type) 542Debug.Assert(condition.Type.IsBooleanType, "ternary condition must be boolean") 543Debug.Assert(whenTrue.Type.IsSameTypeIgnoringAll(whenFalse.Type), "ternary branches must have same types") 550Return TransformRewrittenTernaryConditionalExpression(New BoundTernaryConditionalExpression(syntax, condition, whenTrue, whenFalse, Nothing, whenTrue.Type)) 569If operand.Type.IsNullableType Then
Lowering\LocalRewriter\LocalRewriter_ObjectCreation.vb (22)
19node = node.Update(node.ConstructorOpt, node.Arguments, node.DefaultArguments, Nothing, node.Type) 39If node.Type.IsInterfaceType() Then 40Debug.Assert(result.Type.Equals(DirectCast(node.Type, NamedTypeSymbol).CoClassType)) 43Dim conv As ConversionKind = Conversions.ClassifyDirectCastConversion(result.Type, node.Type, useSiteInfo) 46result = New BoundDirectCast(node.Syntax, result, conv, node.Type, Nothing) 48Debug.Assert(node.Type.IsSameTypeIgnoringAll(result.Type)) 90Dim conversion = Conversions.ClassifyDirectCastConversion(createInstance.ReturnType, node.Type, useSiteInfo) 92rewrittenObjectCreation = New BoundDirectCast(node.Syntax, factory.Call(Nothing, createInstance, callGetTypeFromCLSID), conversion, node.Type) 94rewrittenObjectCreation = New BoundBadExpression(node.Syntax, LookupResultKind.OverloadResolutionFailure, ImmutableArray(Of Symbol).Empty, ImmutableArray(Of BoundExpression).Empty, node.Type, hasErrors:=True) 134Dim typeParameter = DirectCast(node.Type, TypeParameterSymbol) 186Dim expressionType = node.Type 201newPlaceholder = New BoundWithLValueExpressionPlaceholder(node.PlaceholderOpt.Syntax, node.PlaceholderOpt.Type) 252node.Type)) 299Dim expressionType = node.Type 365assignment.Type) 393node.Type)) 407Return objCreation.Update(objCreation.ConstructorOpt, objCreation.Arguments, objCreation.DefaultArguments, rewrittenInitializer, objCreation.Type) 411Return newT.Update(rewrittenInitializer, newT.Type) 422sequence.Type)
Lowering\LocalRewriter\LocalRewriter_OmittedArgument.vb (4)
15Debug.Assert(node.Type.IsObjectType) 24Dim conversion = Conversions.ClassifyDirectCastConversion(fieldAccess.Type, node.Type, useSiteInfo) 28Return New BoundDirectCast(node.Syntax, fieldAccess, conversion, node.Type)
Lowering\LocalRewriter\LocalRewriter_PreviousSubmissionReference.vb (1)
14Dim targetType = DirectCast(node.Type, ImplicitNamedTypeSymbol)
Lowering\LocalRewriter\LocalRewriter_PropertyAccess.vb (3)
17If receiverOpt IsNot Nothing AndAlso receiverOpt.Type.IsArrayType Then 18Dim asArrayType = DirectCast(receiverOpt.Type, ArrayTypeSymbol) 25Return New BoundArrayLength(node.Syntax, VisitExpressionNode(receiverOpt), node.Type)
Lowering\LocalRewriter\LocalRewriter_Query.vb (3)
133Dim anonymousType = DirectCast(anonymousTypeInstance.Type, AnonymousTypeManager.AnonymousTypePublicSymbol) 236Dim groupLocal = New SynthesizedLocal(Me._currentMethodOrLambda, node.CapturedGroupOpt.Type, SynthesizedLocalKind.LoweringTemp) 250node.Type)
Lowering\LocalRewriter\LocalRewriter_RaiseEvent.vb (4)
55Dim temp As LocalSymbol = New SynthesizedLocal(Me._currentMethodOrLambda, receiver.Type, SynthesizedLocalKind.LoweringTemp) 59New BoundAssignmentOperator(syntax, tempAccess, receiver, True, receiver.Type)).MakeCompilerGenerated 70type:=raiseCallExpression.Type) 115Dim fieldType As NamedTypeSymbol = DirectCast(rewrittenReceiver.Type, NamedTypeSymbol)
Lowering\LocalRewriter\LocalRewriter_RedimClause.vb (7)
55Conversions.ClassifyDirectCastConversion(arrayValueAccess.Type, systemArray, useSiteInfo), 59Conversions.ClassifyDirectCastConversion(valueBeingAssigned.Type, systemArray, useSiteInfo), 71Conversions.ClassifyDirectCastConversion(valueBeingAssigned.Type, assignmentTarget.Type, useSiteInfo), 72assignmentTarget.Type, Nothing) 93If(assignmentOperator.Type.IsVoidType(), 94assignmentOperator.Type,
Lowering\LocalRewriter\LocalRewriter_SelectCase.vb (3)
111If rewrittenSelectExpression.Type.IsStringType Then 230Dim selectExprType = rewrittenSelectExpression.Type 342Debug.Assert(node.ExpressionStatement.Expression.Type.IsStringType)
Lowering\LocalRewriter\LocalRewriter_StringConcat.vb (4)
36Debug.Assert(node.Type.IsStringType() AndAlso 37node.Left.Type.IsStringType() AndAlso 38node.Right.Type.IsStringType(), "concat args should be strings here") 287Dim argArray = factory.Array(node.Type, loweredArgs)
Lowering\LocalRewriter\LocalRewriter_SyncLock.vb (7)
26Dim conversionKind = Conversions.ClassifyConversion(visitedLockExpression.Type, objectType, useSiteInfo).Key 93If node.LockExpression.Type.IsObjectType() AndAlso 194New BoundLiteral(syntaxNode, ConstantValue.False, boundLockTakenLocal.Type), 196type:=boundLockTakenLocal.Type).ToStatement 256Debug.Assert(boundLockTakenLocal.Type.IsBooleanType()) 263New BoundLiteral(syntaxNode, ConstantValue.True, boundLockTakenLocal.Type), 265boundLockTakenLocal.Type)
Lowering\LocalRewriter\LocalRewriter_Throw.vb (1)
22If expressionOpt.Type.SpecialType = SpecialType.System_Int32 Then
Lowering\LocalRewriter\LocalRewriter_TupleLiteralExpression.vb (1)
31Return MakeTupleCreationExpression(node.Syntax, DirectCast(node.Type, NamedTypeSymbol), rewrittenArguments)
Lowering\LocalRewriter\LocalRewriter_UnaryOperators.vb (22)
18Debug.Assert(node.Operand.Type.IsNullableOfBoolean()) 28Return node.Update(operand, node.Type) 32Return New BoundLiteral(node.Syntax, ConstantValue.False, node.Type) 52binary.Left, binary.Right, binary.Checked, binary.ConstantValueOpt, binary.Type) 69Return node.Update(node.OperatorKind, VisitExpression(node.UnderlyingExpression), node.Type) 98Dim opType As TypeSymbol = node.Type 111Debug.Assert(node.Operand.Type.IsObjectType() AndAlso node.Type.IsObjectType()) 139Debug.Assert(node.Operand.Type.IsDecimalType() AndAlso node.Type.IsDecimalType()) 169Return NullableNull(operand, node.Type) 177Return WrapInNullable(unliftedOp, node.Type) 197WrapInNullable(unliftedOpOnCaptured, node.Type), 206value.Type) 238Dim resultType = operatorCall.Type 243Debug.Assert(operand.Type.IsNullableType, "operand must be nullable") 266Debug.Assert(callInput.Type.IsSameTypeIgnoringAll(operatorCall.Method.Parameters(0).Type), 279If Not whenHasValue.Type.IsSameTypeIgnoringAll(resultType) Then 283Debug.Assert(whenHasValue.Type.IsSameTypeIgnoringAll(resultType), "result type must be same as resultType") 304result.Type) 313Debug.Assert(Not operandValue.Type.IsNullableType) 323originalOperator.Type.GetNullableUnderlyingType))
Lowering\LocalRewriter\LocalRewriter_Using.vb (2)
127placeholderInfo = node.UsingInfo.PlaceholderInfo(initializationExpression.Type) 130initializationExpression.Type,
Lowering\LocalRewriter\LocalRewriter_With.vb (1)
26Dim type As TypeSymbol = rewrittenExpression.Type
Lowering\LocalRewriter\LocalRewriter_XmlLiterals.vb (11)
92Dim type = expr.Type 104attributes = CreateTempLocal(syntax, rewriterInfo.XmlnsAttributesPlaceholder.Type, VisitExpressionNode(rewriterInfo.XmlnsAttributes), sideEffects) 114Dim prefixes = CreateTempLocal(syntax, rewriterInfo.PrefixesPlaceholder.Type, prefixesArray, sideEffects) 118Dim namespaces = CreateTempLocal(syntax, rewriterInfo.NamespacesPlaceholder.Type, namespacesArray, sideEffects) 205Dim type = objCreation.Type 214attributes = CreateTempLocalInExpressionLambda(syntax, rewriterInfo.XmlnsAttributesPlaceholder.Type, VisitExpressionNode(rewriterInfo.XmlnsAttributes)) 223Dim prefixes = CreateTempLocalInExpressionLambda(syntax, rewriterInfo.PrefixesPlaceholder.Type, prefixesArray) 226Dim namespaces = CreateTempLocalInExpressionLambda(syntax, rewriterInfo.NamespacesPlaceholder.Type, namespacesArray) 277objCreation.Type) 306prefixes = VisitExpressionNode(CreateCompilerGeneratedArray(syntax, rewriterInfo.PrefixesPlaceholder.Type, prefixesBuilder.ToImmutableAndFree())) 307namespaces = VisitExpressionNode(CreateCompilerGeneratedArray(syntax, rewriterInfo.NamespacesPlaceholder.Type, namespacesBuilder.ToImmutableAndFree()))
Lowering\MethodToClassRewriter\MethodToClassRewriter.vb (16)
107Return node.Update(VisitMethodSymbol(node.Method), VisitMethodSymbol(node.GetMethodFromHandle), 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)
145Debug.Assert(TypeSymbol.Equals(frameClass, result.Type, TypeCompareKind.ConsiderEverything))
Lowering\SyntheticBoundNodeFactory.vb (31)
204Debug.Assert(receiver.Type.GetMembers(propertySym.Name).OfType(Of PropertySymbol)().Single() = propertySym) 214Dim propertySym = receiver.Type.GetMembers(name).OfType(Of PropertySymbol)().[Single]() 300Debug.Assert(left.Type.IsSameTypeIgnoringAll(right.Type) OrElse right.Type.IsErrorType() OrElse left.Type.IsErrorType()) 307Debug.Assert(TypeSymbol.Equals(byRefLocal.Type, lValue.Type, TypeCompareKind.ConsiderEverything)) 310Dim boundNode = New BoundReferenceAssignment(_syntax, Local(byRefLocal, isLValue:=True), lValue, isLValue:=True, type:=lValue.Type) 357Dim conversion = Conversions.ClassifyDirectCastConversion(expression.Type, Me.CurrentMethod.ReturnType, useSiteInfo) 620Return New BoundTernaryConditionalExpression(Me.Syntax, condition, ifTrue, ifFalse, Nothing, ifTrue.Type).MakeCompilerGenerated() 626Debug.Assert(expression.Type.IsReferenceType) 'Others are not supported yet 628Debug.Assert(Not expression.Type.IsErrorType) 631Return New BoundTryCast(Me.Syntax, expression, Conversions.ClassifyTryCastConversion(expression.Type, type, CompoundUseSiteInfo(Of AssemblySymbol).Discarded), type) 636Debug.Assert(expression.IsNothingLiteral OrElse expression.Type.IsReferenceType OrElse expression.Type.IsTypeParameter()) 'Others are not supported yet 638Debug.Assert(expression.Type Is Nothing OrElse Not expression.Type.IsErrorType) 645Conversions.ClassifyDirectCastConversion(expression.Type, type, CompoundUseSiteInfo(Of AssemblySymbol).Discarded)), 686Dim boundNode = New BoundSequence(_syntax, locals, sideEffects, result, result.Type) 793Debug.Assert(array.Type IsNot Nothing AndAlso array.Type.IsArrayType()) 794Dim boundNode = New BoundArrayAccess(_syntax, array, indices, isLValue, (DirectCast(array.Type, ArrayTypeSymbol)).ElementType) 1017ElseIf type.IsErrorType() OrElse arg.Type.IsErrorType() Then 1020Return Convert(type, arg, Conversions.ClassifyConversion(arg.Type, type, CompoundUseSiteInfo(Of AssemblySymbol).Discarded).Key, isChecked) 1056Return New BoundBinaryConditionalExpression(Syntax, left, Nothing, Nothing, right, Nothing, left.Type) 1072Debug.Assert(operand.Type.IsReferenceType) 1073Dim boundNode = Binary(BinaryOperatorKind.Is, SpecialType(Microsoft.CodeAnalysis.SpecialType.System_Boolean), operand, Me.Null(operand.Type)) 1079Debug.Assert(operand.Type.IsReferenceType) 1080Dim boundNode = Binary(BinaryOperatorKind.IsNot, SpecialType(Microsoft.CodeAnalysis.SpecialType.System_Boolean), operand, Me.Null(operand.Type)) 1086Return New BoundUnaryOperator(expression.Syntax, UnaryOperatorKind.Not, expression, False, expression.Type) 1138valueOpt.Type)).MakeCompilerGenerated()
Lowering\UseTwiceRewriter.vb (43)
86ElseIf receiverOpt.IsLValue AndAlso receiverOpt.Type.IsReferenceType Then 89boundTemp = boundTemp.Update(boundTemp.LocalSymbol, isLValue:=True, type:=boundTemp.Type) 90receiver = New Result(New BoundSequence(capture.Syntax, ImmutableArray(Of LocalSymbol).Empty, ImmutableArray.Create(Of BoundExpression)(capture), boundTemp, boundTemp.Type), 92ElseIf Not receiverOpt.IsLValue AndAlso Not receiverOpt.Type.IsReferenceType AndAlso Not receiverOpt.Type.IsValueType Then 95boundTemp = boundTemp.Update(boundTemp.LocalSymbol, isLValue:=True, type:=boundTemp.Type) 97receiver = New Result(New BoundSequence(capture.Syntax, ImmutableArray(Of LocalSymbol).Empty, ImmutableArray.Create(Of BoundExpression)(capture), boundTemp, boundTemp.Type), 144Debug.Assert(type IsNot Nothing AndAlso Not type.IsVoidType() AndAlso value.Type Is type) 164Return CaptureInATemp(containingMember, value, value.Type, temporaries, referToTemp) 177ElseIf value.IsValue AndAlso value.Type IsNot Nothing AndAlso Not value.Type.IsVoidType() Then 188Dim second = New BoundLiteral(value.Syntax, constantValue, value.Type) 217If IsInvariantArray(node.Expression.Type) Then 240Dim second = node.Update(boundArrayTemp, indicesSecond.AsImmutableOrNull(), node.IsLValue, node.Type) 241Dim first = node.Update(storeArray, indicesFirst.AsImmutableOrNull(), node.IsLValue, node.Type) 255Dim temp = New SynthesizedLocal(containingMember, lvalue.Type, SynthesizedLocalKind.LoweringTemp, isByRef:=True) 258lvalue, isLValue:=True, type:=lvalue.Type).MakeCompilerGenerated() 260Dim second = New BoundLocal(lvalue.Syntax, temp, isLValue:=True, type:=lvalue.Type).MakeCompilerGenerated() 273Dim second = node.Update(Nothing, fieldSymbol, node.IsLValue, node.SuppressVirtualCalls, constantsInProgressOpt:=Nothing, node.Type) 315ElseIf receiverOpt.IsLValue AndAlso receiverOpt.Type.IsReferenceType Then 318ElseIf Not receiverOpt.IsLValue AndAlso Not receiverOpt.Type.IsReferenceType AndAlso Not receiverOpt.Type.IsValueType Then 321boundTemp = boundTemp.Update(boundTemp.LocalSymbol, isLValue:=True, type:=boundTemp.Type) 323receiver = New Result(New BoundSequence(capture.Syntax, ImmutableArray(Of LocalSymbol).Empty, ImmutableArray.Create(Of BoundExpression)(capture), boundTemp, boundTemp.Type), 330Debug.Assert(Not receiverOpt.Type.IsReferenceType) 348cloneTemp.Update(cloneTemp.LocalSymbol, isLValue:=True, cloneTemp.Type), 349cloneTemp.Type).MakeCompilerGenerated(), 350receiverOpt.Type).MakeCompilerGenerated() 354cloneTemp.Update(cloneTemp.LocalSymbol, isLValue:=True, cloneTemp.Type), 355receiverOpt.Type).MakeCompilerGenerated() 359complexReceiverFirst, receiverOpt.Type).MakeCompilerGenerated(), 401type:=node.Type) 412type:=node.Type) 443Dim temp = New SynthesizedLocal(containingMember, boundArgument.Type, SynthesizedLocalKind.LoweringTemp) 449boundArgument.Type) 465node.Type) 473node.Type) 488node.Type) 495node.Type) 543initializer.Update(firstArgsArray.AsImmutableOrNull(), initializer.Type), Nothing, Nothing, boundArray.Type) 545initializer.Update(secondArgsArray.AsImmutableOrNull(), initializer.Type), Nothing, Nothing, boundArray.Type)
Lowering\WithExpressionRewriter.vb (13)
93Dim type As TypeSymbol = value.Type 103value = New BoundLValueToRValueWrapper(value.Syntax, value, value.Type).MakeCompilerGenerated() 118Dim type As TypeSymbol = value.Type 143Return value.Update(boundArrayTemp, indices.AsImmutableOrNull(), value.IsLValue, value.Type) 159If value.IsValue AndAlso value.Type IsNot Nothing AndAlso Not value.Type.IsVoidType() Then 183Return value.Update(Nothing, fieldSymbol, value.IsLValue, value.SuppressVirtualCalls, value.ConstantsInProgressOpt, value.Type) 190Return value.Update(receiver, fieldSymbol, value.IsLValue, value.SuppressVirtualCalls, value.ConstantsInProgressOpt, value.Type) 198If value.IsLValue AndAlso value.Type.IsReferenceType Then 281Dim type As TypeSymbol = value.Type 304Debug.Assert(value.Type.IsStructureType OrElse value.Type.IsTypeParameter) 324If Not (state.DoNotUseByRefLocal OrElse (value.Kind = BoundKind.ArrayAccess AndAlso value.Type.Kind = SymbolKind.TypeParameter)) Then
Semantics\Conversions.vb (15)
736Dim sourceExpressionType = source.Type 989source.Type) 1050If source.Type Is Nothing Then 1240If TypeSymbol.Equals(source.Type, destination, TypeCompareKind.ConsiderEverything) Then 1469Dim sourceType = operand.Type 1532Debug.Assert(source.Type Is Nothing) ' Shouldn't try to convert already converted query lambda. 1607Dim sourceType As TypeSymbol = constantExpression.Type 1707If destination.IsObjectType() AndAlso constantExpression.Type IsNot Nothing AndAlso 1708constantExpression.Type.IsObjectType() Then 1812Dim sourceType As TypeSymbol = source.Type 1868Dim sourceType As TypeSymbol = source.Type 2113Dim sourceType As TypeSymbol = source.Type 2125sourceType = source.Type 4251Dim operandType As TypeSymbol = conversion.Operand.Type 4257methodConversion = ClassifyMethodConversionBasedOnReturnType(operandType, conversion.Type, isRefReturning:=False, useSiteInfo:=useSiteInfo)
Semantics\Operators.vb (53)
511Dim operandType = operand.Type 721Dim operandType = operand.Type 869Dim leftType As TypeSymbol = left.Type 870Dim rightType As TypeSymbol = right.Type 1047Dim leftType = left.Type 1048Dim rightType = right.Type 2955CollectUserDefinedOperators(argument.Type, Nothing, MethodKind.UserDefinedOperator, 2969CollectUserDefinedOperators(argument.Type, Nothing, MethodKind.UserDefinedOperator, 2992CollectUserDefinedOperators(argument.Type, Nothing, MethodKind.UserDefinedOperator, 2997CollectUserDefinedOperators(argument.Type, Nothing, MethodKind.UserDefinedOperator, 3002CollectUserDefinedOperators(argument.Type, Nothing, MethodKind.UserDefinedOperator, 3028CollectUserDefinedOperators(left.Type, right.Type, MethodKind.UserDefinedOperator, 3033CollectUserDefinedOperators(left.Type, right.Type, MethodKind.UserDefinedOperator, 3038CollectUserDefinedOperators(left.Type, right.Type, MethodKind.UserDefinedOperator, 3043CollectUserDefinedOperators(left.Type, right.Type, MethodKind.UserDefinedOperator, 3048CollectUserDefinedOperators(left.Type, right.Type, MethodKind.UserDefinedOperator, 3053CollectUserDefinedOperators(left.Type, right.Type, MethodKind.UserDefinedOperator, 3058CollectUserDefinedOperators(left.Type, right.Type, MethodKind.UserDefinedOperator, 3063CollectUserDefinedOperators(left.Type, right.Type, MethodKind.UserDefinedOperator, 3068CollectUserDefinedOperators(left.Type, right.Type, MethodKind.UserDefinedOperator, 3073CollectUserDefinedOperators(left.Type, right.Type, MethodKind.UserDefinedOperator, 3078CollectUserDefinedOperators(left.Type, right.Type, MethodKind.UserDefinedOperator, 3083CollectUserDefinedOperators(left.Type, right.Type, MethodKind.UserDefinedOperator, 3088CollectUserDefinedOperators(left.Type, right.Type, MethodKind.UserDefinedOperator, 3093CollectUserDefinedOperators(left.Type, right.Type, MethodKind.UserDefinedOperator, 3098CollectUserDefinedOperators(left.Type, right.Type, MethodKind.UserDefinedOperator, 3104CollectUserDefinedOperators(left.Type, right.Type, MethodKind.UserDefinedOperator, 3111CollectUserDefinedOperators(left.Type, right.Type, MethodKind.UserDefinedOperator, 3116CollectUserDefinedOperators(left.Type, right.Type, MethodKind.UserDefinedOperator, 3122CollectUserDefinedOperators(left.Type, right.Type, MethodKind.UserDefinedOperator, 3128CollectUserDefinedOperators(left.Type, right.Type, MethodKind.UserDefinedOperator, 3155argument1.Type.IsObjectType OrElse argument2.Type.IsObjectType,
Semantics\OverloadResolution.vb (8)
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 (8)
246If currentNamedNode.Expression.Type IsNot Nothing AndAlso 247currentNamedNode.Expression.Type.IsObjectType() Then 520Debug.Assert(Expression.Type Is Nothing) 571expressionType = Expression.Type 589If Not (Expression.Type IsNot Nothing AndAlso Expression.Type.IsObjectType()) Then 1241Dim argumentType As TypeSymbol = argument.Type 2120lambdaReturnType = queryLambda.Expression.Type
Symbols\ConstantValueUtils.vb (1)
46boundValueType = boundValue.Type
Symbols\Source\LocalSymbol.vb (3)
887(valueExpression.Type Is Nothing OrElse Not valueExpression.Type.IsErrorType)) 889SetConstantExpression(valueExpression.Type, constValue, valueExpression, diagBag.ToReadOnlyAndFree())
Symbols\Source\SynthesizedEventAccessorSymbol.vb (3)
332conversionKind2 = Conversions.ClassifyDirectCastConversion(boundParameter.Type, updateMethod.Parameters(1).Type, conversionsUseSiteInfo) 408conversionKind1 = Conversions.ClassifyDirectCastConversion(boundTmps(1).Type, updateMethod.Parameters(0).Type, CompoundUseSiteInfo(Of AssemblySymbol).Discarded) 409conversionKind2 = Conversions.ClassifyDirectCastConversion(boundParameter.Type, updateMethod.Parameters(1).Type, CompoundUseSiteInfo(Of AssemblySymbol).Discarded)