1 write to _bound
Microsoft.CodeAnalysis.CSharp (1)
Lowering\ClosureConversion\ExpressionLambdaRewriter.cs (1)
103
_bound
= new SyntheticBoundNodeFactory(null, compilationState.Type, node, compilationState, diagnostics);
153 references to _bound
Microsoft.CodeAnalysis.CSharp (153)
Lowering\ClosureConversion\ExpressionLambdaRewriter.cs (153)
32
_ExpressionType =
_bound
.WellKnownType(WellKnownType.System_Linq_Expressions_Expression);
45
_ParameterExpressionType =
_bound
.WellKnownType(WellKnownType.System_Linq_Expressions_ParameterExpression);
58
_ElementInitType =
_bound
.WellKnownType(WellKnownType.System_Linq_Expressions_ElementInit);
72
_MemberBindingType =
_bound
.WellKnownType(WellKnownType.System_Linq_Expressions_MemberBinding);
91
_MemberInfoType =
_bound
.WellKnownType(WellKnownType.System_Reflection_MemberInfo);
99
private BindingDiagnosticBag Diagnostics { get { return
_bound
.Diagnostics; } }
104
_int32Type =
_bound
.SpecialType(SpecialType.System_Int32);
105
_objectType =
_bound
.SpecialType(SpecialType.System_Object);
106
_nullableType =
_bound
.SpecialType(SpecialType.System_Nullable_T);
107
_IEnumerableType =
_bound
.SpecialType(SpecialType.System_Collections_Generic_IEnumerable_T);
173
SyntaxNode old =
_bound
.Syntax;
174
_bound
.Syntax = node.Syntax;
176
_bound
.Syntax = old;
177
Conversion c =
_bound
.ClassifyEmitConversion(result, ExpressionType);
180
return
_bound
.Convert(ExpressionType, result, c);
309
return
_bound
.StaticCall(WellKnownMember.System_Linq_Expressions_Expression__ArrayIndex_Expression_Expression, array, index);
313
return
_bound
.StaticCall(WellKnownMember.System_Linq_Expressions_Expression__ArrayIndex_Expression_Expressions, array, Indices(node.Indices));
330
return
_bound
.ArrayOrEmpty(ExpressionType, builder.ToImmutableAndFree());
341
return
_bound
.ArrayOrEmpty(ExpressionType, builder.ToImmutableAndFree());
347
var boundType =
_bound
.Typeof(arrayType.ElementType,
_bound
.WellKnownType(WellKnownType.System_Type));
352
return
_bound
.StaticCall(WellKnownMember.System_Linq_Expressions_Expression__NewArrayInit, boundType, Expressions(node.InitializerOpt.Initializers));
363
return
_bound
.StaticCall(WellKnownMember.System_Linq_Expressions_Expression__NewArrayBounds, boundType, Expressions(node.Bounds));
369
return
_bound
.StaticCall(WellKnownMember.System_Linq_Expressions_Expression__ArrayLength, Visit(node.Expression));
376
var operand =
_bound
.Null(
_bound
.SpecialType(SpecialType.System_Object));
382
return
_bound
.StaticCall(WellKnownMember.System_Linq_Expressions_Expression__TypeAs, Visit(node.Operand),
_bound
.Typeof(node.Type,
_bound
.WellKnownType(WellKnownType.System_Type)));
502
left =
_bound
.Default(right.Type);
506
right =
_bound
.Default(left.Type);
577
((object)methodOpt == null) ?
_bound
.StaticCall(opFactory, loweredLeft, loweredRight) :
579
_bound
.StaticCall(opFactory, loweredLeft, loweredRight,
580
_bound
.Literal(isLifted && !TypeSymbol.Equals(methodOpt.ReturnType, type, TypeCompareKind.ConsiderEverything2)),
581
_bound
.MethodInfo(methodOpt,
_bound
.WellKnownType(WellKnownType.System_Reflection_MethodInfo))) :
582
_bound
.StaticCall(opFactory, loweredLeft, loweredRight,
583
_bound
.MethodInfo(methodOpt,
_bound
.WellKnownType(WellKnownType.System_Reflection_MethodInfo)));
601
return
_bound
.SpecialType(possiblePromote);
627
var useSiteInfo = new CompoundUseSiteInfo<AssemblySymbol>(Diagnostics,
_bound
.Compilation.Assembly);
628
var kind =
_bound
.Compilation.Conversions.ClassifyConversionFromType(oldType, newType, isChecked: false, ref useSiteInfo).Kind;
648
return
_bound
.StaticCall(WellKnownMember.System_Linq_Expressions_Expression__Invoke, Visit(node.ReceiverOpt), Expressions(node.Arguments));
654
return
_bound
.StaticCall(
656
method.RequiresInstanceReceiver ? Visit(node.ReceiverOpt) :
_bound
.Null(ExpressionType),
657
_bound
.MethodInfo(method,
_bound
.WellKnownType(WellKnownType.System_Reflection_MethodInfo)),
667
return
_bound
.StaticCall(WellKnownMember.System_Linq_Expressions_Expression__Condition, condition, consequence, alternative);
721
var e2 =
_bound
.StaticCall(node.Checked && SyntaxFacts.IsCheckedOperator(method.Name) ?
724
e1,
_bound
.Typeof(resultType,
_bound
.WellKnownType(WellKnownType.System_Type)),
725
_bound
.MethodInfo(method,
_bound
.WellKnownType(WellKnownType.System_Reflection_MethodInfo)));
748
return Convert(Constant(
_bound
.Null(_objectType)), _objectType, node.Type, false, node.ExplicitCastInCode);
761
return
_bound
.StaticCall(isChecked ?
764
expr,
_bound
.Typeof(type,
_bound
.WellKnownType(WellKnownType.System_Type)));
769
var nullObject =
_bound
.Null(_objectType);
776
Conversion c =
_bound
.ClassifyEmitConversion(receiver, _objectType);
779
receiver =
_bound
.Convert(_objectType, receiver, c);
782
var createDelegate =
_bound
.WellKnownMethod(WellKnownMember.System_Reflection_MethodInfo__CreateDelegate, isOptional: true);
787
unquoted =
_bound
.Call(
_bound
.MethodInfo(method, createDelegate.ContainingType), createDelegate,
_bound
.Typeof(delegateType, createDelegate.Parameters[0].Type), receiver);
792
createDelegate =
_bound
.SpecialMethod(SpecialMember.System_Delegate__CreateDelegate);
793
unquoted =
_bound
.Call(null, createDelegate,
794
_bound
.Typeof(delegateType, createDelegate.Parameters[0].Type),
796
_bound
.MethodInfo(method, createDelegate.Parameters[2].Type));
830
var receiver = node.FieldSymbol.IsStatic ?
_bound
.Null(ExpressionType) : Visit(node.ReceiverOpt);
831
return
_bound
.StaticCall(
833
receiver,
_bound
.FieldInfo(node.FieldSymbol));
841
operand =
_bound
.Null(_objectType);
844
return
_bound
.StaticCall(WellKnownMember.System_Linq_Expressions_Expression__TypeIs, Visit(operand),
_bound
.Typeof(node.TargetType.Type,
_bound
.WellKnownType(WellKnownType.System_Type)));
850
return node.Type.IsExpressionTree() ?
_bound
.StaticCall(WellKnownMember.System_Linq_Expressions_Expression__Quote, result) : result;
861
var param =
_bound
.SynthesizedLocal(ParameterExpressionType);
863
var parameterReference =
_bound
.Local(param);
865
var parameter =
_bound
.StaticCall(
867
_bound
.Typeof(_typeMap.SubstituteType(p.Type).Type,
_bound
.WellKnownType(WellKnownType.System_Type)),
_bound
.Literal(p.Name));
868
initializers.Add(
_bound
.AssignmentExpression(parameterReference, parameter));
873
var result =
_bound
.Sequence(locals.ToImmutableAndFree(), initializers.ToImmutableAndFree(),
874
_bound
.StaticCall(
878
_bound
.ArrayOrEmpty(ParameterExpressionType, parameters.ToImmutableAndFree())));
890
return VisitObjectCreationContinued(
_bound
.StaticCall(WellKnownMember.System_Linq_Expressions_Expression__New_Type,
_bound
.Typeof(node.Type,
_bound
.WellKnownType(WellKnownType.System_Type))), node.InitializerExpressionOpt);
900
return
_bound
.StaticCall(WellKnownMember.System_Linq_Expressions_Expression__Coalesce_Lambda, left, right, makeConversionLambda(node.LeftConversion, node.LeftPlaceholder));
904
return
_bound
.StaticCall(WellKnownMember.System_Linq_Expressions_Expression__Coalesce, left, right);
911
ParameterSymbol lambdaParameter =
_bound
.SynthesizedParameter(fromType, parameterName);
912
var param =
_bound
.SynthesizedLocal(ParameterExpressionType);
913
var parameterReference =
_bound
.Local(param);
914
var parameter =
_bound
.StaticCall(WellKnownMember.System_Linq_Expressions_Expression__Parameter,
_bound
.Typeof(fromType,
_bound
.WellKnownType(WellKnownType.System_Type)),
_bound
.Literal(parameterName));
920
var result =
_bound
.Sequence(
922
ImmutableArray.Create<BoundExpression>(
_bound
.AssignmentExpression(parameterReference, parameter)),
923
_bound
.StaticCall(
926
_bound
.ArrayOrEmpty(ParameterExpressionType, ImmutableArray.Create<BoundExpression>(parameterReference))));
937
BoundExpression fieldInfo =
_bound
.FieldInfo((FieldSymbol)symbol);
938
Conversion c =
_bound
.ClassifyEmitConversion(fieldInfo, MemberInfoType);
941
return
_bound
.Convert(MemberInfoType, fieldInfo, c);
944
return
_bound
.MethodInfo(((PropertySymbol)symbol).GetOwnOrInheritedSetMethod(),
_bound
.WellKnownType(WellKnownType.System_Reflection_MethodInfo));
947
BoundExpression fieldInfo =
_bound
.FieldInfo(((EventSymbol)symbol).AssociatedField);
948
Conversion c =
_bound
.ClassifyEmitConversion(fieldInfo, MemberInfoType);
951
return
_bound
.Convert(MemberInfoType, fieldInfo, c);
964
BoundExpression fieldInfo =
_bound
.FieldInfo((FieldSymbol)symbol);
965
Conversion c =
_bound
.ClassifyEmitConversion(fieldInfo, MemberInfoType);
968
return
_bound
.Convert(MemberInfoType, fieldInfo, c);
971
return
_bound
.MethodInfo(((PropertySymbol)symbol).GetOwnOrInheritedGetMethod(),
_bound
.WellKnownType(WellKnownType.System_Reflection_MethodInfo));
974
BoundExpression fieldInfo =
_bound
.FieldInfo(((EventSymbol)symbol).AssociatedField);
975
Conversion c =
_bound
.ClassifyEmitConversion(fieldInfo, MemberInfoType);
978
return
_bound
.Convert(MemberInfoType, fieldInfo, c);
1009
builder.Add(
_bound
.StaticCall(sym.Kind is SymbolKind.Property ?
1018
builder.Add(
_bound
.StaticCall(sym.Kind is SymbolKind.Property ?
1027
builder.Add(
_bound
.StaticCall(sym.Kind is SymbolKind.Property ?
1039
return
_bound
.ArrayOrEmpty(MemberBindingType, builder.ToImmutableAndFree());
1054
BoundExpression elementInit =
_bound
.StaticCall(WellKnownMember.System_Linq_Expressions_Expression__ElementInit,
1055
_bound
.MethodInfo(i.AddMethod,
_bound
.WellKnownType(WellKnownType.System_Reflection_MethodInfo)),
1060
return
_bound
.ArrayOrEmpty(ElementInitType, builder.ToImmutableAndFree());
1085
return
_bound
.StaticCall(WellKnownMember.System_Linq_Expressions_Expression__ListInit, result, init);
1087
return
_bound
.StaticCall(WellKnownMember.System_Linq_Expressions_Expression__MemberInit, result, init);
1105
return
_bound
.StaticCall(WellKnownMember.System_Linq_Expressions_Expression__New_Type,
_bound
.Typeof(node.Type,
_bound
.WellKnownType(WellKnownType.System_Type)));
1108
var ctor =
_bound
.ConstructorInfo(node.Constructor);
1112
Conversion c =
_bound
.ClassifyEmitConversion(args, iEnumerableType);
1115
args =
_bound
.Convert(iEnumerableType, args, c);
1122
membersBuilder.Add(
_bound
.MethodInfo(AnonymousTypeManager.GetAnonymousTypeProperty(anonType, i).GetMethod,
_bound
.WellKnownType(WellKnownType.System_Reflection_MethodInfo)));
1125
return
_bound
.StaticCall(WellKnownMember.System_Linq_Expressions_Expression__New_ConstructorInfo_Expressions_MemberInfos,
1126
ctor, args,
_bound
.ArrayOrEmpty(MemberInfoType, membersBuilder.ToImmutableAndFree()));
1130
return
_bound
.StaticCall(WellKnownMember.System_Linq_Expressions_Expression__New_ConstructorInfo_IEnumerableExpressions, ctor, args);
1155
var receiver = node.PropertySymbol.IsStatic ?
_bound
.Null(ExpressionType) : Visit(node.ReceiverOpt);
1175
return
_bound
.StaticCall(WellKnownMember.System_Linq_Expressions_Expression__Property, receiver,
_bound
.MethodInfo(getMethod,
_bound
.WellKnownType(WellKnownType.System_Reflection_MethodInfo)));
1243
var result =
_bound
.StaticCall(opFactory, loweredArg);
1248
?
_bound
.StaticCall(opFactory, loweredArg)
1249
:
_bound
.StaticCall(opFactory, loweredArg,
_bound
.MethodInfo(node.MethodOpt,
_bound
.WellKnownType(WellKnownType.System_Reflection_MethodInfo)));
1256
Conversion c =
_bound
.ClassifyEmitConversion(node, _objectType);
1259
return
_bound
.StaticCall(
1261
_bound
.Convert(_objectType, node, c),
1262
_bound
.Typeof(node.Type,
_bound
.WellKnownType(WellKnownType.System_Type)));