<PackageReference Include="Microsoft.CSharp" Version="4.6.0" />

Microsoft.CSharp.RuntimeBinder.Semantics.ExprFactory

sealed class ExprFactory
namespace Microsoft.CSharp.RuntimeBinder.Semantics { internal sealed class ExprFactory { public ExprFactory(GlobalSymbolContext globalSymbolContext); public ConstValFactory GetExprConstants(); public EXPRCALL CreateCall(EXPRFLAG nFlags, CType pType, EXPR pOptionalArguments, EXPRMEMGRP pMemberGroup, MethWithInst MWI); public EXPRFIELD CreateField(EXPRFLAG nFlags, CType pType, EXPR pOptionalObject, uint nOffset, FieldWithType FWT, EXPR pOptionalLHS); public EXPRFUNCPTR CreateFunctionPointer(EXPRFLAG nFlags, CType pType, EXPR pObject, MethWithInst MWI); public EXPRARRINIT CreateArrayInit(EXPRFLAG nFlags, CType pType, EXPR pOptionalArguments, EXPR pOptionalArgumentDimensions, int[] pDimSizes); public EXPRPROP CreateProperty(CType pType, EXPR pOptionalObject); public EXPRPROP CreateProperty(CType pType, EXPR pOptionalObjectThrough, EXPR pOptionalArguments, EXPRMEMGRP pMemberGroup, PropWithType pwtSlot, MethWithType mwtGet, MethWithType mwtSet); public EXPREVENT CreateEvent(CType pType, EXPR pOptionalObject, EventWithType EWT); public EXPRMEMGRP CreateMemGroup(EXPRFLAG nFlags, Name pName, TypeArray pTypeArgs, SYMKIND symKind, CType pTypePar, MethodOrPropertySymbol pMPS, EXPR pObject, CMemberLookupResults memberLookupResults); public EXPRMEMGRP CreateMemGroup(EXPR pObject, MethPropWithInst mwi); public EXPRUSERDEFINEDCONVERSION CreateUserDefinedConversion(EXPR arg, EXPR call, MethWithInst mwi); public EXPRCAST CreateCast(EXPRFLAG nFlags, CType pType, EXPR pArg); public EXPRCAST CreateCast(EXPRFLAG nFlags, EXPRTYPEORNAMESPACE pType, EXPR pArg); public EXPRRETURN CreateReturn(EXPRFLAG nFlags, Scope pCurrentScope, EXPR pOptionalObject); public EXPRRETURN CreateReturn(EXPRFLAG nFlags, Scope pCurrentScope, EXPR pOptionalObject, EXPR pOptionalOriginalObject); public EXPRLOCAL CreateLocal(EXPRFLAG nFlags, LocalVariableSymbol pLocal); public EXPRTHISPOINTER CreateThis(LocalVariableSymbol pLocal, bool fImplicit); public EXPRBOUNDLAMBDA CreateAnonymousMethod(AggregateType delegateType); public EXPRUNBOUNDLAMBDA CreateLambda(); public EXPRHOISTEDLOCALEXPR CreateHoistedLocalInExpression(EXPRLOCAL localToHoist); public EXPRMETHODINFO CreateMethodInfo(MethPropWithInst mwi); public EXPRMETHODINFO CreateMethodInfo(MethodSymbol method, AggregateType methodType, TypeArray methodParameters); public EXPRPropertyInfo CreatePropertyInfo(PropertySymbol prop, AggregateType propertyType); public EXPRFIELDINFO CreateFieldInfo(FieldSymbol field, AggregateType fieldType); public EXPRTYPEOF CreateTypeOf(EXPRTYPEORNAMESPACE pSourceType); public EXPRTYPEOF CreateTypeOf(CType pSourceType); public EXPRUSERLOGOP CreateUserLogOp(CType pType, EXPR pCallTF, EXPRCALL pCallOp); public EXPRUSERLOGOP CreateUserLogOpError(CType pType, EXPR pCallTF, EXPRCALL pCallOp); public EXPRCONCAT CreateConcat(EXPR op1, EXPR op2); public EXPRCONSTANT CreateStringConstant(string str); public EXPRMULTIGET CreateMultiGet(EXPRFLAG nFlags, CType pType, EXPRMULTI pOptionalMulti); public EXPRMULTI CreateMulti(EXPRFLAG nFlags, CType pType, EXPR pLeft, EXPR pOp); public EXPR CreateZeroInit(CType pType); public EXPR CreateZeroInit(EXPRTYPEORNAMESPACE pTypeExpr); public EXPRCONSTANT CreateConstant(CType pType, CONSTVAL constVal); public EXPRCONSTANT CreateConstant(CType pType, CONSTVAL constVal, EXPR pOriginal); public EXPRCONSTANT CreateConstant(CType pType); public EXPRCONSTANT CreateIntegerConstant(int x); public EXPRCONSTANT CreateBoolConstant(bool b); public EXPRBLOCK CreateBlock(EXPRBLOCK pOptionalCurrentBlock, EXPRSTMT pOptionalStatements, Scope pOptionalScope); public EXPRQUESTIONMARK CreateQuestionMark(EXPR pTestExpression, EXPRBINOP pConsequence); public EXPRARRAYINDEX CreateArrayIndex(EXPR pArray, EXPR pIndex); public EXPRARRAYLENGTH CreateArrayLength(EXPR pArray); public EXPRBINOP CreateBinop(ExpressionKind exprKind, CType pType, EXPR p1, EXPR p2); public EXPRUNARYOP CreateUnaryOp(ExpressionKind exprKind, CType pType, EXPR pOperand); public EXPR CreateOperator(ExpressionKind exprKind, CType pType, EXPR pArg1, EXPR pOptionalArg2); public EXPRBINOP CreateUserDefinedBinop(ExpressionKind exprKind, CType pType, EXPR p1, EXPR p2, EXPR call, MethPropWithInst pmpwi); public EXPRUNARYOP CreateUserDefinedUnaryOperator(ExpressionKind exprKind, CType pType, EXPR pOperand, EXPR call, MethPropWithInst pmpwi); public EXPRUNARYOP CreateNeg(EXPRFLAG nFlags, EXPR pOperand); public EXPRBINOP CreateSequence(EXPR p1, EXPR p2); public EXPRBINOP CreateReverseSequence(EXPR p1, EXPR p2); public EXPRASSIGNMENT CreateAssignment(EXPR pLHS, EXPR pRHS); public EXPRNamedArgumentSpecification CreateNamedArgumentSpecification(Name pName, EXPR pValue); public EXPRWRAP CreateWrap(Scope pCurrentScope, EXPR pOptionalExpression); public EXPRWRAP CreateWrapNoAutoFree(Scope pCurrentScope, EXPR pOptionalWrap); public EXPRBINOP CreateSave(EXPRWRAP wrap); public EXPR CreateNull(); public void AppendItemToList(EXPR newItem, ref EXPR first, ref EXPR last); public EXPRLIST CreateList(EXPR op1, EXPR op2); public EXPRLIST CreateList(EXPR op1, EXPR op2, EXPR op3); public EXPRLIST CreateList(EXPR op1, EXPR op2, EXPR op3, EXPR op4); public EXPRTYPEARGUMENTS CreateTypeArguments(TypeArray pTypeArray, EXPR pOptionalElements); public EXPRCLASS CreateClass(CType pType, EXPR pOptionalLHS, EXPRTYPEARGUMENTS pOptionalTypeArguments); public EXPRCLASS MakeClass(CType pType); } }