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