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);
718
var e2 =
_bound
.StaticCall(node.Checked && SyntaxFacts.IsCheckedOperator(method.Name) ?
721
e1,
_bound
.Typeof(resultType,
_bound
.WellKnownType(WellKnownType.System_Type)),
722
_bound
.MethodInfo(method,
_bound
.WellKnownType(WellKnownType.System_Reflection_MethodInfo)));
745
return Convert(Constant(
_bound
.Null(_objectType)), _objectType, node.Type, false, node.ExplicitCastInCode);
758
return
_bound
.StaticCall(isChecked ?
761
expr,
_bound
.Typeof(type,
_bound
.WellKnownType(WellKnownType.System_Type)));
766
var nullObject =
_bound
.Null(_objectType);
773
Conversion c =
_bound
.ClassifyEmitConversion(receiver, _objectType);
776
receiver =
_bound
.Convert(_objectType, receiver, c);
779
var createDelegate =
_bound
.WellKnownMethod(WellKnownMember.System_Reflection_MethodInfo__CreateDelegate, isOptional: true);
784
unquoted =
_bound
.Call(
_bound
.MethodInfo(method, createDelegate.ContainingType), createDelegate,
_bound
.Typeof(delegateType, createDelegate.Parameters[0].Type), receiver);
789
createDelegate =
_bound
.SpecialMethod(SpecialMember.System_Delegate__CreateDelegate);
790
unquoted =
_bound
.Call(null, createDelegate,
791
_bound
.Typeof(delegateType, createDelegate.Parameters[0].Type),
793
_bound
.MethodInfo(method, createDelegate.Parameters[2].Type));
827
var receiver = node.FieldSymbol.IsStatic ?
_bound
.Null(ExpressionType) : Visit(node.ReceiverOpt);
828
return
_bound
.StaticCall(
830
receiver,
_bound
.FieldInfo(node.FieldSymbol));
838
operand =
_bound
.Null(_objectType);
841
return
_bound
.StaticCall(WellKnownMember.System_Linq_Expressions_Expression__TypeIs, Visit(operand),
_bound
.Typeof(node.TargetType.Type,
_bound
.WellKnownType(WellKnownType.System_Type)));
847
return node.Type.IsExpressionTree() ?
_bound
.StaticCall(WellKnownMember.System_Linq_Expressions_Expression__Quote, result) : result;
858
var param =
_bound
.SynthesizedLocal(ParameterExpressionType);
860
var parameterReference =
_bound
.Local(param);
862
var parameter =
_bound
.StaticCall(
864
_bound
.Typeof(_typeMap.SubstituteType(p.Type).Type,
_bound
.WellKnownType(WellKnownType.System_Type)),
_bound
.Literal(p.Name));
865
initializers.Add(
_bound
.AssignmentExpression(parameterReference, parameter));
870
var result =
_bound
.Sequence(locals.ToImmutableAndFree(), initializers.ToImmutableAndFree(),
871
_bound
.StaticCall(
875
_bound
.ArrayOrEmpty(ParameterExpressionType, parameters.ToImmutableAndFree())));
887
return VisitObjectCreationContinued(
_bound
.StaticCall(WellKnownMember.System_Linq_Expressions_Expression__New_Type,
_bound
.Typeof(node.Type,
_bound
.WellKnownType(WellKnownType.System_Type))), node.InitializerExpressionOpt);
897
return
_bound
.StaticCall(WellKnownMember.System_Linq_Expressions_Expression__Coalesce_Lambda, left, right, makeConversionLambda(node.LeftConversion, node.LeftPlaceholder));
901
return
_bound
.StaticCall(WellKnownMember.System_Linq_Expressions_Expression__Coalesce, left, right);
908
ParameterSymbol lambdaParameter =
_bound
.SynthesizedParameter(fromType, parameterName);
909
var param =
_bound
.SynthesizedLocal(ParameterExpressionType);
910
var parameterReference =
_bound
.Local(param);
911
var parameter =
_bound
.StaticCall(WellKnownMember.System_Linq_Expressions_Expression__Parameter,
_bound
.Typeof(fromType,
_bound
.WellKnownType(WellKnownType.System_Type)),
_bound
.Literal(parameterName));
917
var result =
_bound
.Sequence(
919
ImmutableArray.Create<BoundExpression>(
_bound
.AssignmentExpression(parameterReference, parameter)),
920
_bound
.StaticCall(
923
_bound
.ArrayOrEmpty(ParameterExpressionType, ImmutableArray.Create<BoundExpression>(parameterReference))));
934
BoundExpression fieldInfo =
_bound
.FieldInfo((FieldSymbol)symbol);
935
Conversion c =
_bound
.ClassifyEmitConversion(fieldInfo, MemberInfoType);
938
return
_bound
.Convert(MemberInfoType, fieldInfo, c);
941
return
_bound
.MethodInfo(((PropertySymbol)symbol).GetOwnOrInheritedSetMethod(),
_bound
.WellKnownType(WellKnownType.System_Reflection_MethodInfo));
944
BoundExpression fieldInfo =
_bound
.FieldInfo(((EventSymbol)symbol).AssociatedField);
945
Conversion c =
_bound
.ClassifyEmitConversion(fieldInfo, MemberInfoType);
948
return
_bound
.Convert(MemberInfoType, fieldInfo, c);
961
BoundExpression fieldInfo =
_bound
.FieldInfo((FieldSymbol)symbol);
962
Conversion c =
_bound
.ClassifyEmitConversion(fieldInfo, MemberInfoType);
965
return
_bound
.Convert(MemberInfoType, fieldInfo, c);
968
return
_bound
.MethodInfo(((PropertySymbol)symbol).GetOwnOrInheritedGetMethod(),
_bound
.WellKnownType(WellKnownType.System_Reflection_MethodInfo));
971
BoundExpression fieldInfo =
_bound
.FieldInfo(((EventSymbol)symbol).AssociatedField);
972
Conversion c =
_bound
.ClassifyEmitConversion(fieldInfo, MemberInfoType);
975
return
_bound
.Convert(MemberInfoType, fieldInfo, c);
1006
builder.Add(
_bound
.StaticCall(sym.Kind is SymbolKind.Property ?
1015
builder.Add(
_bound
.StaticCall(sym.Kind is SymbolKind.Property ?
1024
builder.Add(
_bound
.StaticCall(sym.Kind is SymbolKind.Property ?
1036
return
_bound
.ArrayOrEmpty(MemberBindingType, builder.ToImmutableAndFree());
1051
BoundExpression elementInit =
_bound
.StaticCall(WellKnownMember.System_Linq_Expressions_Expression__ElementInit,
1052
_bound
.MethodInfo(i.AddMethod,
_bound
.WellKnownType(WellKnownType.System_Reflection_MethodInfo)),
1057
return
_bound
.ArrayOrEmpty(ElementInitType, builder.ToImmutableAndFree());
1082
return
_bound
.StaticCall(WellKnownMember.System_Linq_Expressions_Expression__ListInit, result, init);
1084
return
_bound
.StaticCall(WellKnownMember.System_Linq_Expressions_Expression__MemberInit, result, init);
1102
return
_bound
.StaticCall(WellKnownMember.System_Linq_Expressions_Expression__New_Type,
_bound
.Typeof(node.Type,
_bound
.WellKnownType(WellKnownType.System_Type)));
1105
var ctor =
_bound
.ConstructorInfo(node.Constructor);
1109
Conversion c =
_bound
.ClassifyEmitConversion(args, iEnumerableType);
1112
args =
_bound
.Convert(iEnumerableType, args, c);
1119
membersBuilder.Add(
_bound
.MethodInfo(AnonymousTypeManager.GetAnonymousTypeProperty(anonType, i).GetMethod,
_bound
.WellKnownType(WellKnownType.System_Reflection_MethodInfo)));
1122
return
_bound
.StaticCall(WellKnownMember.System_Linq_Expressions_Expression__New_ConstructorInfo_Expressions_MemberInfos,
1123
ctor, args,
_bound
.ArrayOrEmpty(MemberInfoType, membersBuilder.ToImmutableAndFree()));
1127
return
_bound
.StaticCall(WellKnownMember.System_Linq_Expressions_Expression__New_ConstructorInfo_IEnumerableExpressions, ctor, args);
1152
var receiver = node.PropertySymbol.IsStatic ?
_bound
.Null(ExpressionType) : Visit(node.ReceiverOpt);
1172
return
_bound
.StaticCall(WellKnownMember.System_Linq_Expressions_Expression__Property, receiver,
_bound
.MethodInfo(getMethod,
_bound
.WellKnownType(WellKnownType.System_Reflection_MethodInfo)));
1240
var result =
_bound
.StaticCall(opFactory, loweredArg);
1245
?
_bound
.StaticCall(opFactory, loweredArg)
1246
:
_bound
.StaticCall(opFactory, loweredArg,
_bound
.MethodInfo(node.MethodOpt,
_bound
.WellKnownType(WellKnownType.System_Reflection_MethodInfo)));
1253
Conversion c =
_bound
.ClassifyEmitConversion(node, _objectType);
1256
return
_bound
.StaticCall(
1258
_bound
.Convert(_objectType, node, c),
1259
_bound
.Typeof(node.Type,
_bound
.WellKnownType(WellKnownType.System_Type)));