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);
719
var e2 =
_bound
.StaticCall(node.Checked && SyntaxFacts.IsCheckedOperator(method.Name) ?
722
e1,
_bound
.Typeof(resultType,
_bound
.WellKnownType(WellKnownType.System_Type)),
723
_bound
.MethodInfo(method,
_bound
.WellKnownType(WellKnownType.System_Reflection_MethodInfo)));
746
return Convert(Constant(
_bound
.Null(_objectType)), _objectType, node.Type, false, node.ExplicitCastInCode);
759
return
_bound
.StaticCall(isChecked ?
762
expr,
_bound
.Typeof(type,
_bound
.WellKnownType(WellKnownType.System_Type)));
767
var nullObject =
_bound
.Null(_objectType);
774
Conversion c =
_bound
.ClassifyEmitConversion(receiver, _objectType);
777
receiver =
_bound
.Convert(_objectType, receiver, c);
780
var createDelegate =
_bound
.WellKnownMethod(WellKnownMember.System_Reflection_MethodInfo__CreateDelegate, isOptional: true);
785
unquoted =
_bound
.Call(
_bound
.MethodInfo(method, createDelegate.ContainingType), createDelegate,
_bound
.Typeof(delegateType, createDelegate.Parameters[0].Type), receiver);
790
createDelegate =
_bound
.SpecialMethod(SpecialMember.System_Delegate__CreateDelegate);
791
unquoted =
_bound
.Call(null, createDelegate,
792
_bound
.Typeof(delegateType, createDelegate.Parameters[0].Type),
794
_bound
.MethodInfo(method, createDelegate.Parameters[2].Type));
828
var receiver = node.FieldSymbol.IsStatic ?
_bound
.Null(ExpressionType) : Visit(node.ReceiverOpt);
829
return
_bound
.StaticCall(
831
receiver,
_bound
.FieldInfo(node.FieldSymbol));
839
operand =
_bound
.Null(_objectType);
842
return
_bound
.StaticCall(WellKnownMember.System_Linq_Expressions_Expression__TypeIs, Visit(operand),
_bound
.Typeof(node.TargetType.Type,
_bound
.WellKnownType(WellKnownType.System_Type)));
848
return node.Type.IsExpressionTree() ?
_bound
.StaticCall(WellKnownMember.System_Linq_Expressions_Expression__Quote, result) : result;
859
var param =
_bound
.SynthesizedLocal(ParameterExpressionType);
861
var parameterReference =
_bound
.Local(param);
863
var parameter =
_bound
.StaticCall(
865
_bound
.Typeof(_typeMap.SubstituteType(p.Type).Type,
_bound
.WellKnownType(WellKnownType.System_Type)),
_bound
.Literal(p.Name));
866
initializers.Add(
_bound
.AssignmentExpression(parameterReference, parameter));
871
var result =
_bound
.Sequence(locals.ToImmutableAndFree(), initializers.ToImmutableAndFree(),
872
_bound
.StaticCall(
876
_bound
.ArrayOrEmpty(ParameterExpressionType, parameters.ToImmutableAndFree())));
888
return VisitObjectCreationContinued(
_bound
.StaticCall(WellKnownMember.System_Linq_Expressions_Expression__New_Type,
_bound
.Typeof(node.Type,
_bound
.WellKnownType(WellKnownType.System_Type))), node.InitializerExpressionOpt);
898
return
_bound
.StaticCall(WellKnownMember.System_Linq_Expressions_Expression__Coalesce_Lambda, left, right, makeConversionLambda(node.LeftConversion, node.LeftPlaceholder));
902
return
_bound
.StaticCall(WellKnownMember.System_Linq_Expressions_Expression__Coalesce, left, right);
909
ParameterSymbol lambdaParameter =
_bound
.SynthesizedParameter(fromType, parameterName);
910
var param =
_bound
.SynthesizedLocal(ParameterExpressionType);
911
var parameterReference =
_bound
.Local(param);
912
var parameter =
_bound
.StaticCall(WellKnownMember.System_Linq_Expressions_Expression__Parameter,
_bound
.Typeof(fromType,
_bound
.WellKnownType(WellKnownType.System_Type)),
_bound
.Literal(parameterName));
918
var result =
_bound
.Sequence(
920
ImmutableArray.Create<BoundExpression>(
_bound
.AssignmentExpression(parameterReference, parameter)),
921
_bound
.StaticCall(
924
_bound
.ArrayOrEmpty(ParameterExpressionType, ImmutableArray.Create<BoundExpression>(parameterReference))));
935
BoundExpression fieldInfo =
_bound
.FieldInfo((FieldSymbol)symbol);
936
Conversion c =
_bound
.ClassifyEmitConversion(fieldInfo, MemberInfoType);
939
return
_bound
.Convert(MemberInfoType, fieldInfo, c);
942
return
_bound
.MethodInfo(((PropertySymbol)symbol).GetOwnOrInheritedSetMethod(),
_bound
.WellKnownType(WellKnownType.System_Reflection_MethodInfo));
945
BoundExpression fieldInfo =
_bound
.FieldInfo(((EventSymbol)symbol).AssociatedField);
946
Conversion c =
_bound
.ClassifyEmitConversion(fieldInfo, MemberInfoType);
949
return
_bound
.Convert(MemberInfoType, fieldInfo, c);
962
BoundExpression fieldInfo =
_bound
.FieldInfo((FieldSymbol)symbol);
963
Conversion c =
_bound
.ClassifyEmitConversion(fieldInfo, MemberInfoType);
966
return
_bound
.Convert(MemberInfoType, fieldInfo, c);
969
return
_bound
.MethodInfo(((PropertySymbol)symbol).GetOwnOrInheritedGetMethod(),
_bound
.WellKnownType(WellKnownType.System_Reflection_MethodInfo));
972
BoundExpression fieldInfo =
_bound
.FieldInfo(((EventSymbol)symbol).AssociatedField);
973
Conversion c =
_bound
.ClassifyEmitConversion(fieldInfo, MemberInfoType);
976
return
_bound
.Convert(MemberInfoType, fieldInfo, c);
1007
builder.Add(
_bound
.StaticCall(sym.Kind is SymbolKind.Property ?
1016
builder.Add(
_bound
.StaticCall(sym.Kind is SymbolKind.Property ?
1025
builder.Add(
_bound
.StaticCall(sym.Kind is SymbolKind.Property ?
1037
return
_bound
.ArrayOrEmpty(MemberBindingType, builder.ToImmutableAndFree());
1052
BoundExpression elementInit =
_bound
.StaticCall(WellKnownMember.System_Linq_Expressions_Expression__ElementInit,
1053
_bound
.MethodInfo(i.AddMethod,
_bound
.WellKnownType(WellKnownType.System_Reflection_MethodInfo)),
1058
return
_bound
.ArrayOrEmpty(ElementInitType, builder.ToImmutableAndFree());
1083
return
_bound
.StaticCall(WellKnownMember.System_Linq_Expressions_Expression__ListInit, result, init);
1085
return
_bound
.StaticCall(WellKnownMember.System_Linq_Expressions_Expression__MemberInit, result, init);
1103
return
_bound
.StaticCall(WellKnownMember.System_Linq_Expressions_Expression__New_Type,
_bound
.Typeof(node.Type,
_bound
.WellKnownType(WellKnownType.System_Type)));
1106
var ctor =
_bound
.ConstructorInfo(node.Constructor);
1110
Conversion c =
_bound
.ClassifyEmitConversion(args, iEnumerableType);
1113
args =
_bound
.Convert(iEnumerableType, args, c);
1120
membersBuilder.Add(
_bound
.MethodInfo(AnonymousTypeManager.GetAnonymousTypeProperty(anonType, i).GetMethod,
_bound
.WellKnownType(WellKnownType.System_Reflection_MethodInfo)));
1123
return
_bound
.StaticCall(WellKnownMember.System_Linq_Expressions_Expression__New_ConstructorInfo_Expressions_MemberInfos,
1124
ctor, args,
_bound
.ArrayOrEmpty(MemberInfoType, membersBuilder.ToImmutableAndFree()));
1128
return
_bound
.StaticCall(WellKnownMember.System_Linq_Expressions_Expression__New_ConstructorInfo_IEnumerableExpressions, ctor, args);
1153
var receiver = node.PropertySymbol.IsStatic ?
_bound
.Null(ExpressionType) : Visit(node.ReceiverOpt);
1173
return
_bound
.StaticCall(WellKnownMember.System_Linq_Expressions_Expression__Property, receiver,
_bound
.MethodInfo(getMethod,
_bound
.WellKnownType(WellKnownType.System_Reflection_MethodInfo)));
1241
var result =
_bound
.StaticCall(opFactory, loweredArg);
1246
?
_bound
.StaticCall(opFactory, loweredArg)
1247
:
_bound
.StaticCall(opFactory, loweredArg,
_bound
.MethodInfo(node.MethodOpt,
_bound
.WellKnownType(WellKnownType.System_Reflection_MethodInfo)));
1254
Conversion c =
_bound
.ClassifyEmitConversion(node, _objectType);
1257
return
_bound
.StaticCall(
1259
_bound
.Convert(_objectType, node, c),
1260
_bound
.Typeof(node.Type,
_bound
.WellKnownType(WellKnownType.System_Type)));