1 write to _factory
Microsoft.CodeAnalysis.VisualBasic (1)
Lowering\ExpressionLambdaRewriter\ExpressionLambdaRewriter.vb (1)
46_factory = New SyntheticBoundNodeFactory(Nothing, currentMethod, node, compilationState, diagnostics)
173 references to _factory
Microsoft.CodeAnalysis.VisualBasic (173)
Lowering\ExpressionLambdaRewriter\ExpressionLambdaRewriter.vb (85)
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) 337_factory.[Typeof]( 339_factory.WellKnownType(WellKnownType.System_Type)), 340_factory.Literal(p.Name)) 342initializers.Add(_factory.AssignmentExpression(parameterReferenceLValue, parameter)) 352Dim result = _factory.Sequence(locals.ToImmutableAndFree(), 358_factory.Array(parameterExpressionType, parameters.ToImmutableAndFree()))) 392If(method.IsShared, _factory.Null(_expressionType), receiverOpt), 393_factory.MethodInfo(method, _factory.WellKnownType(WellKnownType.System_Reflection_MethodInfo)), ConvertArgumentsIntoArray(node.Arguments)) 405rewrittenReceiver = _factory.Null() 418Return ConvertRuntimeHelperToExpressionTree("Field", rewrittenReceiver, _factory.FieldInfo(field)) 429rewrittenReceiver = _factory.Null() 437Return ConvertRuntimeHelperToExpressionTree("Property", rewrittenReceiver, _factory.MethodInfo(getMethod, _factory.WellKnownType(WellKnownType.System_Reflection_MethodInfo))) 457receiverOpt = Me._factory.Convert(Me.ObjectType, Me._factory.Null()) 470receiverOpt = Me._factory.Convert(Me.ObjectType, receiverOpt) 479Dim createDelegate = DirectCast(Binder.GetWellKnownTypeMember(Me._factory.Compilation, WellKnownMember.System_Reflection_MethodInfo__CreateDelegate, useSiteInfo), MethodSymbol) 485Dim methodInfo As BoundExpression = Me._factory.MethodInfo(targetMethod, createDelegate.ContainingType) 488result = Me._factory.Call(methodInfo, 490Me._factory.[Typeof](delegateType, createDelegate.Parameters(0).Type), 495createDelegate = DirectCast(Me._factory.SpecialMember(SpecialMember.System_Delegate__CreateDelegate4), MethodSymbol) 498result = Me._factory.Call(Me._factory.Null(Me.ObjectType), 500Me._factory.[Typeof](delegateType, createDelegate.Parameters(0).Type), 502Me._factory.MethodInfo(targetMethod, createDelegate.Parameters(2).Type), 503Me._factory.Literal(False)) 535Return _factory.Array(_expressionType, newExpr.AsImmutableOrNull()) 548Return VisitObjectCreationContinued(ConvertRuntimeHelperToExpressionTree("New", _factory.[Typeof](node.Type, _factory.WellKnownType(WellKnownType.System_Type))), node.InitializerOpt) 606Me._factory.FieldInfo(DirectCast(leftSymbol, FieldSymbol)), 607Me._factory.MethodInfo((DirectCast(leftSymbol, PropertySymbol)).SetMethod, _factory.WellKnownType(WellKnownType.System_Reflection_MethodInfo))) 609newInitializers(i) = _factory.Convert(MemberBindingType, ConvertRuntimeHelperToExpressionTree("Bind", memberRef, Visit(right))) 612Return _factory.Array(MemberBindingType, newInitializers.AsImmutableOrNull()) 630newInitializers(i) = _factory.Convert( 634_factory.MethodInfo([call].Method, _factory.WellKnownType(WellKnownType.System_Reflection_MethodInfo)), 640Return _factory.Array(ElementInitType, newInitializers.AsImmutableOrNull()) 652Return ConvertRuntimeHelperToExpressionTree("New", _factory.[Typeof](node.Type, _factory.WellKnownType(WellKnownType.System_Type))) 655Dim ctor = _factory.ConstructorInfo(node.ConstructorOpt) 665methodInfos(i) = Me._factory.Convert(Me.MemberInfoType, Me._factory.MethodInfo(properties(i).GetMethod, _factory.WellKnownType(WellKnownType.System_Reflection_MethodInfo))) 668Return ConvertRuntimeHelperToExpressionTree("New", ctor, args, Me._factory.Array(Me.MemberInfoType, methodInfos.AsImmutableOrNull())) 695DirectCast(Me._factory.SpecialMember(SpecialMember.System_Array__LongLength), PropertySymbol).GetMethod, 710Dim boundType As BoundExpression = _factory.[Typeof](arrayType.ElementType, _factory.WellKnownType(WellKnownType.System_Type)) 725Return _factory.Array(_expressionType, newArgs.AsImmutableOrNull) 729Return ConvertRuntimeHelperToExpressionTree("TypeIs", Visit(node.Operand), _factory.[Typeof](node.TargetType, _factory.WellKnownType(WellKnownType.System_Type))) 740factoryArgs(1) = _factory.MethodInfo(method, _factory.WellKnownType(WellKnownType.System_Reflection_MethodInfo)) 747Return ConvertRuntimeHelperToExpressionTree("Default", _factory.[Typeof](type, _factory.WellKnownType(WellKnownType.System_Type))) 752Return ConvertRuntimeHelperToExpressionTree("New", _factory.ConstructorInfo(helper), argument) 763Return ConvertRuntimeHelperToExpressionTree("New", _factory.[Typeof](type, _factory.WellKnownType(WellKnownType.System_Type))) 779Return ConvertRuntimeHelperToExpressionTree("Constant", _factory.Convert(Me.ObjectType, node), _factory.[Typeof](type, _factory.WellKnownType(WellKnownType.System_Type))) 810Return _factory.BadExpression(arguments) 814Dim result = _binder.BindInvocationExpression(_factory.Syntax, 815_factory.Syntax, 840Me.Diagnostics.Add(Me._factory.Syntax, useSiteInfo) 846group = New BoundMethodGroup(Me._factory.Syntax, 847Me._factory.TypeArguments(typeArgs), 859Me._factory.Syntax.GetLocation())
Lowering\ExpressionLambdaRewriter\ExpressionLambdaRewriter_BinaryOperator.vb (32)
88Me._factory.Literal(isLifted), 89_factory.MethodInfo(node.Call.Method, _factory.WellKnownType(WellKnownType.System_Reflection_MethodInfo))) 98_factory.MethodInfo(node.Call.Method, _factory.WellKnownType(WellKnownType.System_Reflection_MethodInfo))) 114_factory.MethodInfo(operand.Call.Method, _factory.WellKnownType(WellKnownType.System_Reflection_MethodInfo))) 210Return ConvertRuntimeHelperToExpressionTree(opMethod, left, right, Me._factory.Literal(resultType.IsNullableType), _factory.MethodInfo(helper, _factory.WellKnownType(WellKnownType.System_Reflection_MethodInfo))) 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, _factory.WellKnownType(WellKnownType.System_Reflection_MethodInfo))) 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, _factory.WellKnownType(WellKnownType.System_Type))) 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 (16)
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.WellKnownType(WellKnownType.System_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 (29)
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, _factory.WellKnownType(WellKnownType.System_Type))) 411Return ConvertRuntimeHelperToExpressionTree(If(isChecked, "ConvertChecked", "Convert"), expr, _factory.[Typeof](type, _factory.WellKnownType(WellKnownType.System_Type))) 419_factory.[Typeof](type, _factory.WellKnownType(WellKnownType.System_Type)), 420_factory.MethodInfo(helper, _factory.WellKnownType(WellKnownType.System_Reflection_MethodInfo))) 594Return Me._factory.WellKnownMember(Of MethodSymbol)(wellKnownHelper) 596Return DirectCast(_factory.SpecialMember(specialHelper), MethodSymbol)
Lowering\ExpressionLambdaRewriter\ExpressionLambdaRewriter_UnaryOperator.vb (11)
47Return If(method Is Nothing, argument, ConvertRuntimeHelperToExpressionTree("UnaryPlus", argument, Me._factory.MethodInfo(method, _factory.WellKnownType(WellKnownType.System_Reflection_MethodInfo)))) 67Return ConvertRuntimeHelperToExpressionTree(helperName, argument, Me._factory.MethodInfo(method, _factory.WellKnownType(WellKnownType.System_Reflection_MethodInfo))) 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, _factory.WellKnownType(WellKnownType.System_Reflection_MethodInfo))) 215Return DirectCast(_factory.SpecialMember(specialHelper), MethodSymbol) 234Return Me._factory.WellKnownMember(Of MethodSymbol)(wellKnownHelper)