Binding\Binder_Attributes.vb (24)
83Return New SourceAttributeData(node.GetReference(), DirectCast(boundAttribute.Type, NamedTypeSymbol), boundAttribute.Constructor, args, namedArgs, isConditionallyOmitted, hasErrors:=visitor.HasErrors)
533Debug.Assert(TypeSymbol.Equals(lValue.Type, fieldOrPropType, TypeCompareKind.ConsiderEverything))
586Dim sourceType As TypeSymbol = expression.SourceType.Type
746If _binder.IsValidTypeForAttributeArgument(node.Type) Then
747Return CreateTypedConstant(node.Type, node.ConstantValueOpt.Value)
749Return CreateErrorTypedConstant(node.Type)
763Not _binder.IsValidTypeForAttributeArgument(conv.Operand.Type) Then
766ReportDiagnostic(diagBag, conv.Operand.Syntax, ERRID.ERR_RequiredAttributeConstConversion2, conv.Operand.Type, conv.Type)
768Return CreateErrorTypedConstant(node.Type)
777Not _binder.IsValidTypeForAttributeArgument(conv.Operand.Type) Then
780ReportDiagnostic(diagBag, conv.Operand.Syntax, ERRID.ERR_RequiredAttributeConstConversion2, conv.Operand.Type, conv.Type)
782Return CreateErrorTypedConstant(node.Type)
791Not _binder.IsValidTypeForAttributeArgument(conv.Operand.Type) Then
795ReportDiagnostic(diagBag, conv.Operand.Syntax, ERRID.ERR_RequiredAttributeConstConversion2, If(conv.Operand.Type, _binder.Compilation.GetSpecialType(SpecialType.System_Object)), conv.Type)
797Return CreateErrorTypedConstant(node.Type)
816Return CreateErrorTypedConstant(node.Type)
820Return CreateErrorTypedConstant(node.Type)
828Dim getTypeArgument = sourceType.Type
841Return CreateErrorTypedConstant(node.Type)
845Return CreateTypedConstant(node.Type, getTypeArgument)
849Dim type = DirectCast(node.Type, ArrayTypeSymbol)
Binding\Binder_Expressions.vb (94)
102Return New BoundTypeExpression(node, asType.UnevaluatedReceiverOpt, asType.AliasOpt, operand.Type, operand.HasErrors)
110Return New BoundParenthesized(node, reclassified, reclassified.Type)
112Return New BoundParenthesized(node, operand, operand.Type)
303Return New BoundBadExpression(wrappedBadExpression.Syntax, resultKind, wrappedBadExpression.Symbols, wrappedBadExpression.ChildBoundNodes, wrappedBadExpression.Type, hasErrors:=True)
305Return New BoundBadExpression(wrappedExpression.Syntax, resultKind, ImmutableArray(Of Symbol).Empty, ImmutableArray.Create(wrappedExpression), wrappedExpression.Type, hasErrors:=True)
359If boundArgument.Type IsNot Nothing Then
509Dim expressionType As TypeSymbol = expression.Type
750Dim operandType = operand.Type
929Dim type = receiver.Type
942If expr.Kind = BoundKind.ConditionalAccess AndAlso expr.Type Is Nothing Then
946Dim resultType As TypeSymbol = access.Type
1001Dim type = expr.Type
1045Dim type As TypeSymbol = typeExpr.Type
1116If result.Type IsNot classType Then
1136type:=access.Type,
1142access.SuppressVirtualCalls, access.ConstantsInProgressOpt, access.Type, access.HasErrors)
1150type:=[call].Type,
1218Return parenthesized.Update(enclosed, enclosed.Type)
1226If Not expr.IsValue OrElse expr.Type Is Nothing OrElse expr.Type.IsVoidType Then
1233Dim exprType = expr.Type
1299Debug.Assert(receiverOpt.Type IsNot Nothing)
1300Return receiverOpt.Type
1333Return parenthesized.Update(enclosed, enclosed.Type)
1350Dim exprType = expr.Type
1423Return parenthesized.Update(enclosed, enclosed.Type)
1718invocation.Type)
1739Not receiver.Type.IsValueType) ' If this logic changes, logic in UseTwiceRewriter.UseTwicePropertyAccess might need to change too.
1796base.Type.IsValueType Then
1820Dim receiverType = receiver.Type
1970(candidate.IsNothingLiteral OrElse (candidate.Type IsNot Nothing AndAlso candidate.Type.AllowsCompileTimeOperations()))
1986dominantType = If(boundFirstArg.Type, If(boundSecondArg.Type, GetSpecialType(SpecialType.System_Object, node, diagnostics)))
1988ElseIf boundFirstArg.Type IsNot Nothing AndAlso boundFirstArg.Type.IsNullableType AndAlso boundSecondArg.IsNothingLiteral Then
1990dominantType = boundFirstArg.Type
1996If boundFirstArg.Type IsNot Nothing AndAlso boundFirstArg.Type.IsNullableType AndAlso
1997Not (boundSecondArg.Type IsNot Nothing AndAlso boundSecondArg.Type.IsNullableType) Then
2002Dim underlyingType = boundFirstArg.Type.GetNullableUnderlyingType
2032dominantType = boundSecondArg.Type
2038dominantType = boundFirstArg.Type
2057If Not hasErrors AndAlso boundFirstArg.Type Is Nothing Then
2081Debug.Assert(hasErrors OrElse boundFirstArg.IsNothingLiteral OrElse boundFirstArg.Type IsNot Nothing)
2094If Not hasErrors AndAlso Not (boundFirstArg.IsNothingLiteral OrElse boundFirstArg.Type.IsNullableType OrElse boundFirstArg.Type.IsReferenceType) Then
2097If Not boundFirstArg.Type.IsValueType Then
2136placeholder = New BoundRValuePlaceholder(testExpression.Syntax, testExpression.Type.GetNullableUnderlyingTypeOrSelf())
2699Debug.Assert(boundValue.Type IsNot Nothing)
2700leftType = boundValue.Type
2704Debug.Assert(boundValue.Type IsNot Nothing)
2705leftType = boundValue.Type
2718If TypeSymbol.Equals(boundType.Type, leftType, TypeCompareKind.ConsiderEverything) Then
2771Dim leftTypeSymbol As TypeSymbol = left.Type
2875type = DirectCast(left, BoundTypeExpression).Type
2897type = left.Type
3648receiver = New BoundTypeAsValueExpression(receiver.Syntax, DirectCast(receiver, BoundTypeExpression), receiver.Type).MakeCompilerGenerated()
3733Dim type = left.Type
3807Dim type = expr.Type
3826ReportDiagnostic(diagnostics, expr.Syntax, ERRID.ERR_QualNotObjectRecord1, expr.Type)
3833ReportDiagnostic(diagnostics, expr.Syntax, ERRID.ERR_DefaultMemberNotProperty1, expr.Type)
3900Dim exprType = expr.Type
3909Dim arrayType As ArrayTypeSymbol = DirectCast(expr.Type, ArrayTypeSymbol)
4499Dim expressionType As TypeSymbol = expression.Type
4636operand.Type IsNot Nothing AndAlso
4637operand.Type.IsVoidType() AndAlso
4652ElseIf operand.Type.IsObjectType() Then
4672Dim awaitableInstancePlaceholder = New BoundRValuePlaceholder(operand.Syntax, operand.Type).MakeCompilerGenerated()
4679If operand.Type.IsObjectType Then
4682getAwaiter = BindLateBoundMemberAccess(node, WellKnownMemberNames.GetAwaiter, Nothing, awaitableInstancePlaceholder, operand.Type,
4686Debug.Assert(getAwaiter.Type.IsObjectType())
4687awaiterInstancePlaceholder = New BoundLValuePlaceholder(operand.Syntax, getAwaiter.Type).MakeCompilerGenerated()
4689isCompleted = BindLateBoundMemberAccess(node, WellKnownMemberNames.IsCompleted, Nothing, awaiterInstancePlaceholder, awaiterInstancePlaceholder.Type,
4693Debug.Assert(isCompleted.Type.IsObjectType())
4695getResult = BindLateBoundMemberAccess(node, WellKnownMemberNames.GetResult, Nothing, awaiterInstancePlaceholder, awaiterInstancePlaceholder.Type,
4698Debug.Assert(getResult.Type.IsObjectType())
4701Debug.Assert(operand.Type.IsErrorType() OrElse ignoreDiagnostics.DiagnosticBag.IsEmptyWithoutResolution())
4709LookupMember(lookupResult, awaitableInstancePlaceholder.Type, WellKnownMemberNames.GetAwaiter, 0, LookupOptions.AllMethodsOfAnyArity, useSiteInfo)
4742getAwaiter.Type.IsObjectType() Then
4757If getAwaiter IsNot Nothing AndAlso Not getAwaiter.Type.IsErrorType() Then
4759awaiterInstancePlaceholder = New BoundLValuePlaceholder(operand.Syntax, getAwaiter.Type).MakeCompilerGenerated()
4762LookupMember(lookupResult, awaiterInstancePlaceholder.Type, WellKnownMemberNames.IsCompleted, 0,
4790Not isCompleted.Type.IsBooleanType() Then
4808LookupMember(lookupResult, awaiterInstancePlaceholder.Type, WellKnownMemberNames.GetResult, 0,
4858Not Conversions.IsWideningConversion(Conversions.ClassifyDirectCastConversion(getAwaiter.Type, notifyCompletion, useSiteInfo)) Then
4859ReportDiagnostic(diagnostics, node, ERRID.ERR_DoesntImplementAwaitInterface2, getAwaiter.Type, notifyCompletion)
4871ReportDiagnostic(diagnostics, node, ERRID.ERR_BadGetAwaiterMethod1, operand.Type)
4875ElseIf getAwaiter.Type.IsErrorType() Then
4879ReportDiagnostic(diagnostics, node, ERRID.ERR_BadIsCompletedOnCompletedGetResult2, getAwaiter.Type, operand.Type)
4884awaiterInstancePlaceholder = New BoundLValuePlaceholder(node, getAwaiter.Type).MakeCompilerGenerated()
4900resultType = getResult.Type
Binding\Binder_Invocation.vb (22)
152type:=callExpr.Type,
229Dim diagInfo = ErrorFactory.ErrorInfo(GetTypeNotExpressionErrorId(typeExp.Type), typeExp.Type)
272Dim targetType As TypeSymbol = target.Type
296ReportDiagnostic(diagnostics, target.Syntax, ERRID.ERR_DelegateNoInvoke1, target.Type)
338If target.Type.SpecialType = SpecialType.System_Object OrElse
339target.Type.SpecialType = SpecialType.System_Array Then
525MemberLookup.LookupDefaultProperty(result, target.Type, Me, useSiteInfo)
549LookupMember(result, target.Type, StringConstants.ElementAtMethod, 0, options, useSiteInfo)
1037Not receiver.Type.IsErrorType() Then
1044Conversions.ClassifyConversion(targetType, receiver.Type, useSiteInfo),
1529Dim type = boundArguments(i).Type
2456(param.IsExplicitByRef OrElse (argument.Type IsNot Nothing AndAlso argument.Type.IsStringType())) Then
2493If Not (argument.IsLValue() AndAlso targetType.IsSameTypeIgnoringAll(argument.Type)) Then
2615If argument.Type Is Nothing Then
2620CustomSymbolDisplayFormatter.ShortErrorName(param), argument.Type, targetType)
2765Dim argType = argument.Type
2813(param.IsExplicitByRef OrElse (argument.Type IsNot Nothing AndAlso argument.Type.IsStringType())) Then
2856Dim inPlaceholder = New BoundByRefArgumentPlaceholder(argument.Syntax, isOutParameter, argument.Type, argument.HasErrors).MakeCompilerGenerated()
2953invocation.Type)
Binding\Binder_Operators.vb (21)
70Dim targetArgumentType As TypeSymbol = targetArgument.Type
230Dim leftType As TypeSymbol = left.Type
231Dim rightType As TypeSymbol = right.Type
430If left.Type.IsNullableType Then
434If right.Type.IsNullableType Then
448type:=conversion.Type)
476type:=conversion.Type)
593Return New BoundUserDefinedBinaryOperator(node, opKind, result, CheckOverflow, result.Type)
644operatorType = bitwise.Type
708left.Type, right.Type)
912resultType = conv.Type
917resultType = conv.Type
937Dim leftType = left.Type
938Dim rightType = right.Type
1030rightType = right.Type
1073leftType = left.Type
1155Dim operandType As TypeSymbol = operand.Type
1244Return New BoundUserDefinedUnaryOperator(node, opKind, result, result.Type)
1252If operand.Type.IsErrorType() Then
1256ReportDiagnostic(diagnostics, syntax, ErrorFactory.ErrorInfo(ERRID.ERR_UnaryOperand2, syntax.OperatorToken, operand.Type))
Binding\Binder_Query.vb (107)
175If Not source.Type.IsErrorType() AndAlso source.Kind = BoundKind.QueryableSource AndAlso
181Return New BoundQueryExpression(query, source, source.Type)
238aggregationSelector.Type,
240aggregationSelector.Type)
249Dim groupReference = New BoundRValuePlaceholder(aggregate, source.Type).MakeCompilerGenerated()
271result.Type,
273result.Type)
278Return New BoundQueryExpression(query, source, If(malformedSyntax, ErrorTypeSymbol.UnknownResultType, source.Type), hasErrors:=malformedSyntax)
339letSelectorLambdaSymbol.SetQueryLambdaReturnType(letSelector.Type)
345If source.Type.IsErrorType() Then
370letSelectorLambda.Expression.Type,
405firstSelectExpression.Type)
424firstSelectExpression.Type).MakeCompilerGenerated()
535selectSelectorLambdaSymbol.SetQueryLambdaReturnType(selectSelector.Type)
540If letOperator.Type.IsErrorType() Then
561selectSelectorLambda.Expression.Type,
563underlyingExpression.Type)
585Debug.Assert(Not source.Type.IsErrorType())
635boundCallOrBadExpression.Type).MakeCompilerGenerated()
678lambdaSymbol.SetQueryLambdaReturnType(selector.Type)
684If source.Type.IsErrorType() Then
703selectorLambda.Expression.Type,
705boundCallOrBadExpression.Type)
719Dim bodyType As TypeSymbol = lambda.Expression.Type
815lambdaSymbol.SetQueryLambdaReturnType(selector.Type)
821If source.Type.IsErrorType() Then
849selectorLambda.Expression.Type,
851boundCallOrBadExpression.Type)
1130joinSelectorLambdaSymbol.SetQueryLambdaReturnType(joinSelector.Type)
1136If source.Type.IsErrorType() Then
1165joinSelectorLambda.Expression.Type,
1167boundCallOrBadExpression.Type)
1295absorbingJoin.Type)
1309absorbingJoin.Type)
1512joinSelectorLambdaSymbol.SetQueryLambdaReturnType(joinSelector.Type)
1518If outer.Type.IsErrorType() Then
1524If inner.HasErrors OrElse inner.Type.IsErrorType() OrElse
1542joinSelectorLambda.Expression.Type,
1544boundCallOrBadExpression.Type)
1701If outer.Type.IsErrorType() OrElse methodGroup Is Nothing Then
1707If inner.HasErrors OrElse inner.Type.IsErrorType() OrElse
1728intoLambda.Expression.Type,
1730boundCallOrBadExpression.Type)
1781groupCompoundVariableType = itemsLambda.Expression.Type
1786Dim intoLambda As BoundQueryLambda = BindIntoSelectorLambda(groupBy, keysRangeVariables, keysLambda.Expression.Type, False, Nothing,
1807If source.Type.IsErrorType() OrElse methodGroup Is Nothing Then
1833intoLambda.Expression.Type,
1835boundCallOrBadExpression.Type)
1883itemsLambdaSymbol.SetQueryLambdaReturnType(itemsSelector.Type)
1927keysLambdaSymbol.SetQueryLambdaReturnType(keysSelector.Type)
1955If Not source.Type.IsErrorType() Then
1970keysLambda.Expression.Type,
2031If Not outer.Type.IsErrorType() Then
2044Not inner.HasErrors AndAlso Not inner.Type.IsErrorType() Then
2149intoLambdaSymbol.SetQueryLambdaReturnType(intoSelector.Type)
2334Dim predicateType As TypeSymbol = predicate.Type
2375If source.Type.IsErrorType() Then
2396boundCallOrBadExpression.Type)
2415If source.Type.IsErrorType() Then
2432boundCallOrBadExpression.Type)
2483If source.Type.IsErrorType() Then
2487If boundCount.HasErrors OrElse (boundCount.Type IsNot Nothing AndAlso boundCount.Type.IsErrorType()) Then
2504boundCallOrBadExpression.Type)
2572If sourceOrPreviousOrdering.Type.IsErrorType() Then
2612sourceOrPreviousOrdering = New BoundOrdering(ordering, boundCallOrBadExpression, boundCallOrBadExpression.Type)
2627sourceOrPreviousOrdering.Type)
2764declaredRangeVariables = ImmutableArray.Create(RangeVariableSymbol.CreateForErrorRecovery(Me, selectorSyntax, selector.Type))
2876rangeVar = RangeVariableSymbol.Create(Me, rangeVarNameSyntax, selector.Type)
2890selector = New BoundRangeVariableAssignment(item, rangeVar, selector, selector.Type)
2910rangeVar = RangeVariableSymbol.CreateForErrorRecovery(Me, rangeVar.Syntax, selector.Type)
2918rangeVar = RangeVariableSymbol.CreateForErrorRecovery(Me, item, selector.Type)
3089groupRangeVar = RangeVariableSymbol.CreateCompilerGenerated(Me, aggregate, GeneratedNameConstants.Group, group.Type)
3319If outerKey.Type IsNot ErrorTypeSymbol.UnknownResultType Then
3322If innerKey.Type IsNot ErrorTypeSymbol.UnknownResultType Then
3351"Key" & i.ToString(), outerKeys(i).Type, joinConditions(i).GetLocation(), isKeyOrByRef:=True)
3464keysAreGood = Not (outerKey.Type.IsErrorType() OrElse innerKey.Type.IsErrorType())
3467If keysAreGood AndAlso Not outerKey.Type.IsSameTypeIgnoringAll(innerKey.Type) Then
3487targetType = innerKeyBinder.GetSpecialTypeForBinaryOperator(joinCondition, outerKey.Type, innerKey.Type, intrinsicOperatorType,
3492inferenceCollection.AddType(outerKey.Type, RequiredConversion.Any, outerKey)
3493inferenceCollection.AddType(innerKey.Type, RequiredConversion.Any, innerKey)
3511ReportDiagnostic(diagnostics, joinCondition, ERRID.ERR_EqualsTypeMismatch, outerKey.Type, innerKey.Type)
3757Return New BoundGroupAggregation(group, m_GroupReference, m_GroupReference.Type)
3808compoundKeyReferencePart1.Type,
3818compoundKeyReferencePart1.Type,
3824compoundKeyReferencePart2.Type,
3954If m_GroupReference.Type.IsErrorType() OrElse String.IsNullOrEmpty(functionAggregationSyntax.FunctionName.ValueText) Then
3975boundCallOrBadExpression.Type,
3977boundCallOrBadExpression.Type)
3987m_GroupReference.Type,
3998m_GroupReference.Type,
4056rangeVar = RangeVariableSymbol.Create(Me, rangeVarNameSyntax, selector.Type)
4069selector = New BoundRangeVariableAssignment(item, rangeVar, selector, selector.Type)
4080rangeVar = RangeVariableSymbol.CreateForErrorRecovery(Me, rangeVar.Syntax, selector.Type)
4085rangeVar = RangeVariableSymbol.CreateForErrorRecovery(Me, item, selector.Type)
4138ReportDiagnostic(diagnostics, syntax.Expression, ERRID.ERR_ExpectedQueryableSource, source.Type)
4236If(sourceIsNotQueryable, ErrorTypeSymbol.UnknownResultType, source.Type),
4253If source.Type.IsErrorType() Then
4306boundCallOrBadExpression.Type).MakeCompilerGenerated()
4326If Not source.IsValue OrElse source.Type.IsErrorType Then
4425LookupMember(lookupResult, source.Type, StringConstants.SelectMethod, 0, QueryOperatorLookupOptions, useSiteInfo)
4446Me.LookupExtensionMethods(lookupResult, source.Type, StringConstants.SelectMethod, 0, QueryOperatorLookupOptions, useSiteInfo)
4558LookupMember(lookupResult, source.Type, operatorName, 0, QueryOperatorLookupOptions, useSiteInfo)
Binding\Binder_Statements.vb (62)
711Dim redimTargetType = redimTarget.Type
775clause = New BoundAssignmentOperator(operand, target, nothingLiteral, False, target.Type, hasErrors:=True).MakeCompilerGenerated()
777ElseIf Not target.Type.IsErrorType() AndAlso
778Not target.Type.IsArrayType() AndAlso
779target.Type.SpecialType <> SpecialType.System_Array AndAlso
780target.Type.SpecialType <> SpecialType.System_Object Then
783clause = New BoundAssignmentOperator(operand, target, nothingLiteral, False, target.Type, hasErrors:=True).MakeCompilerGenerated()
787ApplyImplicitConversion(operand, target.Type, nothingLiteral, diagnostics).MakeCompilerGenerated(),
1194Debug.Assert(declarationInitializer.Type.IsSameTypeIgnoringAll(declType))
1210Not type.IsSameTypeIgnoringAll(declarationInitializer.Type) Then
1212declarationInitializer = BadExpression(asNew, declarationInitializer, declarationInitializer.Type).MakeCompilerGenerated()
1310asClauseType = valueExpression.Type
1377inferredType = inferFrom.Type
1406Dim valueType = valueExpression.Type
1408type = valueExpression.Type
1981Dim targetType As TypeSymbol = op1.Type
2018Dim targetType As TypeSymbol = assignmentTarget.Type
2114ApplyImplicitConversion(node.Right, op1.Type, op2, diagnostics, False),
2116op1.Type,
2122expr = New BoundAssignmentOperator(node, op1, op2, False, op1.Type, hasErrors:=True)
2205Dim targetType As TypeSymbol = assignmentTarget.Type
2222New BoundParenthesized(midExpression, original, original.Type),
2468Debug.Assert(TypeSymbol.Equals(targetAsEvent.Type, eventField.Type, TypeCompareKind.ConsiderEverything) OrElse eventSym.IsWindowsRuntimeEvent, "non-WinRT event should have the same type as its backing field")
2611Not boundExpression.Type.IsErrorType() AndAlso
2612Not boundExpression.Type.IsVoidType() AndAlso
2613Not boundExpression.Type.IsObjectType() Then
2643If IsOrInheritsFromOrImplementsInterface(boundExpression.Type, WellKnownType.Windows_Foundation_IAsyncAction, useSiteInfo:=useSiteInfo) OrElse
2644IsOrInheritsFromOrImplementsInterface(boundExpression.Type, WellKnownType.Windows_Foundation_IAsyncActionWithProgress_T, useSiteInfo:=useSiteInfo) OrElse
2645IsOrInheritsFromOrImplementsInterface(boundExpression.Type, WellKnownType.Windows_Foundation_IAsyncOperation_T, useSiteInfo:=useSiteInfo) OrElse
2646IsOrInheritsFromOrImplementsInterface(boundExpression.Type, WellKnownType.Windows_Foundation_IAsyncOperationWithProgress_T2, useSiteInfo:=useSiteInfo) Then
2717Debug.Assert(boundInvocation.Type Is Nothing)
3107Dim targetType = controlVariableOpt.Type
3262ReportDiagnostic(diagnostics, syntax, ERRID.ERR_ForLoopOperatorRequired2, left.Type, SyntaxFacts.GetText(OverloadResolution.GetOperatorTokenKind(opCode)))
3268If Not bestCandidate.Parameters(0).Type.IsSameTypeIgnoringAll(left.Type) OrElse
3269Not bestCandidate.Parameters(1).Type.IsSameTypeIgnoringAll(left.Type) OrElse
3270(Not isRelational AndAlso Not bestCandidate.ReturnType.IsSameTypeIgnoringAll(left.Type)) Then
3275left.Type.GetNullableUnderlyingTypeOrSelf(),
3276left.Type))
3280left.Type.GetNullableUnderlyingTypeOrSelf(),
3281left.Type))
3414Dim controlVariableType = controlVariableOpt.Type
3462Dim enumeratorType = boundGetEnumeratorCall.Type
3583controlVariable.Type,
3708Dim collectionType As TypeSymbol = collection.Type
3806collectionType = collection.Type
3870If(collectionType IsNot Nothing AndAlso collectionType.IsStringType, collectionType, collection.Type))
3882Dim enumeratorType = boundGetEnumeratorCall.Type
3939currentType = boundCurrentAccess.Type
3963Not boundGetEnumeratorCall.HasErrors AndAlso Not boundGetEnumeratorCall.Type.IsErrorType Then
3965Dim getEnumeratorReturnType = boundGetEnumeratorCall.Type
4084collectionPlaceholder = New BoundRValuePlaceholder(collectionSyntax, collection.Type)
4103Dim enumeratorType As TypeSymbol = boundGetEnumeratorCall.Type
4174currentType = boundCurrentAccess.Type
4492Dim resourceExpressionType = resourceExpression.Type
4495resourceExpression.Type,
4699Dim lockExpressionType = lockExpression.Type
4782If Not exceptionSource.IsValue OrElse exceptionSource.Type Is Nothing OrElse exceptionSource.Type.IsVoidType Then
4786exceptionType = exceptionSource.Type
4838previousType = previousBlock.ExceptionSourceOpt.Type
5028If isAsync AndAlso Not retType.IsErrorType() AndAlso methodReturnType.Equals(arg.Type) AndAlso
5185Dim exceptionType = value.Type
Binding\Binder_XmlLiterals.vb (23)
29Return New BoundXmlComment(syntax, str, objectCreation, objectCreation.Type)
53Return New BoundXmlDocument(syntax, declaration, childNodes, rewriterInfo, objectCreation.Type, rewriterInfo.HasErrors)
65Return New BoundXmlDeclaration(syntax, version, encoding, standalone, objectCreation, objectCreation.Type)
85Return New BoundXmlProcessingInstruction(syntax, target, data, objectCreation, objectCreation.Type)
180If argument.Type.IsObjectType AndAlso OptionStrict <> VisualBasic.OptionStrict.On Then
213Return New BoundXmlElement(syntax, argument, childNodes, rewriterInfo, objectCreation.Type, rewriterInfo.HasErrors)
227Dim placeholder = (New BoundRValuePlaceholder(syntax, objectCreation.Type)).MakeCompilerGenerated()
276Debug.Assert(expr.Type IsNot Nothing)
283Not expr.Type.IsIntrinsicOrEnumType() Then
326xmlnsAttributes = BindObjectCreationExpression(syntax, xmlnsAttributesPlaceholder.Type, ImmutableArray(Of BoundExpression).Empty, diagnostics).MakeCompilerGenerated()
434Dim result = New BoundXmlAttribute(syntax, prefix, [namespace], matchesImport, objectCreation, objectCreation.Type, hasErrors)
507Return New BoundXmlAttribute(syntax, name, value, matchesImport, objectCreation, objectCreation.Type)
544Debug.Assert(expr.Type IsNot Nothing)
545Return New BoundXmlEmbeddedExpression(syntax, expr, expr.Type)
643Dim receiverType = receiver.Type
677Return New BoundXmlMemberAccess(syntax, memberAccess, memberAccess.Type)
693Dim receiverType = receiver.Type
737Return New BoundXmlMemberAccess(syntax, memberAccess, memberAccess.Type)
859Return New BoundXmlName(syntax, [namespace], localName, objectCreation, objectCreation.Type)
895Return New BoundXmlNamespace(syntax, [namespace], objectCreation, objectCreation.Type)
921Return New BoundXmlCData(syntax, value, objectCreation, objectCreation.Type)
961receiverOpt.Type.IsErrorType() OrElse
962receiverOpt.Type.IsOrDerivedFrom(type, CompoundUseSiteInfo(Of AssemblySymbol).Discarded))
CodeGen\EmitExpression.vb (99)
40EmitConstantExpression(expression.Type, constantValue, used, expression.Syntax)
213Debug.Assert(Not expression.Type.IsValueType)
215If used AndAlso Not expression.Type.IsReferenceType Then
216EmitLoadIndirect(expression.Type, expression.Syntax)
223Debug.Assert(Not expression.Type.IsReferenceType)
224Debug.Assert(Not expression.Type.IsValueType)
226Dim receiverType = expression.Type
249If conditional.ReceiverOrCondition.Type.IsBooleanType() Then
277Debug.Assert(Not conditional.ReceiverOrCondition.Type.IsValueType)
289Dim receiverType As TypeSymbol = receiver.Type
398Debug.Assert(Not expression.Type.IsReferenceType)
399Debug.Assert(Not expression.Type.IsValueType)
401Dim receiverType = expression.Type
423EmitDelegateCreation(expression.ReceiverOpt, invoke, expression.Type, used, expression.Syntax)
440EmitLoadIndirect(local.Type, local.Syntax)
458If Not IsVerifierReference(receiver.Type) Then
459EmitBox(receiver.Type, receiver.Syntax)
492Dim thisType = thisRef.Type
498EmitSymbolToken(thisRef.Type, thisRef.Syntax)
518Debug.Assert(sequence.ValueOpt IsNot Nothing OrElse sequence.Type.SpecialType = SpecialType.System_Void)
565If DirectCast(arrayAccess.Expression.Type, ArrayTypeSymbol).IsSZArray Then
566Dim elementType = arrayAccess.Type
626_builder.EmitArrayElementLoad(_module.Translate(DirectCast(arrayAccess.Expression.Type, ArrayTypeSymbol)), arrayAccess.Expression.Syntax, _diagnostics)
637If Not used AndAlso Not field.IsShared AndAlso fieldAccess.ReceiverOpt.Type.IsVerifierValue() Then
666EmitLoadIndirect(dupExpression.Type, dupExpression.Syntax)
691Debug.Assert(temp Is Nothing OrElse receiver.Type.IsEnumType, "temp is unexpected, just reading a field")
717If receiver Is Nothing OrElse receiver.Type.IsReferenceType Then
723EmitSymbolToken(receiver.Type, receiver.Syntax)
746If Not receiver.Type.IsVerifierValue() Then
783If expr.Type.IsEnumType Then
788Return expr.Type.IsTypeParameter()
871If receiver.Type.IsTypeParameter() Then
875Debug.Assert(IsVerifierReference(receiver.Type), "this is not a reference")
897If Not IsVerifierReference(convOperand.Type) Then
986Dim receiverType = receiver.Type
1077Debug.Assert(receiver.Type.IsVerifierReference())
1082Debug.Assert(receiver.Type.IsVerifierReference())
1097EmitSymbolToken(receiver.Type, receiver.Syntax)
1208Debug.Assert(operand.Type.IsReferenceType AndAlso Not operand.Type.IsTypeParameter(), "operand.Type.IsReferenceType")
1214Dim typeFrom = operand.Type
1280If (IsVarianceCast(expr.Type, mergeTypeOfAlternative)) Then
1281EmitStaticCast(expr.Type, expr.Syntax)
1282mergeTypeOfAlternative = expr.Type
1297If (IsVarianceCast(expr.Type, mergeTypeOfConsequence)) Then
1298EmitStaticCast(expr.Type, expr.Syntax)
1299mergeTypeOfConsequence = expr.Type
1301ElseIf (expr.Type.IsInterfaceType() AndAlso Not TypeSymbol.Equals(expr.Type, mergeTypeOfAlternative, TypeCompareKind.ConsiderEverything) AndAlso Not TypeSymbol.Equals(expr.Type, mergeTypeOfConsequence, TypeCompareKind.ConsiderEverything)) Then
1302EmitStaticCast(expr.Type, expr.Syntax)
1323Debug.Assert(TypeSymbol.Equals(expr.Type, expr.ElseExpression.Type, TypeCompareKind.ConsiderEverything))
1324Debug.Assert(Not expr.Type.IsValueType)
1331If (IsVarianceCast(expr.Type, mergeTypeOfLeftValue)) Then
1332EmitStaticCast(expr.Type, expr.Syntax)
1333mergeTypeOfLeftValue = expr.Type
1339If (expr.Type.IsTypeParameter()) Then
1340EmitBox(expr.Type, expr.TestExpression.Syntax)
1353If (IsVarianceCast(expr.Type, mergeTypeOfRightValue)) Then
1354EmitStaticCast(expr.Type, expr.Syntax)
1355mergeTypeOfRightValue = expr.Type
1356ElseIf (expr.Type.IsInterfaceType() AndAlso Not TypeSymbol.Equals(expr.Type, mergeTypeOfLeftValue, TypeCompareKind.ConsiderEverything) AndAlso Not TypeSymbol.Equals(expr.Type, mergeTypeOfRightValue, TypeCompareKind.ConsiderEverything)) Then
1357EmitStaticCast(expr.Type, expr.Syntax)
1381If (Not (expr.Type.IsArrayType OrElse expr.Type.IsInterfaceType OrElse expr.Type.IsDelegateType)) Then
1382Return expr.Type
1431Return expr.Type
1481Dim arrayType = DirectCast(expression.Type, ArrayTypeSymbol)
1500Debug.Assert(expression.Type.SpecialType = SpecialType.System_Int32 OrElse expression.Type.SpecialType = SpecialType.System_Int64 OrElse expression.Type.SpecialType = SpecialType.System_UIntPtr)
1505Dim typeTo = expression.Type.PrimitiveTypeCode
1522EmitInitObj(expression.Type, used, expression.Syntax)
1574EmitInitObj(target.Type, True, target.Syntax)
1583EmitSymbolToken(target.Type, target.Syntax)
1679Dim rightType = right.Type
1710Return AllowedToTakeRef(left, AddressKind.Writeable) AndAlso Not (left.Kind = BoundKind.ArrayAccess AndAlso left.Type.TypeKind = TypeKind.TypeParameter)
1718Me.EmitSymbolToken(target.Type, target.Syntax)
1856temp = Me.AllocateTemp(assignmentOperator.Left.Type, assignmentOperator.Left.Syntax)
1892EmitLoadIndirect(capture.Type, capture.Syntax)
1915EmitStoreIndirect(expression.Type, expression.Syntax)
1919Dim arrayType = DirectCast(array.Type, ArrayTypeSymbol)
1942EmitStoreIndirect(expression.Type, expression.Syntax)
1956Debug.Assert(thisRef.Type.IsValueType)
1959EmitSymbolToken(thisRef.Type, thisRef.Syntax)
2101Dim type As TypeSymbol = boundTypeOfOperator.SourceType.Type
2131If Not TypeSymbol.Equals(node.Type, getField.ReturnType, TypeCompareKind.ConsiderEverything) Then
2133EmitSymbolToken(node.Type, node.Syntax)
2161If Not TypeSymbol.Equals(node.Type, getMethod.ReturnType, TypeCompareKind.ConsiderEverything) Then
2163EmitSymbolToken(node.Type, node.Syntax)
2181Debug.Assert(node.Type.SpecialType = SpecialType.System_Int32)
2197Debug.Assert(node.Type.SpecialType = SpecialType.System_Int32)
2213_builder.EmitToken(_module.GetModuleVersionId(_module.Translate(node.Type, node.Syntax, _diagnostics), node.Syntax, _diagnostics), node.Syntax, _diagnostics)
2232_builder.EmitToken(_module.GetInstrumentationPayloadRoot(node.AnalysisKind, _module.Translate(node.Type, node.Syntax, _diagnostics), node.Syntax, _diagnostics), node.Syntax, _diagnostics)
2236Debug.Assert(node.Type.SpecialType = SpecialType.System_Int32)
CodeGen\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)
Generated\BoundNodes.xml.Generated.vb (344)
295If type IsNot Me.Type Then
354If underlyingLValue IsNot Me.UnderlyingLValue OrElse type IsNot Me.Type Then
425If type IsNot Me.Type Then
458If type IsNot Me.Type Then
498If type IsNot Me.Type Then
538If type IsNot Me.Type Then
574If isReference <> Me.IsReference OrElse type IsNot Me.Type Then
630If resultKind <> Me.ResultKind OrElse symbols <> Me.Symbols OrElse childBoundNodes <> Me.ChildBoundNodes OrElse type IsNot Me.Type Then
703If expression IsNot Me.Expression OrElse type IsNot Me.Type Then
745If expression IsNot Me.Expression OrElse isLValue <> Me.IsLValue OrElse type IsNot Me.Type Then
802If expression IsNot Me.Expression OrElse indices <> Me.Indices OrElse isLValue <> Me.IsLValue OrElse type IsNot Me.Type Then
837If expression IsNot Me.Expression OrElse type IsNot Me.Type Then
872If sourceType IsNot Me.SourceType OrElse type IsNot Me.Type Then
916If field IsNot Me.Field OrElse type IsNot Me.Type Then
960If method IsNot Me.Method OrElse type IsNot Me.Type Then
1002If unevaluatedReceiverOpt IsNot Me.UnevaluatedReceiverOpt OrElse aliasOpt IsNot Me.AliasOpt OrElse type IsNot Me.Type Then
1044If data <> Me.Data OrElse type IsNot Me.Type Then
1143If method IsNot Me.Method OrElse type IsNot Me.Type Then
1176If type IsNot Me.Type Then
1227If analysisKind <> Me.AnalysisKind OrElse isLValue <> Me.IsLValue OrElse type IsNot Me.Type Then
1269If isLValue <> Me.IsLValue OrElse type IsNot Me.Type Then
1302If type IsNot Me.Type Then
1346If document IsNot Me.Document OrElse type IsNot Me.Type Then
1410If operatorKind <> Me.OperatorKind OrElse operand IsNot Me.Operand OrElse checked <> Me.Checked OrElse constantValueOpt IsNot Me.ConstantValueOpt OrElse type IsNot Me.Type Then
1458If operatorKind <> Me.OperatorKind OrElse underlyingExpression IsNot Me.UnderlyingExpression OrElse type IsNot Me.Type Then
1498If operand IsNot Me.Operand OrElse type IsNot Me.Type Then
1571If operatorKind <> Me.OperatorKind OrElse left IsNot Me.Left OrElse right IsNot Me.Right OrElse checked <> Me.Checked OrElse constantValueOpt IsNot Me.ConstantValueOpt OrElse type IsNot Me.Type Then
1627If operatorKind <> Me.OperatorKind OrElse underlyingExpression IsNot Me.UnderlyingExpression OrElse checked <> Me.Checked OrElse type IsNot Me.Type Then
1691If leftOperand IsNot Me.LeftOperand OrElse leftOperandPlaceholder IsNot Me.LeftOperandPlaceholder OrElse leftTest IsNot Me.LeftTest OrElse bitwiseOperator IsNot Me.BitwiseOperator OrElse type IsNot Me.Type Then
1724If type IsNot Me.Type Then
1789If left IsNot Me.Left OrElse leftOnTheRightOpt IsNot Me.LeftOnTheRightOpt OrElse right IsNot Me.Right OrElse suppressObjectClone <> Me.SuppressObjectClone OrElse type IsNot Me.Type Then
1845If byRefLocal IsNot Me.ByRefLocal OrElse lValue IsNot Me.LValue OrElse isLValue <> Me.IsLValue OrElse type IsNot Me.Type Then
1962If condition IsNot Me.Condition OrElse whenTrue IsNot Me.WhenTrue OrElse whenFalse IsNot Me.WhenFalse OrElse constantValueOpt IsNot Me.ConstantValueOpt OrElse type IsNot Me.Type Then
2035If testExpression IsNot Me.TestExpression OrElse convertedTestExpression IsNot Me.ConvertedTestExpression OrElse testExpressionPlaceholder IsNot Me.TestExpressionPlaceholder OrElse elseExpression IsNot Me.ElseExpression OrElse constantValueOpt IsNot Me.ConstantValueOpt OrElse type IsNot Me.Type Then
2134If operand IsNot Me.Operand OrElse conversionKind <> Me.ConversionKind OrElse checked <> Me.Checked OrElse explicitCastInCode <> Me.ExplicitCastInCode OrElse constantValueOpt IsNot Me.ConstantValueOpt OrElse extendedInfoOpt IsNot Me.ExtendedInfoOpt OrElse type IsNot Me.Type Then
2285If underlyingExpression IsNot Me.UnderlyingExpression OrElse inOutConversionFlags <> Me.InOutConversionFlags OrElse type IsNot Me.Type Then
2357If operand IsNot Me.Operand OrElse conversionKind <> Me.ConversionKind OrElse suppressVirtualCalls <> Me.SuppressVirtualCalls OrElse constantValueOpt IsNot Me.ConstantValueOpt OrElse relaxationLambdaOpt IsNot Me.RelaxationLambdaOpt OrElse type IsNot Me.Type Then
2421If operand IsNot Me.Operand OrElse conversionKind <> Me.ConversionKind OrElse constantValueOpt IsNot Me.ConstantValueOpt OrElse relaxationLambdaOpt IsNot Me.RelaxationLambdaOpt OrElse type IsNot Me.Type Then
2473If operand IsNot Me.Operand OrElse isTypeOfIsNotExpression <> Me.IsTypeOfIsNotExpression OrElse targetType IsNot Me.TargetType OrElse type IsNot Me.Type Then
2551If expression IsNot Me.Expression OrElse type IsNot Me.Type Then
3102If method IsNot Me.Method OrElse methodGroupOpt IsNot Me.MethodGroupOpt OrElse receiverOpt IsNot Me.ReceiverOpt OrElse arguments <> Me.Arguments OrElse defaultArguments <> Me.DefaultArguments OrElse constantValueOpt IsNot Me.ConstantValueOpt OrElse isLValue <> Me.IsLValue OrElse suppressObjectClone <> Me.SuppressObjectClone OrElse type IsNot Me.Type Then
3170If constructor IsNot Me.Constructor OrElse constructorArguments <> Me.ConstructorArguments OrElse constructorDefaultArguments <> Me.ConstructorDefaultArguments OrElse namedArguments <> Me.NamedArguments OrElse resultKind <> Me.ResultKind OrElse type IsNot Me.Type Then
3241If nameOpt IsNot Me.NameOpt OrElse containerTypeOpt IsNot Me.ContainerTypeOpt OrElse receiverOpt IsNot Me.ReceiverOpt OrElse typeArgumentsOpt IsNot Me.TypeArgumentsOpt OrElse accessKind <> Me.AccessKind OrElse type IsNot Me.Type Then
3313If member IsNot Me.Member OrElse argumentsOpt <> Me.ArgumentsOpt OrElse argumentNamesOpt <> Me.ArgumentNamesOpt OrElse accessKind <> Me.AccessKind OrElse methodOrPropertyGroupOpt IsNot Me.MethodOrPropertyGroupOpt OrElse type IsNot Me.Type Then
3356If binder IsNot Me.Binder OrElse memberAccess IsNot Me.MemberAccess OrElse type IsNot Me.Type Then
3426If inferredType IsNot Me.InferredType OrElse argumentNamesOpt <> Me.ArgumentNamesOpt OrElse inferredNamesOpt <> Me.InferredNamesOpt OrElse arguments <> Me.Arguments OrElse type IsNot Me.Type Then
3461If naturalTypeOpt IsNot Me.NaturalTypeOpt OrElse arguments <> Me.Arguments OrElse type IsNot Me.Type Then
3550If constructorOpt IsNot Me.ConstructorOpt OrElse methodGroupOpt IsNot Me.MethodGroupOpt OrElse arguments <> Me.Arguments OrElse defaultArguments <> Me.DefaultArguments OrElse initializerOpt IsNot Me.InitializerOpt OrElse type IsNot Me.Type Then
3584If guidString IsNot Me.GuidString OrElse initializerOpt IsNot Me.InitializerOpt OrElse type IsNot Me.Type Then
3635If binderOpt IsNot Me.BinderOpt OrElse declarations <> Me.Declarations OrElse arguments <> Me.Arguments OrElse type IsNot Me.Type Then
3686If binder IsNot Me.Binder OrElse propertyIndex <> Me.PropertyIndex OrElse type IsNot Me.Type Then
3729If binder IsNot Me.Binder OrElse value IsNot Me.Value OrElse type IsNot Me.Type Then
3796If createTemporaryLocalForInitialization <> Me.CreateTemporaryLocalForInitialization OrElse placeholderOpt IsNot Me.PlaceholderOpt OrElse initializers <> Me.Initializers OrElse type IsNot Me.Type Then
3827If placeholderOpt IsNot Me.PlaceholderOpt OrElse initializers <> Me.Initializers OrElse type IsNot Me.Type Then
3858If initializerOpt IsNot Me.InitializerOpt OrElse type IsNot Me.Type Then
3925If receiverOpt IsNot Me.ReceiverOpt OrElse method IsNot Me.Method OrElse relaxationLambdaOpt IsNot Me.RelaxationLambdaOpt OrElse relaxationReceiverPlaceholderOpt IsNot Me.RelaxationReceiverPlaceholderOpt OrElse methodGroupOpt IsNot Me.MethodGroupOpt OrElse type IsNot Me.Type Then
3997If isParamArrayArgument <> Me.IsParamArrayArgument OrElse bounds <> Me.Bounds OrElse initializerOpt IsNot Me.InitializerOpt OrElse arrayLiteralOpt IsNot Me.ArrayLiteralOpt OrElse arrayLiteralConversion <> Me.ArrayLiteralConversion OrElse type IsNot Me.Type Then
4108If initializers <> Me.Initializers OrElse type IsNot Me.Type Then
4180If receiverOpt IsNot Me.ReceiverOpt OrElse fieldSymbol IsNot Me.FieldSymbol OrElse isLValue <> Me.IsLValue OrElse suppressVirtualCalls <> Me.SuppressVirtualCalls OrElse constantsInProgressOpt IsNot Me.ConstantsInProgressOpt OrElse type IsNot Me.Type Then
4277If propertySymbol IsNot Me.PropertySymbol OrElse propertyGroupOpt IsNot Me.PropertyGroupOpt OrElse accessKind <> Me.AccessKind OrElse isWriteable <> Me.IsWriteable OrElse isLValue <> Me.IsLValue OrElse receiverOpt IsNot Me.ReceiverOpt OrElse arguments <> Me.Arguments OrElse defaultArguments <> Me.DefaultArguments OrElse type IsNot Me.Type Then
4320If receiverOpt IsNot Me.ReceiverOpt OrElse eventSymbol IsNot Me.EventSymbol OrElse type IsNot Me.Type Then
4850If locals <> Me.Locals OrElse sideEffects <> Me.SideEffects OrElse valueOpt IsNot Me.ValueOpt OrElse type IsNot Me.Type Then
5918If value IsNot Me.Value OrElse type IsNot Me.Type Then
5951If type IsNot Me.Type Then
5991If type IsNot Me.Type Then
6024If type IsNot Me.Type Then
6057If type IsNot Me.Type Then
6101If sourceType IsNot Me.SourceType OrElse type IsNot Me.Type Then
6134If type IsNot Me.Type Then
6194If localSymbol IsNot Me.LocalSymbol OrElse isLValue <> Me.IsLValue OrElse type IsNot Me.Type Then
6258If localSymbol IsNot Me.LocalSymbol OrElse isLValue <> Me.IsLValue OrElse emitExpressions IsNot Me.EmitExpressions OrElse type IsNot Me.Type Then
6320If parameterSymbol IsNot Me.ParameterSymbol OrElse isLValue <> Me.IsLValue OrElse suppressVirtualCalls <> Me.SuppressVirtualCalls OrElse type IsNot Me.Type Then
6362If isOut <> Me.IsOut OrElse type IsNot Me.Type Then
6437If originalArgument IsNot Me.OriginalArgument OrElse inConversion IsNot Me.InConversion OrElse inPlaceholder IsNot Me.InPlaceholder OrElse outConversion IsNot Me.OutConversion OrElse outPlaceholder IsNot Me.OutPlaceholder OrElse type IsNot Me.Type Then
6485If originalArgument IsNot Me.OriginalArgument OrElse localSymbol IsNot Me.LocalSymbol OrElse type IsNot Me.Type Then
6569If label IsNot Me.Label OrElse type IsNot Me.Type Then
6952If lastOperator IsNot Me.LastOperator OrElse type IsNot Me.Type Then
7006If expression IsNot Me.Expression OrElse type IsNot Me.Type Then
7041If conversionCall IsNot Me.ConversionCall OrElse type IsNot Me.Type Then
7144If source IsNot Me.Source OrElse rangeVariableOpt IsNot Me.RangeVariableOpt OrElse rangeVariables <> Me.RangeVariables OrElse compoundVariableType IsNot Me.CompoundVariableType OrElse binders <> Me.Binders OrElse type IsNot Me.Type Then
7182If underlyingExpression IsNot Me.UnderlyingExpression OrElse rangeVariables <> Me.RangeVariables OrElse compoundVariableType IsNot Me.CompoundVariableType OrElse binders <> Me.Binders OrElse type IsNot Me.Type Then
7217If underlyingExpression IsNot Me.UnderlyingExpression OrElse type IsNot Me.Type Then
7321If rangeVariable IsNot Me.RangeVariable OrElse value IsNot Me.Value OrElse type IsNot Me.Type Then
7439If capturedGroupOpt IsNot Me.CapturedGroupOpt OrElse groupPlaceholderOpt IsNot Me.GroupPlaceholderOpt OrElse underlyingExpression IsNot Me.UnderlyingExpression OrElse rangeVariables <> Me.RangeVariables OrElse compoundVariableType IsNot Me.CompoundVariableType OrElse binders <> Me.Binders OrElse type IsNot Me.Type Then
7474If group IsNot Me.Group OrElse type IsNot Me.Type Then
7518If rangeVariable IsNot Me.RangeVariable OrElse type IsNot Me.Type Then
7808If xmlNamespace IsNot Me.XmlNamespace OrElse localName IsNot Me.LocalName OrElse objectCreation IsNot Me.ObjectCreation OrElse type IsNot Me.Type Then
7852If xmlNamespace IsNot Me.XmlNamespace OrElse objectCreation IsNot Me.ObjectCreation OrElse type IsNot Me.Type Then
7905If declaration IsNot Me.Declaration OrElse childNodes <> Me.ChildNodes OrElse rewriterInfo IsNot Me.RewriterInfo OrElse type IsNot Me.Type Then
7964If version IsNot Me.Version OrElse encoding IsNot Me.Encoding OrElse standalone IsNot Me.Standalone OrElse objectCreation IsNot Me.ObjectCreation OrElse type IsNot Me.Type Then
8017If target IsNot Me.Target OrElse data IsNot Me.Data OrElse objectCreation IsNot Me.ObjectCreation OrElse type IsNot Me.Type Then
8061If value IsNot Me.Value OrElse objectCreation IsNot Me.ObjectCreation OrElse type IsNot Me.Type Then
8127If name IsNot Me.Name OrElse value IsNot Me.Value OrElse matchesImport <> Me.MatchesImport OrElse objectCreation IsNot Me.ObjectCreation OrElse type IsNot Me.Type Then
8180If argument IsNot Me.Argument OrElse childNodes <> Me.ChildNodes OrElse rewriterInfo IsNot Me.RewriterInfo OrElse type IsNot Me.Type Then
8215If memberAccess IsNot Me.MemberAccess OrElse type IsNot Me.Type Then
8250If expression IsNot Me.Expression OrElse type IsNot Me.Type Then
8294If value IsNot Me.Value OrElse objectCreation IsNot Me.ObjectCreation OrElse type IsNot Me.Type Then
8518If activeHandlerLocal IsNot Me.ActiveHandlerLocal OrElse resumeTargetLocal IsNot Me.ResumeTargetLocal OrElse type IsNot Me.Type Then
8717If operand IsNot Me.Operand OrElse awaitableInstancePlaceholder IsNot Me.AwaitableInstancePlaceholder OrElse getAwaiter IsNot Me.GetAwaiter OrElse awaiterInstancePlaceholder IsNot Me.AwaiterInstancePlaceholder OrElse isCompleted IsNot Me.IsCompleted OrElse getResult IsNot Me.GetResult OrElse type IsNot Me.Type Then
8782If locals <> Me.Locals OrElse spillFields <> Me.SpillFields OrElse statements <> Me.Statements OrElse valueOpt IsNot Me.ValueOpt OrElse type IsNot Me.Type Then
8884If original IsNot Me.Original OrElse start IsNot Me.Start OrElse lengthOpt IsNot Me.LengthOpt OrElse source IsNot Me.Source OrElse type IsNot Me.Type Then
8936If receiver IsNot Me.Receiver OrElse placeholder IsNot Me.Placeholder OrElse accessExpression IsNot Me.AccessExpression OrElse type IsNot Me.Type Then
8985If placeholderId <> Me.PlaceholderId OrElse type IsNot Me.Type Then
9058If receiverOrCondition IsNot Me.ReceiverOrCondition OrElse captureReceiver <> Me.CaptureReceiver OrElse placeholderId <> Me.PlaceholderId OrElse whenNotNull IsNot Me.WhenNotNull OrElse whenNullOpt IsNot Me.WhenNullOpt OrElse type IsNot Me.Type Then
9107If valueTypeReceiver IsNot Me.ValueTypeReceiver OrElse referenceTypeReceiver IsNot Me.ReferenceTypeReceiver OrElse type IsNot Me.Type Then
9155If argument IsNot Me.Argument OrElse constantValueOpt IsNot Me.ConstantValueOpt OrElse type IsNot Me.Type Then
9195If expression IsNot Me.Expression OrElse type IsNot Me.Type Then
9244If contents <> Me.Contents OrElse binder IsNot Me.Binder OrElse type IsNot Me.Type Then
12022Dim type as TypeSymbol = Me.VisitType(node.Type)
12027Dim type as TypeSymbol = Me.VisitType(node.Type)
12033Dim type as TypeSymbol = Me.VisitType(node.Type)
12038Dim type as TypeSymbol = Me.VisitType(node.Type)
12043Dim type as TypeSymbol = Me.VisitType(node.Type)
12048Dim type as TypeSymbol = Me.VisitType(node.Type)
12053Dim type as TypeSymbol = Me.VisitType(node.Type)
12058Dim type as TypeSymbol = Me.VisitType(node.Type)
12064Dim type as TypeSymbol = Me.VisitType(node.Type)
12075Dim type as TypeSymbol = Me.VisitType(node.Type)
12081Dim type as TypeSymbol = Me.VisitType(node.Type)
12088Dim type as TypeSymbol = Me.VisitType(node.Type)
12094Dim type as TypeSymbol = Me.VisitType(node.Type)
12100Dim type as TypeSymbol = Me.VisitType(node.Type)
12105Dim type as TypeSymbol = Me.VisitType(node.Type)
12110Dim type as TypeSymbol = Me.VisitType(node.Type)
12116Dim type as TypeSymbol = Me.VisitType(node.Type)
12121Dim type as TypeSymbol = Me.VisitType(node.Type)
12127Dim type as TypeSymbol = Me.VisitType(node.Type)
12132Dim type as TypeSymbol = Me.VisitType(node.Type)
12137Dim type as TypeSymbol = Me.VisitType(node.Type)
12142Dim type as TypeSymbol = Me.VisitType(node.Type)
12147Dim type as TypeSymbol = Me.VisitType(node.Type)
12152Dim type as TypeSymbol = Me.VisitType(node.Type)
12157Dim type as TypeSymbol = Me.VisitType(node.Type)
12163Dim type as TypeSymbol = Me.VisitType(node.Type)
12169Dim type as TypeSymbol = Me.VisitType(node.Type)
12175Dim type as TypeSymbol = Me.VisitType(node.Type)
12182Dim type as TypeSymbol = Me.VisitType(node.Type)
12188Dim type as TypeSymbol = Me.VisitType(node.Type)
12197Dim type as TypeSymbol = Me.VisitType(node.Type)
12202Dim type as TypeSymbol = Me.VisitType(node.Type)
12210Dim type as TypeSymbol = Me.VisitType(node.Type)
12217Dim type as TypeSymbol = Me.VisitType(node.Type)
12223Dim type as TypeSymbol = Me.VisitType(node.Type)
12231Dim type as TypeSymbol = Me.VisitType(node.Type)
12240Dim type as TypeSymbol = Me.VisitType(node.Type)
12247Dim type as TypeSymbol = Me.VisitType(node.Type)
12265Dim type as TypeSymbol = Me.VisitType(node.Type)
12272Dim type as TypeSymbol = Me.VisitType(node.Type)
12279Dim type as TypeSymbol = Me.VisitType(node.Type)
12286Dim type as TypeSymbol = Me.VisitType(node.Type)
12297Dim type as TypeSymbol = Me.VisitType(node.Type)
12313Dim type as TypeSymbol = Me.VisitType(node.Type)
12319Dim type as TypeSymbol = Me.VisitType(node.Type)
12358Dim type as TypeSymbol = Me.VisitType(node.Type)
12365Dim type as TypeSymbol = Me.VisitType(node.Type)
12373Dim type as TypeSymbol = Me.VisitType(node.Type)
12381Dim type as TypeSymbol = Me.VisitType(node.Type)
12387Dim type as TypeSymbol = Me.VisitType(node.Type)
12393Dim type as TypeSymbol = Me.VisitType(node.Type)
12400Dim type as TypeSymbol = Me.VisitType(node.Type)
12408Dim type as TypeSymbol = Me.VisitType(node.Type)
12414Dim type as TypeSymbol = Me.VisitType(node.Type)
12421Dim type as TypeSymbol = Me.VisitType(node.Type)
12426Dim type as TypeSymbol = Me.VisitType(node.Type)
12432Dim type as TypeSymbol = Me.VisitType(node.Type)
12439Dim type as TypeSymbol = Me.VisitType(node.Type)
12446Dim type as TypeSymbol = Me.VisitType(node.Type)
12452Dim type as TypeSymbol = Me.VisitType(node.Type)
12461Dim type as TypeSymbol = Me.VisitType(node.Type)
12469Dim type as TypeSymbol = Me.VisitType(node.Type)
12476Dim type as TypeSymbol = Me.VisitType(node.Type)
12482Dim type as TypeSymbol = Me.VisitType(node.Type)
12488Dim type as TypeSymbol = Me.VisitType(node.Type)
12496Dim type as TypeSymbol = Me.VisitType(node.Type)
12502Dim type as TypeSymbol = Me.VisitType(node.Type)
12563Dim type as TypeSymbol = Me.VisitType(node.Type)
12684Dim type as TypeSymbol = Me.VisitType(node.Type)
12689Dim type as TypeSymbol = Me.VisitType(node.Type)
12694Dim type as TypeSymbol = Me.VisitType(node.Type)
12699Dim type as TypeSymbol = Me.VisitType(node.Type)
12704Dim type as TypeSymbol = Me.VisitType(node.Type)
12709Dim type as TypeSymbol = Me.VisitType(node.Type)
12714Dim type as TypeSymbol = Me.VisitType(node.Type)
12719Dim type as TypeSymbol = Me.VisitType(node.Type)
12724Dim type as TypeSymbol = Me.VisitType(node.Type)
12729Dim type as TypeSymbol = Me.VisitType(node.Type)
12734Dim type as TypeSymbol = Me.VisitType(node.Type)
12744Dim type as TypeSymbol = Me.VisitType(node.Type)
12750Dim type as TypeSymbol = Me.VisitType(node.Type)
12759Dim type as TypeSymbol = Me.VisitType(node.Type)
12786Dim type as TypeSymbol = Me.VisitType(node.Type)
12792Dim type as TypeSymbol = Me.VisitType(node.Type)
12798Dim type as TypeSymbol = Me.VisitType(node.Type)
12804Dim type as TypeSymbol = Me.VisitType(node.Type)
12810Dim type as TypeSymbol = Me.VisitType(node.Type)
12817Dim type as TypeSymbol = Me.VisitType(node.Type)
12824Dim type as TypeSymbol = Me.VisitType(node.Type)
12830Dim type as TypeSymbol = Me.VisitType(node.Type)
12836Dim type as TypeSymbol = Me.VisitType(node.Type)
12842Dim type as TypeSymbol = Me.VisitType(node.Type)
12847Dim type as TypeSymbol = Me.VisitType(node.Type)
12856Dim type as TypeSymbol = Me.VisitType(node.Type)
12862Dim type as TypeSymbol = Me.VisitType(node.Type)
12867Dim type as TypeSymbol = Me.VisitType(node.Type)
12905Dim type as TypeSymbol = Me.VisitType(node.Type)
12912Dim type as TypeSymbol = Me.VisitType(node.Type)
12919Dim type as TypeSymbol = Me.VisitType(node.Type)
12928Dim type as TypeSymbol = Me.VisitType(node.Type)
12936Dim type as TypeSymbol = Me.VisitType(node.Type)
12943Dim type as TypeSymbol = Me.VisitType(node.Type)
12951Dim type as TypeSymbol = Me.VisitType(node.Type)
12958Dim type as TypeSymbol = Me.VisitType(node.Type)
12964Dim type as TypeSymbol = Me.VisitType(node.Type)
12970Dim type as TypeSymbol = Me.VisitType(node.Type)
12977Dim type as TypeSymbol = Me.VisitType(node.Type)
12999Dim type as TypeSymbol = Me.VisitType(node.Type)
13024Dim type as TypeSymbol = Me.VisitType(node.Type)
13031Dim type as TypeSymbol = Me.VisitType(node.Type)
13048Dim type as TypeSymbol = Me.VisitType(node.Type)
13056Dim type as TypeSymbol = Me.VisitType(node.Type)
13061Dim type as TypeSymbol = Me.VisitType(node.Type)
13069Dim type as TypeSymbol = Me.VisitType(node.Type)
13076Dim type as TypeSymbol = Me.VisitType(node.Type)
13082Dim type as TypeSymbol = Me.VisitType(node.Type)
13088Dim type as TypeSymbol = Me.VisitType(node.Type)
13094Dim type as TypeSymbol = Me.VisitType(node.Type)
13120New TreeDumperNode("type", node.Type, Nothing)
13126New TreeDumperNode("type", node.Type, Nothing)
13133New TreeDumperNode("type", node.Type, Nothing)
13139New TreeDumperNode("type", node.Type, Nothing)
13145New TreeDumperNode("type", node.Type, Nothing)
13151New TreeDumperNode("type", node.Type, Nothing)
13157New TreeDumperNode("type", node.Type, Nothing)
13164New TreeDumperNode("type", node.Type, Nothing)
13173New TreeDumperNode("type", node.Type, Nothing)
13186New TreeDumperNode("type", node.Type, Nothing)
13194New TreeDumperNode("type", node.Type, Nothing)
13203New TreeDumperNode("type", node.Type, Nothing)
13210New TreeDumperNode("type", node.Type, Nothing)
13217New TreeDumperNode("type", node.Type, Nothing)
13224New TreeDumperNode("type", node.Type, Nothing)
13231New TreeDumperNode("type", node.Type, Nothing)
13239New TreeDumperNode("type", node.Type, Nothing)
13246New TreeDumperNode("type", node.Type, Nothing)
13255New TreeDumperNode("type", node.Type, Nothing)
13262New TreeDumperNode("type", node.Type, Nothing)
13268New TreeDumperNode("type", node.Type, Nothing)
13276New TreeDumperNode("type", node.Type, Nothing)
13283New TreeDumperNode("type", node.Type, Nothing)
13289New TreeDumperNode("type", node.Type, Nothing)
13296New TreeDumperNode("type", node.Type, Nothing)
13306New TreeDumperNode("type", node.Type, Nothing)
13314New TreeDumperNode("type", node.Type, Nothing)
13321New TreeDumperNode("type", node.Type, Nothing)
13332New TreeDumperNode("type", node.Type, Nothing)
13341New TreeDumperNode("type", node.Type, Nothing)
13351New TreeDumperNode("type", node.Type, Nothing)
13357New TreeDumperNode("type", node.Type, Nothing)
13367New TreeDumperNode("type", node.Type, Nothing)
13376New TreeDumperNode("type", node.Type, Nothing)
13385New TreeDumperNode("type", node.Type, Nothing)
13395New TreeDumperNode("type", node.Type, Nothing)
13406New TreeDumperNode("type", node.Type, Nothing)
13418New TreeDumperNode("type", node.Type, Nothing)
13440New TreeDumperNode("type", node.Type, Nothing)
13451New TreeDumperNode("type", node.Type, Nothing)
13461New TreeDumperNode("type", node.Type, Nothing)
13470New TreeDumperNode("type", node.Type, Nothing)
13483New TreeDumperNode("type", node.Type, Nothing)
13508New TreeDumperNode("type", node.Type, Nothing)
13518New TreeDumperNode("type", node.Type, Nothing)
13573New TreeDumperNode("type", node.Type, Nothing)
13584New TreeDumperNode("type", node.Type, Nothing)
13595New TreeDumperNode("type", node.Type, Nothing)
13606New TreeDumperNode("type", node.Type, Nothing)
13614New TreeDumperNode("type", node.Type, Nothing)
13624New TreeDumperNode("type", node.Type, Nothing)
13632New TreeDumperNode("type", node.Type, Nothing)
13643New TreeDumperNode("type", node.Type, Nothing)
13651New TreeDumperNode("type", node.Type, Nothing)
13660New TreeDumperNode("type", node.Type, Nothing)
13668New TreeDumperNode("type", node.Type, Nothing)
13676New TreeDumperNode("type", node.Type, Nothing)
13685New TreeDumperNode("type", node.Type, Nothing)
13693New TreeDumperNode("type", node.Type, Nothing)
13700New TreeDumperNode("type", node.Type, Nothing)
13711New TreeDumperNode("type", node.Type, Nothing)
13722New TreeDumperNode("type", node.Type, Nothing)
13734New TreeDumperNode("type", node.Type, Nothing)
13741New TreeDumperNode("type", node.Type, Nothing)
13752New TreeDumperNode("type", node.Type, Nothing)
13766New TreeDumperNode("type", node.Type, Nothing)
13774New TreeDumperNode("type", node.Type, Nothing)
13857New TreeDumperNode("type", node.Type, Nothing)
14019New TreeDumperNode("type", node.Type, Nothing)
14025New TreeDumperNode("type", node.Type, Nothing)
14031New TreeDumperNode("type", node.Type, Nothing)
14037New TreeDumperNode("type", node.Type, Nothing)
14043New TreeDumperNode("type", node.Type, Nothing)
14050New TreeDumperNode("type", node.Type, Nothing)
14056New TreeDumperNode("type", node.Type, Nothing)
14064New TreeDumperNode("type", node.Type, Nothing)
14073New TreeDumperNode("type", node.Type, Nothing)
14082New TreeDumperNode("type", node.Type, Nothing)
14089New TreeDumperNode("type", node.Type, Nothing)
14100New TreeDumperNode("type", node.Type, Nothing)
14108New TreeDumperNode("type", node.Type, Nothing)
14121New TreeDumperNode("type", node.Type, Nothing)
14161New TreeDumperNode("type", node.Type, Nothing)
14173New TreeDumperNode("type", node.Type, Nothing)
14180New TreeDumperNode("type", node.Type, Nothing)
14187New TreeDumperNode("type", node.Type, Nothing)
14194New TreeDumperNode("type", node.Type, Nothing)
14205New TreeDumperNode("type", node.Type, Nothing)
14215New TreeDumperNode("type", node.Type, Nothing)
14222New TreeDumperNode("type", node.Type, Nothing)
14232New TreeDumperNode("type", node.Type, Nothing)
14240New TreeDumperNode("type", node.Type, Nothing)
14249New TreeDumperNode("type", node.Type, Nothing)
14261New TreeDumperNode("type", node.Type, Nothing)
14268New TreeDumperNode("type", node.Type, Nothing)
14275New TreeDumperNode("type", node.Type, Nothing)
14322New TreeDumperNode("type", node.Type, Nothing)
14330New TreeDumperNode("type", node.Type, Nothing)
14339New TreeDumperNode("type", node.Type, Nothing)
14349New TreeDumperNode("type", node.Type, Nothing)
14358New TreeDumperNode("type", node.Type, Nothing)
14366New TreeDumperNode("type", node.Type, Nothing)
14376New TreeDumperNode("type", node.Type, Nothing)
14385New TreeDumperNode("type", node.Type, Nothing)
14392New TreeDumperNode("type", node.Type, Nothing)
14399New TreeDumperNode("type", node.Type, Nothing)
14407New TreeDumperNode("type", node.Type, Nothing)
14441New TreeDumperNode("type", node.Type, Nothing)
14469New TreeDumperNode("type", node.Type, Nothing)
14479New TreeDumperNode("type", node.Type, Nothing)
14497New TreeDumperNode("type", node.Type, Nothing)
14506New TreeDumperNode("type", node.Type, Nothing)
14513New TreeDumperNode("type", node.Type, Nothing)
14524New TreeDumperNode("type", node.Type, Nothing)
14532New TreeDumperNode("type", node.Type, Nothing)
14540New TreeDumperNode("type", node.Type, Nothing)
14547New TreeDumperNode("type", node.Type, Nothing)
14555New TreeDumperNode("type", node.Type, Nothing)
Lowering\AsyncRewriter\AsyncRewriter.AsyncMethodToClassRewriter.Spilling.vb (8)
194newArgs(index) = nestedInitializer.Update(newInitializers, nestedInitializer.Type)
257If isReceiver AndAlso expr.Type.IsReferenceType AndAlso
258Not expr.Type.IsTypeParameter() Then ' Skip type parameters to enforce Dev12 behavior
302array = array.Update(spilledExpression, spilledIndices.AsImmutableOrNull, array.IsLValue, array.Type)
332fieldAccess.Type)
371Return arrayInit.Update(SpillExpressionList(builder, arrayInit.Initializers, firstArgumentIsAReceiverOfAMethodCall:=False), arrayInit.Type)
387Dim spillField As FieldSymbol = Me._spillFieldAllocator.AllocateField(expr.Type)
551Return spill.Update(spill.Locals, spill.SpillFields, spill.Statements, newValue, newValue.Type)
Lowering\ExpressionLambdaRewriter\ExpressionLambdaRewriter_BinaryOperator.vb (23)
127Return VisitInternal(AdjustCallForLiftedOperator(opKind, [call], node.Type))
135Dim resultType As TypeSymbol = node.Type
150Dim operandType As TypeSymbol = originalLeft.Type
161If originalRight.Type.IsNullableType Then
162Debug.Assert(originalLeft.Type Is Nothing OrElse originalLeft.Type.IsObjectType)
163left = CreateLiteralExpression(originalLeft, originalRight.Type)
164operandType = originalRight.Type
168If originalLeft.Type.IsNullableType Then
169Debug.Assert(originalRight.Type Is Nothing OrElse originalRight.Type.IsObjectType)
170right = CreateLiteralExpression(originalRight, originalLeft.Type)
182Debug.Assert(TypeSymbol.Equals(operandType, originalLeft.Type, TypeCompareKind.ConsiderEverything))
187Debug.Assert(TypeSymbol.Equals(operandType, originalRight.Type, TypeCompareKind.ConsiderEverything))
269Dim resultType As TypeSymbol = node.Type
280Debug.Assert(TypeSymbol.Equals(resultType, originalLeft.Type, TypeCompareKind.ConsiderEverything))
284Debug.Assert(TypeSymbol.Equals(resultType, originalRight.Type, TypeCompareKind.ConsiderEverything))
309Dim resultType As TypeSymbol = node.Type
426Dim operandType As TypeSymbol = operand.Type
429Debug.Assert(conversion.Type.IsNullableType AndAlso conversion.Type.GetNullableUnderlyingType.SpecialType = SpecialType.System_Int32)
641Debug.Assert(oldArg.Type.IsNullableType)
643Debug.Assert(TypeSymbol.Equals(oldArg.Type.GetNullableUnderlyingTypeOrSelf(), parameterType, TypeCompareKind.ConsiderEverything))
Lowering\ExpressionLambdaRewriter\ExpressionLambdaRewriter_Conversion.vb (10)
21If Conversions.IsIdentityConversion(node.ConversionKind) AndAlso Not node.Type.IsFloatingType() Then
26Return ConvertExpression(node.Operand, node.ConversionKind, node.Operand.Type, node.Type, node.Checked, node.ExplicitCastInCode, ConversionSemantics.[Default])
35Return ConvertExpression(node.Operand, node.ConversionKind, node.Operand.Type, node.Type, False, True, ConversionSemantics.DirectCast)
44Return ConvertExpression(node.Operand, node.ConversionKind, node.Operand.Type, node.Type, False, True, ConversionSemantics.TryCast)
366Dim methodCallType As TypeSymbol = methodCall.Type
377If originalArgument.Type.IsNullableType = resultType.IsNullableType Then
393Debug.Assert(outerConversion.Type.IsSameTypeIgnoringAll(resultType))
Lowering\ExpressionLambdaRewriter\ExpressionLambdaRewriter_UnaryOperator.vb (9)
23Dim origArgType As TypeSymbol = origArg.Type
27Debug.Assert(TypeSymbol.Equals(origArgType, node.Type, TypeCompareKind.ConsiderEverything))
104Debug.Assert(node.Type.IsBooleanType())
105Debug.Assert(node.Operand.Type.IsNullableOfBoolean())
122Dim udoOperandType As TypeSymbol = userDefinedOperator.Operand.Type
125Dim lambdaBody As BoundExpression = BuildLambdaBodyForCoalesce(userDefinedOperator.OperatorKind, [call], node.Type, paramSymbol)
126Dim coalesceLambda As BoundExpression = BuildLambdaForCoalesceCall(node.Type, paramSymbol, lambdaBody)
156type:=[call].Type),
195Return VisitInternal(AdjustCallForLiftedOperator(opKind, [call], node.Type))
Lowering\LambdaRewriter\LambdaRewriter.vb (19)
361Debug.Assert(TypeSymbol.Equals(result.Type, frameType, TypeCompareKind.ConsiderEverything))
387Dim proxyFieldParented = proxyField.AsMember(DirectCast(innerFrame.Type, NamedTypeSymbol))
397Dim constructedProxyField = proxy.AsMember(DirectCast(frame.Type, NamedTypeSymbol))
540Dim assignment = New BoundAssignmentOperator(syntaxNode, left, right, True, left.Type)
678Return FramePointer(node.Syntax, TryCast(node.Type, NamedTypeSymbol))
684New BoundMyClassReference(node.Syntax, node.Type),
691New BoundMyBaseReference(node.Syntax, node.Type),
831rewrittenExceptionSource.Type)
915Dim result As BoundExpression = RewriteLambda(lambda, VisitType(node.Type), (node.ConversionKind And ConversionKind.ConvertedToExpressionTree) <> 0)
917result = node.Update(result, node.ConversionKind, node.ConstantValueOpt, node.RelaxationLambdaOpt, node.Type)
930Dim result As BoundExpression = RewriteLambda(lambda, VisitType(node.Type), (node.ConversionKind And ConversionKind.ConvertedToExpressionTree) <> 0)
932result = node.Update(result, node.ConversionKind, node.SuppressVirtualCalls, node.ConstantValueOpt, node.RelaxationLambdaOpt, node.Type)
945Dim result As BoundExpression = RewriteLambda(lambda, VisitType(conversion.Type), (conversion.ConversionKind And ConversionKind.ConvertedToExpressionTree) <> 0)
953conversion.Type)
1198F.ObjectReferenceEqual(cacheVariableRight, F.Null(cacheVariableRight.Type)),
1201cacheVariableRight.Type)
1394If Not result.CaptureReceiver AndAlso Not node.ReceiverOrCondition.Type.IsBooleanType() AndAlso
1397Return result.Update(result.ReceiverOrCondition, True, result.PlaceholderId, result.WhenNotNull, result.WhenNullOpt, result.Type)
1440type:=node.Type)
Lowering\LocalRewriter\LocalRewriter_AssignmentOperator.vb (17)
98node.Type)
102If result.Type.IsVoidType() Then
107result.Type)
113result.Type)
142Return node.Update(VisitAssignmentLeftExpression(node), Nothing, VisitAndGenerateObjectCloneIfNeeded(node.Right, node.SuppressObjectClone), True, node.Type)
231node.Type)
309invocation.Type)
323result.Type)
350If Not result.HasErrors AndAlso result.Type.IsObjectType() AndAlso Not Me.ContainingAssembly.IsVbRuntime Then
465Debug.Assert(midResult.Type.IsStringType())
476node.Type)
490If(midResult.LengthOpt, New BoundLiteral(node.Syntax, ConstantValue.Create(&H7FFFFFFF), midResult.Start.Type)),
510Dim temp = New SynthesizedLocal(Me._currentMethodOrLambda, node.Type, SynthesizedLocalKind.LoweringTemp)
511Dim localRef = New BoundLocal(node.Syntax, temp, node.Type)
512Dim placeholder = New BoundCompoundAssignmentTargetPlaceholder(node.Syntax, node.Type)
527node.Type),
530node.Type)
Lowering\LocalRewriter\LocalRewriter_BinaryOperators.vb (143)
20Return node.Update(node.OperatorKind, DirectCast(Visit(node.UnderlyingExpression), BoundExpression), node.Checked, node.Type)
50Return node.Update(node.LeftOperand, node.LeftOperandPlaceholder, node.LeftTest, rewritten, node.Type)
56Dim temp As New SynthesizedLocal(_currentMethodOrLambda, node.LeftOperand.Type, SynthesizedLocalKind.LoweringTemp)
135left = TransformRewrittenBinaryOperator(binary.Update(binary.OperatorKind, left, right, binary.Checked, binary.ConstantValueOpt, Me.VisitType(binary.Type)))
189cast.ConversionKind, cast.SuppressVirtualCalls, cast.ConstantValueOpt, cast.RelaxationLambdaOpt, cast.Type)
197cast.Type)
209type:=boundCall.Type)
223type:=propertyAccess.Type)
245node.Type)
247If (node.Left.Type IsNot Nothing AndAlso node.Left.Type.IsNullableType) OrElse
248(node.Right.Type IsNot Nothing AndAlso node.Right.Type.IsNullableType) Then
254If node.Type.IsObjectType() Then
261If node.Left.Type.IsObjectType() Then
268Dim leftType = node.Left.Type
274If node.Type.IsObjectType() OrElse Me._inExpressionLambda AndAlso leftType.IsObjectType() Then
276ElseIf node.Type.IsBooleanType() Then
290Dim leftType = node.Left.Type
293If node.Type.IsObjectType() OrElse Me._inExpressionLambda AndAlso leftType.IsObjectType() Then
295ElseIf node.Type.IsBooleanType() Then
309Dim leftType = node.Left.Type
312If node.Type.IsObjectType() OrElse Me._inExpressionLambda AndAlso leftType.IsObjectType() Then
314ElseIf node.Type.IsBooleanType() Then
328Dim leftType = node.Left.Type
331If node.Type.IsObjectType() OrElse Me._inExpressionLambda AndAlso leftType.IsObjectType() Then
333ElseIf node.Type.IsBooleanType() Then
347Dim leftType = node.Left.Type
350If node.Type.IsObjectType() OrElse Me._inExpressionLambda AndAlso leftType.IsObjectType() Then
352ElseIf node.Type.IsBooleanType() Then
366Dim leftType = node.Left.Type
369If node.Type.IsObjectType() OrElse Me._inExpressionLambda AndAlso leftType.IsObjectType() Then
371ElseIf node.Type.IsBooleanType() Then
385If node.Type.IsObjectType() AndAlso Not _inExpressionLambda Then
387ElseIf node.Type.IsDecimalType() Then
392If node.Type.IsObjectType() AndAlso Not _inExpressionLambda Then
394ElseIf node.Type.IsDecimalType() Then
399If node.Type.IsObjectType() AndAlso Not _inExpressionLambda Then
401ElseIf node.Type.IsDecimalType() Then
406If node.Type.IsObjectType() AndAlso Not _inExpressionLambda Then
408ElseIf node.Type.IsDecimalType() Then
413If node.Type.IsObjectType() AndAlso Not _inExpressionLambda Then
415ElseIf node.Type.IsDecimalType() Then
420If node.Type.IsObjectType() AndAlso Not _inExpressionLambda Then
425If node.Type.IsObjectType() AndAlso Not _inExpressionLambda Then
432If node.Type.IsObjectType() AndAlso Not _inExpressionLambda Then
437If node.Type.IsObjectType() AndAlso Not _inExpressionLambda Then
442If node.Type.IsObjectType() AndAlso Not _inExpressionLambda Then
447If node.Type.IsObjectType() AndAlso Not _inExpressionLambda Then
452If node.Type.IsObjectType() AndAlso Not _inExpressionLambda Then
457If node.Type.IsObjectType() AndAlso Not _inExpressionLambda Then
471Debug.Assert(node.Left.Type.IsDateTimeType())
472Debug.Assert(node.Right.Type.IsDateTimeType())
473Debug.Assert(node.Type.IsBooleanType())
479If left.Type.IsDateTimeType() AndAlso right.Type.IsDateTimeType() Then
498node.Type)
510Debug.Assert(node.Left.Type.IsDecimalType())
511Debug.Assert(node.Right.Type.IsDecimalType())
512Debug.Assert(node.Type.IsBooleanType())
518If left.Type.IsDecimalType() AndAlso right.Type.IsDecimalType() Then
537node.Type)
545Debug.Assert(node.Type.IsObjectType())
551If rewrittenLeft.Type.IsObjectType() AndAlso rewrittenRight.Type.IsObjectType() Then
568If cast.Operand.Type.IsBooleanType() Then
576If cast.Operand.Type.IsBooleanType() Then
606Debug.Assert(left.Type.IsBooleanType() AndAlso right.Type.IsBooleanType())
608Dim op = New BoundBinaryOperator(node.Syntax, node.OperatorKind And BinaryOperatorKind.OpMask, left, right, False, left.Type)
611result = New BoundDirectCast(node.Syntax, op, ConversionKind.WideningValue, node.Type, Nothing)
630If node.Type.IsDoubleType() AndAlso left.Type.IsDoubleType() AndAlso right.Type.IsDoubleType() Then
654Debug.Assert(node.Left.Type.IsDecimalType())
655Debug.Assert(node.Right.Type.IsDecimalType())
656Debug.Assert(node.Type.IsDecimalType())
662If left.Type.IsDecimalType() AndAlso right.Type.IsDecimalType() Then
678Debug.Assert(node.Left.Type.IsStringType())
679Debug.Assert(node.Right.Type.IsStringType())
680Debug.Assert(node.Type.IsBooleanType())
711False, node.Type)
718Debug.Assert(node.Left.Type.IsObjectType())
719Debug.Assert(node.Right.Type.IsObjectType())
720Debug.Assert(node.Type.IsObjectType() OrElse node.Type.IsBooleanType())
731Debug.Assert(memberSymbol.ReturnType Is node.Type OrElse Me._inExpressionLambda AndAlso memberSymbol.ReturnType.IsObjectType)
742If Me._inExpressionLambda AndAlso memberSymbol.ReturnType.IsObjectType AndAlso node.Type.IsBooleanType Then
743result = New BoundConversion(node.Syntax, DirectCast(result, BoundExpression), ConversionKind.NarrowingBoolean, node.Checked, False, node.Type)
753Debug.Assert((node.Type.IsObjectType() AndAlso left.Type.IsObjectType() AndAlso right.Type.IsObjectType()) OrElse
754(node.Type.IsBooleanType() AndAlso left.Type.IsStringType() AndAlso right.Type.IsStringType()))
763Debug.Assert(memberSymbol.ReturnType Is node.Type)
782Debug.Assert(left.Type.IsObjectType())
783Debug.Assert(right.Type.IsObjectType())
784Debug.Assert(node.Type.IsObjectType())
822If optimizeForConditionalBranch AndAlso node.Type.IsNullableOfBoolean() AndAlso left.Type.IsNullableOfBoolean() AndAlso right.Type.IsNullableOfBoolean() AndAlso
829Return node.Update(node.OperatorKind, left, right, node.Checked, node.ConstantValueOpt, node.Type)
837Return NullableNull(left, node.Type)
847Return WrapInNullable(unliftedOp, node.Type)
851If node.Left.Type.IsNullableOfBoolean Then
868Dim nullOperand = NullableNull(If(leftHasNoValue, left, right), node.Type)
890node.Type),
891NullableNull(whenNull, node.Type))
930WrapInNullable(unliftedOpOnCaptured, node.Type),
931NullableNull(node.Syntax, node.Type))
939value.Type)
964Return NullableNull(left, node.Type)
1007node.Type.GetNullableUnderlyingType()),
1021booleanResult.Type)
1036Return WrapInNullable(booleanResult, node.Type)
1040Debug.Assert(node.Type.IsNullableOfBoolean())
1041Debug.Assert(operand.Type.IsNullableOfBoolean())
1043Dim result = New BoundLiteral(node.Syntax, ConstantValue.False, node.Type.GetNullableUnderlyingType())
1046result, result.Type)
1050Debug.Assert(operand.Type.IsNullableOfBoolean())
1056Return New BoundNullableIsTrueOperator(operand.Syntax, operand, operand.Type.GetNullableUnderlyingType())
1068Debug.Assert(left.Type.IsNullableOfBoolean AndAlso right.Type.IsNullableOfBoolean AndAlso node.Type.IsNullableOfBoolean)
1072Dim nullableOfBoolean = node.Type
1146result.Type)
1305value.Type)
1322Return RewriteNullableIsOrIsNotOperator((node.OperatorKind And BinaryOperatorKind.OpMask) = BinaryOperatorKind.Is, If(left.IsNothingLiteral, right, left), node.Type)
1327Debug.Assert(operand.Type.IsNullableType)
1396Dim resultType = operatorCall.Type
1401Debug.Assert(left.Type.IsNullableType() AndAlso right.Type.IsNullableType(), "left and right must be nullable")
1450Debug.Assert(leftCallInput.Type.IsSameTypeIgnoringAll(operatorCall.Method.Parameters(0).Type),
1452Debug.Assert(rightCallInput.Type.IsSameTypeIgnoringAll(operatorCall.Method.Parameters(1).Type),
1465If Not whenHasValue.Type.IsSameTypeIgnoringAll(resultType) Then
1469Debug.Assert(whenHasValue.Type.IsSameTypeIgnoringAll(resultType), "result type must be same as resultType")
1489result.Type)
1501Debug.Assert(Not left.Type.IsNullableType)
1502Debug.Assert(Not right.Type.IsNullableType)
1512originalOperator.Type.GetNullableUnderlyingType)
Lowering\LocalRewriter\LocalRewriter_Call.vb (11)
30type:=node.Type)
95type:=node.Type)
107node.Type)
113node.Type)
236Dim temp = New SynthesizedLocal(Me._currentMethodOrLambda, rewrittenArgument.Type, SynthesizedLocalKind.LoweringTemp)
244rewrittenArgument.Type)
246Return New BoundSequence(rewrittenArgument.Syntax, ImmutableArray(Of LocalSymbol).Empty, ImmutableArray.Create(storeVal), boundTemp, rewrittenArgument.Type)
323Dim temp = New SynthesizedLocal(Me._currentMethodOrLambda, argument.Type, SynthesizedLocalKind.LoweringTemp)
328Dim storeVal As BoundExpression = New BoundAssignmentOperator(argument.Syntax, boundTemp, inputValue, True, argument.Type)
370invocation.Type)
382Return New BoundSequence(argument.Syntax, ImmutableArray(Of LocalSymbol).Empty, ImmutableArray.Create(storeVal), boundTemp, argument.Type)
Lowering\LocalRewriter\LocalRewriter_ConditionalAccess.vb (17)
33Debug.Assert(node.Type IsNot Nothing)
36Dim receiverType As TypeSymbol = rewrittenReceiver.Type
105newPlaceHolder = New BoundConditionalAccessReceiverPlaceholder(node.Placeholder.Syntax, newPlaceholderId, node.Placeholder.Type)
111Dim accessResultType As TypeSymbol = node.AccessExpression.Type
123If node.Type.IsVoidType() Then
127whenNotNull = WrapInNullable(whenNotNull, node.Type)
131whenNull = If(node.Type.IsNullableType(), NullableNull(node.Syntax, node.Type), factory.Null(node.Type))
143result = New BoundLoweredConditionalAccess(node.Syntax, receiverOrCondition, captureReceiver, newPlaceholderId, whenNotNull, whenNull, node.Type)
154Debug.Assert(node.Type.IsVoidType())
155result = New BoundSequence(node.Syntax, ImmutableArray(Of LocalSymbol).Empty, ImmutableArray(Of BoundExpression).Empty, Nothing, node.Type)
159If result.Type.IsVoidType() Then
160result = New BoundSequence(node.Syntax, ImmutableArray.Create(temp), ImmutableArray.Create(assignment, result), Nothing, result.Type)
162result = New BoundSequence(node.Syntax, ImmutableArray.Create(temp), ImmutableArray.Create(assignment), result, result.Type)
211whenNotNull.Type)
217Return sequence.Update(sequence.Locals, sequence.SideEffects, operand, operand.Type)
Lowering\LocalRewriter\LocalRewriter_ConditionalExpressions.vb (22)
23If node.TestExpression.Type IsNot Nothing AndAlso node.TestExpression.Type.IsNullableType Then
47node.Type))
57Dim rewrittenTestExpressionType As TypeSymbol = rewrittenTestExpression.Type
116type:=node.Type))
126type:=result.Type)
132Dim testExpressionType As TypeSymbol = testExpression.Type
134Debug.Assert(TypeSymbol.Equals(testExpressionType, rewrittenTestExpression.Type, TypeCompareKind.ConsiderEverything))
149Debug.Assert(node.TestExpressionPlaceholder Is Nothing OrElse TypeSymbol.Equals(node.TestExpressionPlaceholder.Type, testExpressionType.GetNullableUnderlyingTypeOrSelf, TypeCompareKind.ConsiderEverything))
163Return node.Update(rewrittenTestExpression, rewrittenWhenTrue, Nothing, rewrittenWhenFalse, node.ConstantValueOpt, node.Type)
188Debug.Assert(testExpr.IsNothingLiteral OrElse Not testExpr.Type.IsValueType)
192If testExpr.IsConstant AndAlso (TypeSymbol.Equals(testExpr.Type, elseExpr.Type, TypeCompareKind.ConsiderEverything)) Then
206Debug.Assert(Not testExpr.Type.IsValueType)
240If rewrittenLeft.Type.IsNullableType() AndAlso
242rewrittenRight.Type.IsSameTypeIgnoringAll(rewrittenLeft.Type.GetNullableUnderlyingType()) _
264If capturedleft.Type.IsSameTypeIgnoringAll(node.ConvertedTestExpression.Type) Then
282result.Type)
292If rewrittenLeft.Type.IsSameTypeIgnoringAll(convertedTestExpression.Type) Then
Lowering\LocalRewriter\LocalRewriter_Conversion.vb (76)
28type:=node.Type)
42node.Type)
53If (node.Type IsNot Nothing AndAlso node.Type.IsNullableType OrElse
54node.Operand.Type IsNot Nothing AndAlso node.Operand.Type.IsNullableType) AndAlso
70If Not node.HasErrors AndAlso node.Type.IsBooleanType() AndAlso node.Operand.Type.IsObjectType() Then
92Debug.Assert(binary.Type.IsObjectType())
98node.Type))
137Dim specialType = rewrittenNode.Type.SpecialType
170Dim rewrittenType = DirectCast(VisitType(node.Type), NamedTypeSymbol)
176If destinationType.IsSameTypeIgnoringAll(rewrittenOperand.Type) Then
186Dim srcType As TypeSymbol = rewrittenOperand.Type
242extendedInfoOpt:=Nothing, type:=node.Type))
249extendedInfoOpt:=Nothing, type:=node.Type)
266relaxationLambdaOpt:=Nothing, type:=node.Type))
272relaxationLambdaOpt:=Nothing, type:=node.Type)
289relaxationLambdaOpt:=Nothing, type:=node.Type))
295relaxationLambdaOpt:=Nothing, type:=node.Type)
315Debug.Assert(node.Operand.Type.IsDelegateType() AndAlso
316DirectCast(node.Operand.Type, NamedTypeSymbol).IsAnonymousType AndAlso
317node.Type.IsDelegateType() AndAlso
318node.Type.SpecialType <> SpecialType.System_MulticastDelegate)
322Return F.Null(node.Type)
337Dim savedOriginalValue = F.SynthesizedLocal(node.Operand.Type)
339Dim conversionIfNothing = F.Null(node.Type)
341DirectCast(node.Operand.Type, NamedTypeSymbol).DelegateInvokeMethod,
345type:=node.Type)
352DirectCast(node.Operand.Type, NamedTypeSymbol).DelegateInvokeMethod,
356type:=node.Type)
388Debug.Assert(rewrittenOperand.Type.IsSameTypeIgnoringAll(node.Type))
397Dim resultType = node.Type
398Dim operandType = rewrittenOperand.Type
425Dim convKind = Conversions.ClassifyConversion(rewrittenOperand.Type, innerTargetType, useSiteInfo).Key
452Dim convKind = Conversions.ClassifyDirectCastConversion(unwrappedOperand.Type, resultType, useSiteInfo)
528Debug.Assert(resultType Is node.Type)
533If Not operand.Type.IsSameTypeIgnoringAll(unwrappedResultType) Then
535Dim convKind = Conversions.ClassifyConversion(operand.Type, unwrappedResultType, useSiteInfo).Key
586operand.Type)
597Dim resultType = node.Type
598Dim operandType = rewrittenOperand.Type
627Dim convKind = Conversions.ClassifyDirectCastConversion(rewrittenOperand.Type, resultType, useSiteInfo)
654Dim convKind = Conversions.ClassifyDirectCastConversion(unwrappedOperand.Type, resultType, useSiteInfo)
667Dim convKind = Conversions.ClassifyDirectCastConversion(rewrittenOperand.Type, resultType, useSiteInfo)
693Debug.Assert(operand.Type.IsNullableType)
708Dim resultType As TypeSymbol = outConversion.Type
752inputToOperatorMethod = WrapInNullable(NullableValueOrDefault(capturedleft), capturedleft.Type)
767type:=operatorCall.Type)
786result.Type)
802Dim underlyingTypeTo = rewrittenConversion.Type.GetEnumUnderlyingTypeOrSelf()
821Dim underlyingTypeFrom = operand.Type.GetEnumUnderlyingTypeOrSelf()
887If Not operand.Type.IsObjectType() Then
892Conversions.ClassifyDirectCastConversion(operand.Type, objectType, useSiteInfo),
900Debug.Assert(memberSymbol.ReturnType.IsSameTypeIgnoringAll(node.Type))
909Conversions.ClassifyDirectCastConversion(node.Operand.Type, node.Type, CompoundUseSiteInfo(Of AssemblySymbol).Discarded))
915Return New BoundDirectCast(node.Syntax, node.Operand, node.ConversionKind, node.Type, Nothing)
959If Not operand.Type.IsObjectType() Then
961Debug.Assert(operand.Type.IsReferenceType)
967Conversions.ClassifyDirectCastConversion(operand.Type, typeFrom, useSiteInfo),
978Dim targetResultType = node.Type
1047Dim operandType = operand.Type
1123Dim targetResultType = node.Type
1186Dim operandType = operand.Type
1260Dim targetResultType = node.Type
1287Return New BoundConversion(node.Syntax, callOperand.Arguments(0), node.ConversionKind, node.Checked, node.ExplicitCastInCode, node.Type)
1313Debug.Assert(node.ConversionKind = Conversions.ClassifyConversion(mathRound.ReturnType, node.Type, CompoundUseSiteInfo(Of AssemblySymbol).Discarded).Key)
1316node.Checked, node.ExplicitCastInCode, node.Type, Nothing)
1334Select Case node.Type.SpecialType
1353Select Case node.Type.SpecialType
1418Dim typeFrom As TypeSymbol = operand.Type
1419Dim typeTo As TypeSymbol = node.Type
1424Debug.Assert(node.ConversionKind = Conversions.ClassifyDirectCastConversion(operand.Type, node.Type, CompoundUseSiteInfo(Of AssemblySymbol).Discarded))
Lowering\LocalRewriter\LocalRewriter_ForTo.vb (27)
25Dim isObjectLoop = rewrittenControlVariable.Type.IsObjectType
94positiveFlag = New SynthesizedLocal(_currentMethodOrLambda, greaterThanOrEqual.Type, SynthesizedLocalKind.ForDirection, blockSyntax)
108Not rewrittenStep.Type.GetEnumUnderlyingTypeOrSelf.IsSignedIntegralType AndAlso
109Not rewrittenStep.Type.GetEnumUnderlyingTypeOrSelf.IsUnsignedIntegralType Then
114If stepValue.Type.IsNullableType Then
119If stepValue.Type.GetEnumUnderlyingTypeOrSelf.IsNumericType Then
127Dim literalUnderlyingType As TypeSymbol = stepValue.Type.GetEnumUnderlyingTypeOrSelf
128Dim literal As BoundExpression = New BoundLiteral(rewrittenStep.Syntax, ConstantValue.Default(literalUnderlyingType.SpecialType), stepValue.Type)
151positiveFlag = New SynthesizedLocal(_currentMethodOrLambda, isUp.Type, SynthesizedLocalKind.ForDirection, blockSyntax)
171rewrittenInitialValue.Type)
183type:=rewrittenInitialValue.Type
327If rewrittenStep.Type.GetEnumUnderlyingTypeOrSelf.IsUnsignedIntegralType Then
416Debug.Assert(Compilation.GetSpecialType(SpecialType.System_Object) Is rewrittenControlVariable.Type)
417Dim objType = rewrittenControlVariable.Type
578If controlVariable.Type.IsNullableType Then
594controlVariableUnwrapped.Type))
596If controlVariable.Type.IsNullableType Then
599WrapInNullable(newValue, controlVariable.Type),
600NullableNull(controlVariable.Syntax, controlVariable.Type))
621type:=controlVariable.Type
631Dim int32Type = [step].Type.ContainingAssembly.GetPrimitiveType(Microsoft.Cci.PrimitiveTypeCode.Int32)
633Dim bits As Integer = [step].Type.GetEnumUnderlyingTypeOrSelf.SpecialType.VBForToShiftBits()
637New BoundBinaryOperator(value.Syntax, BinaryOperatorKind.RightShift, [step], shiftConst, False, [step].Type))
639Return TransformRewrittenBinaryOperator(New BoundBinaryOperator(value.Syntax, BinaryOperatorKind.Xor, shiftedStep, value, False, value.Type))
682If stepValue.Type.GetEnumUnderlyingTypeOrSelf.IsUnsignedIntegralType Then
719If stepValue.Type.GetEnumUnderlyingTypeOrSelf.IsSignedIntegralType Then
732If controlVariable.Type.IsNullableType Then
Lowering\LocalRewriter\LocalRewriter_LateBindingHelpers.vb (25)
26If Not rewrittenReceiver.Type.IsObjectType Then
28Dim convKind = Conversions.ClassifyDirectCastConversion(rewrittenReceiver.Type, objectType, useSiteInfo)
118Dim arrayTemp As LocalSymbol = New SynthesizedLocal(Me._currentMethodOrLambda, arrayCreation.Type, SynthesizedLocalKind.LoweringTemp)
131If Not argument.Type.IsObjectType Then
133Dim convKind = Conversions.ClassifyDirectCastConversion(argument.Type, objectType, useSiteInfo)
155Return New BoundSequence(node, ImmutableArray.Create(arrayTemp), sideeffects.ToImmutableAndFree, arrayTempRef, arrayTempRef.Type)
173If Not rewrittenValue.Type.IsObjectType Then
174Dim convKind = Conversions.ClassifyDirectCastConversion(rewrittenValue.Type, objectType, useSiteInfo)
207Dim arrayTemp As LocalSymbol = New SynthesizedLocal(Me._currentMethodOrLambda, arrayCreation.Type, SynthesizedLocalKind.LoweringTemp)
220If Not argument.Type.IsObjectType Then
221Dim convKind = Conversions.ClassifyDirectCastConversion(argument.Type, objectType, useSiteInfo)
236If Not rewrittenValue.Type.IsObjectType Then
237Dim convKind = Conversions.ClassifyDirectCastConversion(rewrittenValue.Type, objectType, useSiteInfo)
245Return New BoundSequence(node, ImmutableArray.Create(arrayTemp), sideeffects.ToImmutableAndFree, arrayTempRef, arrayTempRef.Type)
258value.Type)
285If Not argument.Type.IsObjectType Then
287Dim convKind = Conversions.ClassifyDirectCastConversion(argument.Type, objectType, useSiteInfo)
350Dim booleanType = DirectCast(copyBackArrayRef.Type, ArrayTypeSymbol).ElementType
356Dim objectType = DirectCast(valueArrayRef.Type, ArrayTypeSymbol).ElementType
362Dim targetType = assignmentTarget.Type
753copyBackFlagArrayTemp = New SynthesizedLocal(Me._currentMethodOrLambda, copyBackFlagArray.Type, SynthesizedLocalKind.LoweringTemp)
757valueArrayTemp = New SynthesizedLocal(Me._currentMethodOrLambda, argumentsArray.Type, SynthesizedLocalKind.LoweringTemp)
839Dim valueTemp = New SynthesizedLocal(Me._currentMethodOrLambda, callerInvocation.Type, SynthesizedLocalKind.LoweringTemp)
848valueRef.Type)
906type:=argumentWithCapture.Type)
Lowering\LocalRewriter\LocalRewriter_LateInvocation.vb (1)
88result.Type)
Lowering\LocalRewriter\LocalRewriter_LocalDeclaration.vb (8)
202Conversions.ClassifyDirectCastConversion(flag.Type, objectType, useSiteInfo),
220flag.Type)
224compareExchange.Construct(flag.Type),
226ImmutableArray.Create(Of BoundExpression)(flag, newFlagInstance, New BoundLiteral(syntax, ConstantValue.Nothing, flag.Type)),
228flag.Type)
266Dim two = New BoundLiteral(syntax, ConstantValue.Create(2S), flagState.Type)
270New BoundLiteral(syntax, ConstantValue.Default(ConstantValueTypeDiscriminator.Int16), flagState.Type),
320New BoundLiteral(syntax, ConstantValue.Create(1S), flagState.Type),
Lowering\LocalRewriter\LocalRewriter_NullableHelpers.vb (30)
18Debug.Assert(nullableType.GetNullableUnderlyingType.IsSameTypeIgnoringAll(expr.Type))
118temp = New SynthesizedLocal(Me._currentMethodOrLambda, operand.Type, SynthesizedLocalKind.LoweringTemp)
120init = New BoundAssignmentOperator(operand.Syntax, localAccess, operand, True, operand.Type)
157Debug.Assert(expr.Type.IsNullableType)
178If Not _inExpressionLambda AndAlso expr.Type.IsNullableOfBoolean() Then
186New BoundLiteral(expr.Syntax, ConstantValue.False, expr.Type.GetNullableUnderlyingType()))
191Dim getValueOrDefaultMethod = GetNullableMethod(expr.Syntax, expr.Type, SpecialMember.System_Nullable_T_GetValueOrDefault)
205Return New BoundBadExpression(expr.Syntax, LookupResultKind.NotReferencable, ImmutableArray(Of Symbol).Empty, ImmutableArray.Create(expr), expr.Type.GetNullableUnderlyingType(), hasErrors:=True)
210conversion.Type.GetNullableUnderlyingType().Equals(conversion.Operand.Type, TypeCompareKind.AllIgnoreOptionsForVB)
214Debug.Assert(expr.Type.IsNullableType)
220Dim getValueMethod As MethodSymbol = GetNullableMethod(expr.Syntax, expr.Type, SpecialMember.System_Nullable_T_get_Value)
234Return New BoundBadExpression(expr.Syntax, LookupResultKind.NotReferencable, ImmutableArray(Of Symbol).Empty, ImmutableArray.Create(expr), expr.Type.GetNullableUnderlyingType(), hasErrors:=True)
241Debug.Assert(expr.Type.IsNullableType)
248Dim hasValueMethod As MethodSymbol = GetNullableMethod(expr.Syntax, expr.Type, SpecialMember.System_Nullable_T_get_HasValue)
288If (Not type.IsSameTypeIgnoringAll(candidateNullExpression.Type)) OrElse
332Debug.Assert(expr.Type.IsNullableType)
349Debug.Assert(expr.Type.IsNullableType)
378Debug.Assert(Not left.Type.IsNullableType)
379Debug.Assert(Not right.Type.IsNullableType)
477Debug.Assert(TypeSymbol.Equals(left.Type, right.Type, TypeCompareKind.ConsiderEverything))
478Debug.Assert(left.Type.IsBooleanType)
480Return MakeBinaryExpression(syntax, binaryOpKind, left, right, False, left.Type)
510second.Type)
521Debug.Assert(condition.Type.IsBooleanType, "ternary condition must be boolean")
522Debug.Assert(whenTrue.Type.IsSameTypeIgnoringAll(whenFalse.Type), "ternary branches must have same types")
529Return TransformRewrittenTernaryConditionalExpression(New BoundTernaryConditionalExpression(syntax, condition, whenTrue, whenFalse, Nothing, whenTrue.Type))
548If operand.Type.IsNullableType Then
Lowering\LocalRewriter\LocalRewriter_ObjectCreation.vb (22)
19node = node.Update(node.ConstructorOpt, node.Arguments, node.DefaultArguments, Nothing, node.Type)
39If node.Type.IsInterfaceType() Then
40Debug.Assert(result.Type.Equals(DirectCast(node.Type, NamedTypeSymbol).CoClassType))
43Dim conv As ConversionKind = Conversions.ClassifyDirectCastConversion(result.Type, node.Type, useSiteInfo)
46result = New BoundDirectCast(node.Syntax, result, conv, node.Type, Nothing)
48Debug.Assert(node.Type.IsSameTypeIgnoringAll(result.Type))
90Dim conversion = Conversions.ClassifyDirectCastConversion(createInstance.ReturnType, node.Type, useSiteInfo)
92rewrittenObjectCreation = New BoundDirectCast(node.Syntax, factory.Call(Nothing, createInstance, callGetTypeFromCLSID), conversion, node.Type)
94rewrittenObjectCreation = New BoundBadExpression(node.Syntax, LookupResultKind.OverloadResolutionFailure, ImmutableArray(Of Symbol).Empty, ImmutableArray(Of BoundExpression).Empty, node.Type, hasErrors:=True)
134Dim typeParameter = DirectCast(node.Type, TypeParameterSymbol)
186Dim expressionType = node.Type
201newPlaceholder = New BoundWithLValueExpressionPlaceholder(node.PlaceholderOpt.Syntax, node.PlaceholderOpt.Type)
252node.Type))
299Dim expressionType = node.Type
365assignment.Type)
393node.Type))
407Return objCreation.Update(objCreation.ConstructorOpt, objCreation.Arguments, objCreation.DefaultArguments, rewrittenInitializer, objCreation.Type)
411Return newT.Update(rewrittenInitializer, newT.Type)
422sequence.Type)
Lowering\LocalRewriter\LocalRewriter_RedimClause.vb (7)
55Conversions.ClassifyDirectCastConversion(arrayValueAccess.Type, systemArray, useSiteInfo),
59Conversions.ClassifyDirectCastConversion(valueBeingAssigned.Type, systemArray, useSiteInfo),
71Conversions.ClassifyDirectCastConversion(valueBeingAssigned.Type, assignmentTarget.Type, useSiteInfo),
72assignmentTarget.Type, Nothing)
93If(assignmentOperator.Type.IsVoidType(),
94assignmentOperator.Type,
Lowering\LocalRewriter\LocalRewriter_UnaryOperators.vb (22)
18Debug.Assert(node.Operand.Type.IsNullableOfBoolean())
28Return node.Update(operand, node.Type)
32Return New BoundLiteral(node.Syntax, ConstantValue.False, node.Type)
52binary.Left, binary.Right, binary.Checked, binary.ConstantValueOpt, binary.Type)
69Return node.Update(node.OperatorKind, VisitExpression(node.UnderlyingExpression), node.Type)
98Dim opType As TypeSymbol = node.Type
111Debug.Assert(node.Operand.Type.IsObjectType() AndAlso node.Type.IsObjectType())
139Debug.Assert(node.Operand.Type.IsDecimalType() AndAlso node.Type.IsDecimalType())
169Return NullableNull(operand, node.Type)
177Return WrapInNullable(unliftedOp, node.Type)
197WrapInNullable(unliftedOpOnCaptured, node.Type),
206value.Type)
238Dim resultType = operatorCall.Type
243Debug.Assert(operand.Type.IsNullableType, "operand must be nullable")
266Debug.Assert(callInput.Type.IsSameTypeIgnoringAll(operatorCall.Method.Parameters(0).Type),
279If Not whenHasValue.Type.IsSameTypeIgnoringAll(resultType) Then
283Debug.Assert(whenHasValue.Type.IsSameTypeIgnoringAll(resultType), "result type must be same as resultType")
304result.Type)
313Debug.Assert(Not operandValue.Type.IsNullableType)
323originalOperator.Type.GetNullableUnderlyingType))
Lowering\LocalRewriter\LocalRewriter_XmlLiterals.vb (11)
92Dim type = expr.Type
104attributes = CreateTempLocal(syntax, rewriterInfo.XmlnsAttributesPlaceholder.Type, VisitExpressionNode(rewriterInfo.XmlnsAttributes), sideEffects)
114Dim prefixes = CreateTempLocal(syntax, rewriterInfo.PrefixesPlaceholder.Type, prefixesArray, sideEffects)
118Dim namespaces = CreateTempLocal(syntax, rewriterInfo.NamespacesPlaceholder.Type, namespacesArray, sideEffects)
205Dim type = objCreation.Type
214attributes = CreateTempLocalInExpressionLambda(syntax, rewriterInfo.XmlnsAttributesPlaceholder.Type, VisitExpressionNode(rewriterInfo.XmlnsAttributes))
223Dim prefixes = CreateTempLocalInExpressionLambda(syntax, rewriterInfo.PrefixesPlaceholder.Type, prefixesArray)
226Dim namespaces = CreateTempLocalInExpressionLambda(syntax, rewriterInfo.NamespacesPlaceholder.Type, namespacesArray)
277objCreation.Type)
306prefixes = VisitExpressionNode(CreateCompilerGeneratedArray(syntax, rewriterInfo.PrefixesPlaceholder.Type, prefixesBuilder.ToImmutableAndFree()))
307namespaces = VisitExpressionNode(CreateCompilerGeneratedArray(syntax, rewriterInfo.NamespacesPlaceholder.Type, namespacesBuilder.ToImmutableAndFree()))
Lowering\SyntheticBoundNodeFactory.vb (31)
204Debug.Assert(receiver.Type.GetMembers(propertySym.Name).OfType(Of PropertySymbol)().Single() = propertySym)
214Dim propertySym = receiver.Type.GetMembers(name).OfType(Of PropertySymbol)().[Single]()
296Debug.Assert(left.Type.IsSameTypeIgnoringAll(right.Type) OrElse right.Type.IsErrorType() OrElse left.Type.IsErrorType())
303Debug.Assert(TypeSymbol.Equals(byRefLocal.Type, lValue.Type, TypeCompareKind.ConsiderEverything))
306Dim boundNode = New BoundReferenceAssignment(_syntax, Local(byRefLocal, isLValue:=True), lValue, isLValue:=True, type:=lValue.Type)
353Dim conversion = Conversions.ClassifyDirectCastConversion(expression.Type, Me.CurrentMethod.ReturnType, useSiteInfo)
616Return New BoundTernaryConditionalExpression(Me.Syntax, condition, ifTrue, ifFalse, Nothing, ifTrue.Type).MakeCompilerGenerated()
622Debug.Assert(expression.Type.IsReferenceType) 'Others are not supported yet
624Debug.Assert(Not expression.Type.IsErrorType)
627Return New BoundTryCast(Me.Syntax, expression, Conversions.ClassifyTryCastConversion(expression.Type, type, CompoundUseSiteInfo(Of AssemblySymbol).Discarded), type)
632Debug.Assert(expression.IsNothingLiteral OrElse expression.Type.IsReferenceType OrElse expression.Type.IsTypeParameter()) 'Others are not supported yet
634Debug.Assert(expression.Type Is Nothing OrElse Not expression.Type.IsErrorType)
641Conversions.ClassifyDirectCastConversion(expression.Type, type, CompoundUseSiteInfo(Of AssemblySymbol).Discarded)),
682Dim boundNode = New BoundSequence(_syntax, locals, sideEffects, result, result.Type)
789Debug.Assert(array.Type IsNot Nothing AndAlso array.Type.IsArrayType())
790Dim boundNode = New BoundArrayAccess(_syntax, array, indices, isLValue, (DirectCast(array.Type, ArrayTypeSymbol)).ElementType)
983ElseIf type.IsErrorType() OrElse arg.Type.IsErrorType() Then
986Return Convert(type, arg, Conversions.ClassifyConversion(arg.Type, type, CompoundUseSiteInfo(Of AssemblySymbol).Discarded).Key, isChecked)
1022Return New BoundBinaryConditionalExpression(Syntax, left, Nothing, Nothing, right, Nothing, left.Type)
1038Debug.Assert(operand.Type.IsReferenceType)
1039Dim boundNode = Binary(BinaryOperatorKind.Is, SpecialType(Microsoft.CodeAnalysis.SpecialType.System_Boolean), operand, Me.Null(operand.Type))
1045Debug.Assert(operand.Type.IsReferenceType)
1046Dim boundNode = Binary(BinaryOperatorKind.IsNot, SpecialType(Microsoft.CodeAnalysis.SpecialType.System_Boolean), operand, Me.Null(operand.Type))
1052Return New BoundUnaryOperator(expression.Syntax, UnaryOperatorKind.Not, expression, False, expression.Type)
1104valueOpt.Type)).MakeCompilerGenerated()
Lowering\UseTwiceRewriter.vb (37)
84ElseIf receiverOpt.IsLValue AndAlso receiverOpt.Type.IsReferenceType Then
87boundTemp = boundTemp.Update(boundTemp.LocalSymbol, isLValue:=True, type:=boundTemp.Type)
88receiver = New Result(New BoundSequence(capture.Syntax, ImmutableArray(Of LocalSymbol).Empty, ImmutableArray.Create(Of BoundExpression)(capture), boundTemp, boundTemp.Type),
90ElseIf Not receiverOpt.IsLValue AndAlso Not receiverOpt.Type.IsReferenceType AndAlso Not receiverOpt.Type.IsValueType Then
93boundTemp = boundTemp.Update(boundTemp.LocalSymbol, isLValue:=True, type:=boundTemp.Type)
95receiver = New Result(New BoundSequence(capture.Syntax, ImmutableArray(Of LocalSymbol).Empty, ImmutableArray.Create(Of BoundExpression)(capture), boundTemp, boundTemp.Type),
142Debug.Assert(type IsNot Nothing AndAlso Not type.IsVoidType() AndAlso value.Type Is type)
162Return CaptureInATemp(containingMember, value, value.Type, temporaries, referToTemp)
175ElseIf value.IsValue AndAlso value.Type IsNot Nothing AndAlso Not value.Type.IsVoidType() Then
186Dim second = New BoundLiteral(value.Syntax, constantValue, value.Type)
215If IsInvariantArray(node.Expression.Type) Then
238Dim second = node.Update(boundArrayTemp, indicesSecond.AsImmutableOrNull(), node.IsLValue, node.Type)
239Dim first = node.Update(storeArray, indicesFirst.AsImmutableOrNull(), node.IsLValue, node.Type)
253Dim temp = New SynthesizedLocal(containingMember, lvalue.Type, SynthesizedLocalKind.LoweringTemp, isByRef:=True)
256lvalue, isLValue:=True, type:=lvalue.Type).MakeCompilerGenerated()
258Dim second = New BoundLocal(lvalue.Syntax, temp, isLValue:=True, type:=lvalue.Type).MakeCompilerGenerated()
271Dim second = node.Update(Nothing, fieldSymbol, node.IsLValue, node.SuppressVirtualCalls, constantsInProgressOpt:=Nothing, node.Type)
313ElseIf receiverOpt.IsLValue AndAlso receiverOpt.Type.IsReferenceType AndAlso
314Not receiverOpt.Type.IsTypeParameter() Then ' Skip type parameters to enforce Dev12 behavior
317ElseIf Not receiverOpt.IsLValue AndAlso Not receiverOpt.Type.IsReferenceType AndAlso Not receiverOpt.Type.IsValueType Then
320boundTemp = boundTemp.Update(boundTemp.LocalSymbol, isLValue:=True, type:=boundTemp.Type)
322receiver = New Result(New BoundSequence(capture.Syntax, ImmutableArray(Of LocalSymbol).Empty, ImmutableArray.Create(Of BoundExpression)(capture), boundTemp, boundTemp.Type),
364type:=node.Type)
375type:=node.Type)
406Dim temp = New SynthesizedLocal(containingMember, boundArgument.Type, SynthesizedLocalKind.LoweringTemp)
412boundArgument.Type)
428node.Type)
436node.Type)
451node.Type)
458node.Type)
506initializer.Update(firstArgsArray.AsImmutableOrNull(), initializer.Type), Nothing, Nothing, boundArray.Type)
508initializer.Update(secondArgsArray.AsImmutableOrNull(), initializer.Type), Nothing, Nothing, boundArray.Type)
Lowering\WithExpressionRewriter.vb (13)
86Dim type As TypeSymbol = value.Type
96value = New BoundLValueToRValueWrapper(value.Syntax, value, value.Type).MakeCompilerGenerated()
111Dim type As TypeSymbol = value.Type
136Return value.Update(boundArrayTemp, indices.AsImmutableOrNull(), value.IsLValue, value.Type)
152If value.IsValue AndAlso value.Type IsNot Nothing AndAlso Not value.Type.IsVoidType() Then
176Return value.Update(Nothing, fieldSymbol, value.IsLValue, value.SuppressVirtualCalls, value.ConstantsInProgressOpt, value.Type)
183Return value.Update(receiver, fieldSymbol, value.IsLValue, value.SuppressVirtualCalls, value.ConstantsInProgressOpt, value.Type)
191If value.IsLValue AndAlso value.Type.IsReferenceType Then
273Dim type As TypeSymbol = value.Type
296Debug.Assert(value.Type.IsStructureType OrElse value.Type.IsTypeParameter)
316If Not (state.DoNotUseByRefLocal OrElse (value.Kind = BoundKind.ArrayAccess AndAlso value.Type.Kind = SymbolKind.TypeParameter)) Then
Operations\VisualBasicOperationFactory.vb (65)
318type = expression.Type
375Dim type As ITypeSymbol = boundAssignmentOperator.Type
384Dim type As ITypeSymbol = boundMeReference.Type
392Dim type As ITypeSymbol = boundMyBaseReference.Type
400Dim type As ITypeSymbol = boundMyClassReference.Type
407Dim type As ITypeSymbol = boundLiteral.Type
416Dim type As ITypeSymbol = boundAwaitOperator.Type
424Dim type As ITypeSymbol = boundNameOfOperator.Type
452Dim type As ITypeSymbol = boundCall.Type
459Dim type As ITypeSymbol = boundOmittedArgument.Type
467Dim type As ITypeSymbol = boundParenthesized.Type
477Dim type As ITypeSymbol = boundArrayAccess.Type
503Dim type As ITypeSymbol = boundUnaryOperator.Type
516Dim type As ITypeSymbol = boundUserDefinedUnaryOperator.Type
569Dim type As ITypeSymbol = currentBinary.Type
588Dim type As ITypeSymbol = boundUserDefinedBinaryOperator.Type
600Dim type As ITypeSymbol = boundBinaryConditionalExpression.Type
606If Not TypeSymbol.Equals(boundBinaryConditionalExpression.Type, boundBinaryConditionalExpression.TestExpression.Type, TypeCompareKind.ConsiderEverything) Then
629Dim type As ITypeSymbol = boundUserDefinedShortCircuitingOperator.Type
651Dim type As ITypeSymbol = If(syntax.IsMissing, Nothing, boundBadExpression.Type)
686initializer = New ObjectOrCollectionInitializerOperation(namedArguments, _semanticModel, boundAttribute.Syntax, boundAttribute.Type, isImplicit:=True)
689Dim objectCreationOperation = New ObjectCreationOperation(boundAttribute.Constructor, initializer, DeriveArguments(boundAttribute), _semanticModel, boundAttribute.Syntax, boundAttribute.Type, boundAttribute.ConstantValueOpt, isImplicit:=True)
721Dim type As ITypeSymbol = boundConversionOrCast.Type
728If boundOperand.Kind = BoundKind.ConvertedTupleLiteral AndAlso TypeSymbol.Equals(boundOperand.Type, boundConversionOrCast.Type, TypeCompareKind.ConsiderEverything) Then
751Dim type As ITypeSymbol = boundDelegateCreationExpression.Type
782Dim type As ITypeSymbol = boundTernaryConditionalExpression.Type
794Dim type As ITypeSymbol = boundTypeOf.Type
800Dim typeOperand As ITypeSymbol = boundGetType.SourceType.Type
802Dim type As ITypeSymbol = boundGetType.Type
813Dim type As ITypeSymbol = boundLateInvocation.Type
825Dim type As ITypeSymbol = boundObjectCreationExpression.Type
834Dim type As ITypeSymbol = boundObjectInitializerExpression.Type
842Dim type As ITypeSymbol = boundCollectionInitializerExpression.Type
850Dim type As ITypeSymbol = boundNewT.Type
858Dim type As ITypeSymbol = creation.Type
867Dim type As ITypeSymbol = boundArrayCreation.Type
887Dim type As ITypeSymbol = boundPropertyAccess.Type
895Dim type As ITypeSymbol = boundWithLValueExpressionPlaceholder.Type
903Dim type As ITypeSymbol = boundWithRValueExpressionPlaceholder.Type
913Dim type As ITypeSymbol = boundEventAccess.Type
924Dim type As ITypeSymbol = boundFieldAccess.Type
935Dim type As ITypeSymbol = boundConditionalAccess.Type
942Dim type As ITypeSymbol = boundConditionalAccessReceiverPlaceholder.Type
950Dim type As ITypeSymbol = boundParameter.Type
959Dim type As ITypeSymbol = boundLocal.Type
981Not TypeSymbol.Equals(boundLateMemberAccess.ContainerTypeOpt, boundLateMemberAccess.ReceiverOpt.Type, TypeCompareKind.ConsiderEverything))) Then
985Dim type As ITypeSymbol = boundLateMemberAccess.Type
1023Dim type As ITypeSymbol = boundRValuePlaceholder.Type
1171Dim loopObj = If(boundForToStatement.ControlVariable.Type.IsObjectType,
1172New SynthesizedLocal(DirectCast(_semanticModel.GetEnclosingSymbol(boundForToStatement.Syntax.SpanStart), Symbol), boundForToStatement.ControlVariable.Type,
1285Dim exceptionType As ITypeSymbol = If(boundCatchBlock.ExceptionSourceOpt?.Type, DirectCast(_semanticModel.Compilation, VisualBasicCompilation).GetWellKnownType(WellKnownType.System_Exception))
1543Return CreateTupleOperation(boundTupleLiteral, boundTupleLiteral.Type)
1553Dim type As ITypeSymbol = boundTupleExpression.Type
1561Dim type As ITypeSymbol = boundInterpolatedString.Type
1598Dim type As ITypeSymbol = boundAnonymousTypeCreationExpression.Type
1608Dim type As ITypeSymbol = boundAnonymousTypePropertyAccess.Type
1627Dim type As ITypeSymbol = boundQueryExpression.Type
1644Dim type As ITypeSymbol = boundAggregateClause.Type
1651Dim type As ITypeSymbol = boundNullableIsTrueOperator.Type
1655Debug.Assert(boundNullableIsTrueOperator.Operand.Type.IsNullableOfBoolean() AndAlso boundNullableIsTrueOperator.Type.IsBooleanType())
1662Return New InvocationOperation(method.AsMember(DirectCast(boundNullableIsTrueOperator.Operand.Type, NamedTypeSymbol)), constrainedToType:=Nothing,
1668boundNullableIsTrueOperator.Type,
Operations\VisualBasicOperationFactory_Methods.vb (12)
91Dim type As ITypeSymbol = boundAssignment.Type
314Dim properties = DirectCast(expression.Type, AnonymousTypePublicSymbol).Properties
501If IsDelegateCreation(boundConversion.Syntax, boundOperand, boundConversion.Type) Then
532Not TypeSymbol.Equals(nestedConversion.Type, nestedOperand.Type, TypeCompareKind.ConsiderEverything) AndAlso
534TypeSymbol.Equals(topLevelConversion.Type, nestedConversion.Type, TypeCompareKind.ConsiderEverything) Then
539TypeSymbol.Equals(topLevelConversion.Type, boundOperand.Type, TypeCompareKind.ConsiderEverything) AndAlso
540IsDelegateCreation(topLevelConversion.Syntax, boundOperand, boundOperand.Type) Then
666Return If(leftOpt?.Type?.SpecialType = SpecialType.System_Object, BinaryOperatorKind.ObjectValueEquals, BinaryOperatorKind.Equals)
668Return If(leftOpt?.Type?.SpecialType = SpecialType.System_Object, BinaryOperatorKind.ObjectValueNotEquals, BinaryOperatorKind.NotEquals)
Operations\VisualBasicOperationFactory_QueryLambdaRewriter.vb (3)
60expression = New BoundParameter(node.Syntax, parameter.ParameterSymbol, parameter.IsLValue, parameter.SuppressVirtualCalls, parameter.Type, parameter.HasErrors)
65access.DefaultArguments, access.Type, access.HasErrors)
91node = New BoundParameter(node.Syntax, node.ParameterSymbol, node.IsLValue, node.SuppressVirtualCalls, node.Type, node.HasErrors)
Semantics\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,