1 write to _factory
Microsoft.CodeAnalysis.VisualBasic (1)
Lowering\ExpressionLambdaRewriter\ExpressionLambdaRewriter.vb (1)
46_factory = New SyntheticBoundNodeFactory(Nothing, currentMethod, node, compilationState, diagnostics)
144 references to _factory
Microsoft.CodeAnalysis.VisualBasic (144)
Lowering\ExpressionLambdaRewriter\ExpressionLambdaRewriter.vb (70)
47_expressionType = _factory.WellKnownType(WellKnownType.System_Linq_Expressions_Expression) 54_elementInitType = Me._factory.WellKnownType(WellKnownType.System_Linq_Expressions_ElementInit) 63_memberBindingType = Me._factory.WellKnownType(WellKnownType.System_Linq_Expressions_MemberBinding) 72_memberInfoType = Me._factory.WellKnownType(WellKnownType.System_Reflection_MemberInfo) 81_int32Type = _factory.SpecialType(SpecialType.System_Int32) 90_objectType = _factory.SpecialType(SpecialType.System_Object) 126Return _factory.Diagnostics 182Return VisitInternal(Me._factory.Literal("Diagnostics Generated")) 193Dim old As SyntaxNode = _factory.Syntax 194_factory.Syntax = node.Syntax 196_factory.Syntax = old 197Return _factory.Convert(_expressionType, result) 318Dim parameterExpressionType = _factory.WellKnownType(WellKnownType.System_Linq_Expressions_ParameterExpression) 328Dim param = _factory.SynthesizedLocal(parameterExpressionType) 329Dim parameterReference = _factory.Local(param, False) 330Dim parameterReferenceLValue = _factory.Local(param, True) 336Dim parameter As BoundExpression = ConvertRuntimeHelperToExpressionTree("Parameter", _factory.[Typeof](p.Type.InternalSubstituteTypeParameters(_typeMap).Type), _factory.Literal(p.Name)) 338initializers.Add(_factory.AssignmentExpression(parameterReferenceLValue, parameter)) 348Dim result = _factory.Sequence(locals.ToImmutableAndFree(), 354_factory.Array(parameterExpressionType, parameters.ToImmutableAndFree()))) 388If(method.IsShared, _factory.Null(_expressionType), receiverOpt), 389_factory.MethodInfo(method), ConvertArgumentsIntoArray(node.Arguments)) 401rewrittenReceiver = _factory.Null() 414Return ConvertRuntimeHelperToExpressionTree("Field", rewrittenReceiver, _factory.FieldInfo(field)) 425rewrittenReceiver = _factory.Null() 433Return ConvertRuntimeHelperToExpressionTree("Property", rewrittenReceiver, _factory.MethodInfo(getMethod)) 453receiverOpt = Me._factory.Convert(Me.ObjectType, Me._factory.Null()) 466receiverOpt = Me._factory.Convert(Me.ObjectType, receiverOpt) 472Dim methodInfo As BoundExpression = Me._factory.MethodInfo(If(method.CallsiteReducedFromMethod, method)) 475Dim createDelegate = Binder.GetWellKnownTypeMember(Me._factory.Compilation, WellKnownMember.System_Reflection_MethodInfo__CreateDelegate, useSiteInfo) 481result = Me._factory.Call(methodInfo, 483Me._factory.[Typeof](delegateType), 488createDelegate = Me._factory.WellKnownMember(Of MethodSymbol)(WellKnownMember.System_Delegate__CreateDelegate4) 491result = Me._factory.Call(Me._factory.Null(Me.ObjectType), 493Me._factory.[Typeof](delegateType), 496Me._factory.Literal(False)) 528Return _factory.Array(_expressionType, newExpr.AsImmutableOrNull()) 541Return VisitObjectCreationContinued(ConvertRuntimeHelperToExpressionTree("New", _factory.[Typeof](node.Type)), node.InitializerOpt) 599Me._factory.FieldInfo(DirectCast(leftSymbol, FieldSymbol)), 600Me._factory.MethodInfo((DirectCast(leftSymbol, PropertySymbol)).SetMethod)) 602newInitializers(i) = _factory.Convert(MemberBindingType, ConvertRuntimeHelperToExpressionTree("Bind", memberRef, Visit(right))) 605Return _factory.Array(MemberBindingType, newInitializers.AsImmutableOrNull()) 623newInitializers(i) = _factory.Convert( 627_factory.MethodInfo([call].Method), 633Return _factory.Array(ElementInitType, newInitializers.AsImmutableOrNull()) 645Return ConvertRuntimeHelperToExpressionTree("New", _factory.[Typeof](node.Type)) 648Dim ctor = _factory.ConstructorInfo(node.ConstructorOpt) 658methodInfos(i) = Me._factory.Convert(Me.MemberInfoType, Me._factory.MethodInfo(properties(i).GetMethod)) 661Return ConvertRuntimeHelperToExpressionTree("New", ctor, args, Me._factory.Array(Me.MemberInfoType, methodInfos.AsImmutableOrNull())) 688DirectCast(Me._factory.SpecialMember(SpecialMember.System_Array__LongLength), PropertySymbol).GetMethod, 703Dim boundType As BoundExpression = _factory.[Typeof](arrayType.ElementType) 718Return _factory.Array(_expressionType, newArgs.AsImmutableOrNull) 722Return ConvertRuntimeHelperToExpressionTree("TypeIs", Visit(node.Operand), _factory.[Typeof](node.TargetType)) 733factoryArgs(1) = _factory.MethodInfo(method) 740Return ConvertRuntimeHelperToExpressionTree("Default", _factory.[Typeof](type)) 745Return ConvertRuntimeHelperToExpressionTree("New", _factory.ConstructorInfo(helper), argument) 756Return ConvertRuntimeHelperToExpressionTree("New", _factory.[Typeof](type)) 772Return ConvertRuntimeHelperToExpressionTree("Constant", _factory.Convert(Me.ObjectType, node), _factory.[Typeof](type)) 803Return _factory.BadExpression(arguments) 807Dim result = _binder.BindInvocationExpression(_factory.Syntax, 808_factory.Syntax, 833Me.Diagnostics.Add(Me._factory.Syntax, useSiteInfo) 839group = New BoundMethodGroup(Me._factory.Syntax, 840Me._factory.TypeArguments(typeArgs), 852Me._factory.Syntax.GetLocation())
Lowering\ExpressionLambdaRewriter\ExpressionLambdaRewriter_BinaryOperator.vb (26)
88Me._factory.Literal(isLifted), 89_factory.MethodInfo(node.Call.Method)) 98_factory.MethodInfo(node.Call.Method)) 114_factory.MethodInfo(operand.Call.Method)) 210Return ConvertRuntimeHelperToExpressionTree(opMethod, left, right, Me._factory.Literal(resultType.IsNullableType), _factory.MethodInfo(helper)) 245Dim newType As TypeSymbol = If(operandIsNullable, Me._factory.NullableOf(operandUnderlyingType), operandUnderlyingType) 255Dim newType As TypeSymbol = If(operandIsNullable, Me._factory.NullableOf(Me.Int32Type), Me.Int32Type) 261Return ConvertRuntimeHelperToExpressionTree(opMethod, left, right, Me._factory.Literal(resultType.IsNullableType), Me._factory.Null) 287Dim systemBool As TypeSymbol = _factory.SpecialType(SpecialType.System_Boolean) 333helper = DirectCast(_factory.SpecialMember(SpecialMember.System_String__ConcatStringString), MethodSymbol) 336helper = Me._factory.WellKnownMember(Of MethodSymbol)(WellKnownMember.System_Math__PowDoubleDouble) 347Return ConvertRuntimeHelperToExpressionTree(opMethod, left, right, _factory.MethodInfo(helper)) 379result = Convert(result, If(resultTypeIsNullable, Me._factory.NullableOf(resultUnderlyingType), resultUnderlyingType), isChecked) 398loweredOperand = Convert(loweredOperand, If(isNullable, Me._factory.NullableOf(underlyingType), underlyingType), False) 403loweredOperand = Convert(loweredOperand, If(isNullable, Me._factory.NullableOf(Me.Int32Type), Me.Int32Type), checked) 452result = Convert(result, Me._factory.NullableOf(Me.Int32Type), isChecked) 467Me._factory.Convert(Me.ObjectType, Me._factory.Literal(shiftMask)), 468Me._factory.Typeof(Me.Int32Type)) 473Dim int32Nullable As TypeSymbol = If(isNullable, Me._factory.NullableOf(Me.Int32Type), Nothing) 523Return DirectCast(_factory.SpecialMember(specialHelper), MethodSymbol) 550Return DirectCast(_factory.SpecialMember(specialHelper), MethodSymbol) 589Return Me._factory.WellKnownMember(Of MethodSymbol)(wellKnownHelper) 702Return Me._factory.Convert(resultType, [call])
Lowering\ExpressionLambdaRewriter\ExpressionLambdaRewriter_ConditionalExpresion.vb (15)
65Return Me._factory.SynthesizedParameter(paramType, s_coalesceLambdaParameterName) 69Return Me._factory.Parameter(paramSymbol).MakeRValue() 73Dim parameterExpressionType As TypeSymbol = _factory.WellKnownType(WellKnownType.System_Linq_Expressions_ParameterExpression) 75Dim paramLocalSymbol As LocalSymbol = Me._factory.SynthesizedLocal(parameterExpressionType) 76Dim parameterReference As BoundLocal = Me._factory.Local(paramLocalSymbol, True) 77Dim parameter As BoundExpression = ConvertRuntimeHelperToExpressionTree("Parameter", _factory.[Typeof](lambdaParameter.Type), _factory.Literal(s_coalesceLambdaParameterName)) 84Me._factory.Sequence(ImmutableArray.Create(Of LocalSymbol)( 87Me._factory.AssignmentExpression(parameterReference, parameter)), 91Me._factory.Array( 112Return Me._factory.Convert(toType, CreateUserDefinedNullableToUnderlyingConversion(parameter, parameterType, isChecked), isChecked) 114Return Me._factory.Convert(toType, parameter, isChecked) 126Dim helper As MethodSymbol = DirectCast(Me._factory.SpecialMember( 131Return Me._factory.Convert(underlyingType, expression, isChecked) 211parameter = Me._factory.Convert(expectedParameterType, parameter, isChecked)
Lowering\ExpressionLambdaRewriter\ExpressionLambdaRewriter_Conversion.vb (25)
73Return Convert(VisitInternal(Me._factory.Null(Me.ObjectType)), typeTo, False) 113type = type.ExpressionTargetDelegate(Me._factory.Compilation) 212helperOperandType = Me._factory.NullableOf(helperOperandType) 217helperReturnType = Me._factory.NullableOf(helperReturnType) 235Dim helper As MethodSymbol = Me._factory.WellKnownMember(Of MethodSymbol)(WellKnownMember.Microsoft_VisualBasic_CompilerServices_Conversions__ToGenericParameter_T_Object) 236Return [Call](_factory.Null(), helper.Construct(typeTo), rewrittenOperand) 247Return ConvertIfNeeded(objectConversion, _factory.SpecialType(SpecialType.System_Object), typeTo, False) 257helper = _factory.WellKnownMember(Of Symbol)(WellKnownMember.Microsoft_VisualBasic_CompilerServices_Conversions__ToCharArrayRankOneString) 258argumentType = _factory.SpecialType(SpecialType.System_String) 260helper = _factory.WellKnownMember(Of Symbol)(WellKnownMember.Microsoft_VisualBasic_CompilerServices_Conversions__ToCharArrayRankOneObject) 261argumentType = _factory.SpecialType(SpecialType.System_Object) 276typeBeforeNegation = _factory.SpecialType(SpecialType.System_Int32) 284typeBeforeNegation = Me._factory.NullableOf(typeBeforeNegation) 312Return Me._factory.SpecialType(SpecialType.System_SByte) 314Return Me._factory.SpecialType(SpecialType.System_Int16) 316Return Me._factory.SpecialType(SpecialType.System_Int32) 318Return Me._factory.SpecialType(SpecialType.System_Int64) 329Dim helper As MethodSymbol = DirectCast(Me._factory.SpecialMember( 348Dim helper As MethodSymbol = DirectCast(Me._factory.SpecialMember( 402Return ConvertRuntimeHelperToExpressionTree("TypeAs", expr, _factory.[Typeof](type)) 411Return ConvertRuntimeHelperToExpressionTree(If(isChecked, "ConvertChecked", "Convert"), expr, _factory.[Typeof](type)) 416Return ConvertRuntimeHelperToExpressionTree(If(isChecked, "ConvertChecked", "Convert"), expr, _factory.[Typeof](type), _factory.MethodInfo(helper)) 590Return Me._factory.WellKnownMember(Of MethodSymbol)(wellKnownHelper) 592Return DirectCast(_factory.SpecialMember(specialHelper), MethodSymbol)
Lowering\ExpressionLambdaRewriter\ExpressionLambdaRewriter_UnaryOperator.vb (8)
47Return If(method Is Nothing, argument, ConvertRuntimeHelperToExpressionTree("UnaryPlus", argument, Me._factory.MethodInfo(method))) 67Return ConvertRuntimeHelperToExpressionTree(helperName, argument, Me._factory.MethodInfo(method)) 88result = Convert(result, If(origArgTypeIsNullable, Me._factory.NullableOf(origArgUnderlyingType), origArgUnderlyingType), isChecked) 127Return ConvertRuntimeHelperToExpressionTree("Coalesce", Visit(userDefinedOperator.Operand), Visit(Me._factory.Literal(False)), coalesceLambda) 138Return ConvertRuntimeHelperToExpressionTree("Coalesce", Visit(operand), Visit(Me._factory.Literal(False))) 180_factory.MethodInfo(node.Call.Method)) 215Return DirectCast(_factory.SpecialMember(specialHelper), MethodSymbol) 234Return Me._factory.WellKnownMember(Of MethodSymbol)(wellKnownHelper)