Microsoft.CSharp.RuntimeBinder.Semantics.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);
}
}