C# Class Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder

显示文件 Open project: dotnet/corefx Class Usage Examples

Protected Properties

Property Type Description
Context BindingContext
g_binopSignatures BinOpSig[]
g_rguos UnaOpSig[]
m_nullable CNullable

Private Properties

Property Type Description
AdjustMemberObject EXPR
BindArrayIndexCore EXPR
BindBoolBinOp EXPR
BindBoolBitwiseOp EXPR
BindBoolUnaOp EXPR
BindDecBinOp EXPR
BindDecUnaOp EXPR
BindDelBinOp EXPR
BindEnumBinOp EXPR
BindEnumUnaOp EXPR
BindIncOp EXPR
BindIncOpCore EXPR
BindIntBinOp EXPR
BindIntOp EXPR
BindIntUnaOp EXPR
BindIntegerNeg EXPR
BindLiftedBoolBitwiseOp EXPR
BindLiftedIncOp Microsoft.CSharp.RuntimeBinder.Semantics.EXPRMULTI
BindLiftedStandardBinOp EXPR
BindLiftedStandardUnop EXPR
BindLiftedUDBinop Microsoft.CSharp.RuntimeBinder.Semantics.EXPRCALL
BindLiftedUDUnop Microsoft.CSharp.RuntimeBinder.Semantics.EXPRCALL
BindMethodGroupToArguments EXPR
BindMethodGroupToArgumentsCore bool
BindNonliftedIncOp Microsoft.CSharp.RuntimeBinder.Semantics.EXPRMULTI
BindNubNew Microsoft.CSharp.RuntimeBinder.Semantics.EXPRCALL
BindNubValue EXPR
BindPredefMethToArgs Microsoft.CSharp.RuntimeBinder.Semantics.EXPRCALL
BindPtrBinOp EXPR
BindPtrCmpOp EXPR
BindRealBinOp EXPR
BindRealUnaOp EXPR
BindRefCmpOp EXPR
BindShiftOp EXPR
BindStrBinOp EXPR
BindStrCmpOp EXPR
BindToField EXPR
BindToField EXPR
BindToMethod Microsoft.CSharp.RuntimeBinder.Semantics.EXPRCALL
BindToProperty EXPR
BindUDBinop Microsoft.CSharp.RuntimeBinder.Semantics.EXPRCALL
BindUDBinopCall Microsoft.CSharp.RuntimeBinder.Semantics.EXPRCALL
BindUDUnopCall Microsoft.CSharp.RuntimeBinder.Semantics.EXPRCALL
BindUserBoolOp EXPR
CalculateExprAndUnaryOpKinds bool
CanConvertArg1 bool
CanConvertArg2 bool
ContextForMemberLookup Microsoft.CSharp.RuntimeBinder.Semantics.Declaration
CountArguments int
CreateBinopForPredefMethodCall Microsoft.CSharp.RuntimeBinder.Semantics.EXPRBINOP
CreateUnaryOpForPredefMethodCall EXPRUNARYOP
EnsureChecked void
FillInArgInfoFromArgList void
FindApplicableSignatures bool
FindName int
FoldConstI4Op EXPR
FoldConstI8Op EXPR
FoldIntegerConstants EXPR
GetApplicableUserDefinedBinaryOperatorCandidates bool
GetApplicableUserDefinedBinaryOperatorCandidatesInBaseTypes AggregateType
GetBinopKindAndFlags bool
GetEnumBinOpType AggregateType
GetErrorContext Microsoft.CSharp.RuntimeBinder.Errors.ErrorHandling
GetExprConstants ConstValFactory
GetExprFactory ExprFactory
GetStandardLvalueError ErrorCode
GetUserDefinedBinopArgumentType AggregateType
GetUserDefinedBinopArgumentTypes int
IsMatchingStatic bool
LScalar EXPR
LiftArgument void
PopulateSignatureList UnaryOperatorSignatureFindResult
PostBindMethod void
RearrangeNamedArguments TypeArray
RecordBinOpSigFromArgs void
UserDefinedBinaryOperatorCanBeLifted bool
UserDefinedBinaryOperatorIsApplicable bool
VSFAIL void
VerifyNamedArgumentsAfterFixed bool
WhichBofsIsBetter int
WhichUofsIsBetter int
ambiguousOperatorError EXPR
bindFloatOp EXPR
bindStringConcat EXPR
bindUDUnop EXPR
checkLvalue bool
chooseArrayIndexType CType
isConvInTable bool
isDivByZero bool
objectIsLvalue bool

Public Methods

Method Description
BindStandardBinop ( ExpressionKind ek, EXPR arg1, EXPR arg2 ) : EXPR
BindStandardUnaryOperator ( OperatorKind op, EXPR pArgument ) : EXPR
ExpressionBinder ( BindingContext context ) : System
GenerateAssignmentConversion ( EXPR op1, EXPR op2, bool allowExplicit ) : EXPR
GetContext ( ) : BindingContext
GetSemanticChecker ( ) : Microsoft.CSharp.RuntimeBinder.Semantics.CSemanticChecker
IsMethPropCallable ( MethodOrPropertySymbol sym, bool requireUC ) : bool
RecordUnsafeUsage ( BindingContext context ) : void
RemapToOverride ( SymbolLoader symbolLoader, SymWithType pswt, CType typeObj ) : void
ReportTypeArgsNotAllowedError ( SymbolLoader symbolLoader, int arity, Microsoft.CSharp.RuntimeBinder.Errors.ErrArgRef argName, Microsoft.CSharp.RuntimeBinder.Errors.ErrArgRef argKind ) : void
WhichConversionIsBetter ( CType argType, CType p1, CType p2 ) : BetterType
bindAssignment ( EXPR op1, EXPR op2, bool allowExplicit ) : EXPR
bindSimpleCast ( EXPR exprSrc, EXPRTYPEORNAMESPACE typeDest, EXPR &pexprDest ) : void
bindSimpleCast ( EXPR exprSrc, EXPRTYPEORNAMESPACE exprTypeDest, EXPR &pexprDest, EXPRFLAG exprFlags ) : void
checkUnsafe ( CType type ) : void
checkUnsafe ( CType type, ErrorCode errCode, ErrArg pArg ) : void
isConstantInRange ( EXPRCONSTANT exprSrc, CType typeDest ) : bool
isConstantInRange ( EXPRCONSTANT exprSrc, CType typeDest, bool realsOk ) : bool

Protected Methods

Method Description
AdjustCallArgumentsForParams ( CType callingObjectType, CType type, MethodOrPropertySymbol mp, TypeArray pTypeArgs, EXPR argsPtr, EXPR &newArgs ) : void
BadOperatorTypesError ( ExpressionKind ek, EXPR pOperand1, EXPR pOperand2 ) : EXPR
BadOperatorTypesError ( ExpressionKind ek, EXPR pOperand1, EXPR pOperand2, CType pTypeErr ) : EXPR
BindPtrToArray ( EXPRLOCAL exprLoc, EXPR array ) : Microsoft.CSharp.RuntimeBinder.Semantics.EXPRQUESTIONMARK
BindStandardBinopCore ( BinOpArgInfo info, BinOpFullSig bofs, ExpressionKind ek, EXPRFLAG flags ) : EXPR
CheckLvalueProp ( Microsoft.CSharp.RuntimeBinder.Semantics.EXPRPROP prop ) : void
CheckPropertyAccess ( MethWithType mwt, PropWithType pwtSlot, CType type ) : bool
ContainingAgg ( ) : AggregateSymbol
FindBestMethod ( List list, CType pTypeThrough, ArgInfos args, Microsoft.CSharp.RuntimeBinder.Semantics.CandidateFunctionMember &methAmbig1, Microsoft.CSharp.RuntimeBinder.Semantics.CandidateFunctionMember &methAmbig2 ) : Microsoft.CSharp.RuntimeBinder.Semantics.CandidateFunctionMember
FindBestSignatureInList ( List binopSignatures, BinOpArgInfo info ) : int
GenerateOptimizedAssignment ( EXPR op1, EXPR op2 ) : EXPR
GetDelBinOpSigs ( List prgbofs, BinOpArgInfo info ) : bool
GetEnumBinOpSigs ( List prgbofs, BinOpArgInfo info ) : bool
GetGlobalSymbols ( ) : BSYMMGR
GetOptPDT ( PredefinedType pt ) : AggregateType
GetOptPDT ( PredefinedType pt, bool WarnIfNotFound ) : AggregateType
GetPtrBinOpSigs ( List prgbofs, BinOpArgInfo info ) : bool
GetRefEqualSigs ( List prgbofs, BinOpArgInfo info ) : bool
GetReqPDT ( PredefinedType pt ) : AggregateType
GetReqPDT ( PredefinedType pt, SymbolLoader symbolLoader ) : AggregateType
GetSpecialBinopSignatures ( List prgbofs, BinOpArgInfo info ) : bool
GetStandardAndLiftedBinopSignatures ( List rgbofs, BinOpArgInfo info ) : bool
GetSymbolLoader ( ) : SymbolLoader
GetTypes ( ) : TypeManager
InAnonymousMethod ( ) : bool
InConstructor ( ) : bool
InFieldInitializer ( ) : bool
InMethod ( ) : bool
InStaticMethod ( ) : bool
PostBindProperty ( bool fBaseCall, PropWithType pwt, EXPR pObject, MethWithType &pmwtGet, MethWithType &pmwtSet ) : void
RecordUnsafeUsage ( ) : void
ReportLocalError ( Microsoft.CSharp.RuntimeBinder.Semantics.LocalVariableSymbol local, CheckLvalueKind kind, bool isNested ) : void
ReportReadOnlyError ( Microsoft.CSharp.RuntimeBinder.Semantics.EXPRFIELD field, CheckLvalueKind kind, bool isNested ) : void
ReportUnsafeErrors ( ) : bool
RespectReadonly ( ) : bool
SetExternalRef ( CType type ) : void
TryGetExpandedParams ( TypeArray @params, int count, TypeArray &ppExpandedParams ) : bool
TryReportLvalueFailure ( EXPR expr, CheckLvalueKind kind ) : bool
UnwrapExpression ( EXPR pExpression ) : EXPR
WhichConversionIsBetter ( EXPR arg, CType argType, CType p1, CType p2 ) : BetterType
WhichMethodIsBetter ( Microsoft.CSharp.RuntimeBinder.Semantics.CandidateFunctionMember node1, Microsoft.CSharp.RuntimeBinder.Semantics.CandidateFunctionMember node2, CType pTypeThrough, ArgInfos args ) : BetterType
WhichMethodIsBetterTieBreaker ( Microsoft.CSharp.RuntimeBinder.Semantics.CandidateFunctionMember node1, Microsoft.CSharp.RuntimeBinder.Semantics.CandidateFunctionMember node2, CType pTypeThrough, ArgInfos args ) : BetterType
WrapShortLivedExpression ( EXPR expr ) : EXPR
bindIndexer ( EXPR pObject, EXPR args, BindingFlag bindFlags ) : EXPR
bindNullEqualityComparison ( ExpressionKind ek, BinOpArgInfo info ) : Microsoft.CSharp.RuntimeBinder.Semantics.EXPRBINOP
bindPtrToString ( EXPR @string ) : EXPRUNARYOP
bindUserDefinedBinOp ( ExpressionKind ek, BinOpArgInfo info ) : EXPR
ekName ( ExpressionKind ek ) : Name
getVoidType ( ) : CType
isThisPointer ( EXPR expr ) : bool
isUnsafeContext ( ) : bool
markFieldAssigned ( EXPR expr ) : void
verifyMethodArgs ( EXPR call, CType callingObjectType ) : void

Private Methods

Method Description
AdjustMemberObject ( SymWithType swt, EXPR pObject, bool &pfConstrained, bool &pIsMatchingStatic ) : EXPR
BindArrayIndexCore ( BindingFlag bindFlags, EXPR pOp1, EXPR pOp2 ) : EXPR
BindBoolBinOp ( ExpressionKind ek, EXPRFLAG flags, EXPR arg1, EXPR arg2 ) : EXPR
BindBoolBitwiseOp ( ExpressionKind ek, EXPRFLAG flags, EXPR expr1, EXPR expr2, BinOpFullSig bofs ) : EXPR
BindBoolUnaOp ( ExpressionKind ek, EXPRFLAG flags, EXPR arg ) : EXPR
BindDecBinOp ( ExpressionKind ek, EXPRFLAG flags, EXPR arg1, EXPR arg2 ) : EXPR
BindDecUnaOp ( ExpressionKind ek, EXPRFLAG flags, EXPR arg ) : EXPR
BindDelBinOp ( ExpressionKind ek, EXPRFLAG flags, EXPR arg1, EXPR arg2 ) : EXPR
BindEnumBinOp ( ExpressionKind ek, EXPRFLAG flags, EXPR arg1, EXPR arg2 ) : EXPR
BindEnumUnaOp ( ExpressionKind ek, EXPRFLAG flags, EXPR arg ) : EXPR
BindIncOp ( ExpressionKind ek, EXPRFLAG flags, EXPR arg, UnaOpFullSig uofs ) : EXPR
BindIncOpCore ( ExpressionKind ek, EXPRFLAG flags, EXPR exprVal, CType type ) : EXPR
BindIntBinOp ( ExpressionKind ek, EXPRFLAG flags, EXPR arg1, EXPR arg2 ) : EXPR
BindIntOp ( ExpressionKind kind, EXPRFLAG flags, EXPR op1, EXPR op2, PredefinedType ptOp ) : EXPR
BindIntUnaOp ( ExpressionKind ek, EXPRFLAG flags, EXPR arg ) : EXPR
BindIntegerNeg ( EXPRFLAG flags, EXPR op, PredefinedType ptOp ) : EXPR
BindLiftedBoolBitwiseOp ( ExpressionKind ek, EXPRFLAG flags, EXPR expr1, EXPR expr2 ) : EXPR
BindLiftedIncOp ( ExpressionKind ek, EXPRFLAG flags, EXPR arg, UnaOpFullSig uofs ) : Microsoft.CSharp.RuntimeBinder.Semantics.EXPRMULTI
BindLiftedStandardBinOp ( BinOpArgInfo info, BinOpFullSig bofs, ExpressionKind ek, EXPRFLAG flags ) : EXPR
BindLiftedStandardUnop ( ExpressionKind ek, EXPRFLAG flags, EXPR arg, UnaOpFullSig uofs ) : EXPR
BindLiftedUDBinop ( ExpressionKind ek, EXPR arg1, EXPR arg2, TypeArray Params, MethPropWithInst mpwi ) : Microsoft.CSharp.RuntimeBinder.Semantics.EXPRCALL
BindLiftedUDUnop ( EXPR arg, CType typeArg, MethPropWithInst mpwi ) : Microsoft.CSharp.RuntimeBinder.Semantics.EXPRCALL
BindMethodGroupToArguments ( BindingFlag bindFlags, Microsoft.CSharp.RuntimeBinder.Semantics.EXPRMEMGRP grp, EXPR args ) : EXPR
BindMethodGroupToArgumentsCore ( GroupToArgsBinderResult &pResults, BindingFlag bindFlags, Microsoft.CSharp.RuntimeBinder.Semantics.EXPRMEMGRP grp, EXPR &args, int carg, bool bindingCollectionAdd, bool bHasNamedArgumentSpecifiers ) : bool
BindNonliftedIncOp ( ExpressionKind ek, EXPRFLAG flags, EXPR arg, UnaOpFullSig uofs ) : Microsoft.CSharp.RuntimeBinder.Semantics.EXPRMULTI
BindNubNew ( EXPR exprSrc ) : Microsoft.CSharp.RuntimeBinder.Semantics.EXPRCALL
BindNubValue ( EXPR exprSrc ) : EXPR
BindPredefMethToArgs ( PREDEFMETH predefMethod, EXPR obj, EXPR args, TypeArray clsTypeArgs, TypeArray methTypeArgs ) : Microsoft.CSharp.RuntimeBinder.Semantics.EXPRCALL
BindPtrBinOp ( ExpressionKind ek, EXPRFLAG flags, EXPR arg1, EXPR arg2 ) : EXPR
BindPtrCmpOp ( ExpressionKind ek, EXPRFLAG flags, EXPR arg1, EXPR arg2 ) : EXPR
BindRealBinOp ( ExpressionKind ek, EXPRFLAG flags, EXPR arg1, EXPR arg2 ) : EXPR
BindRealUnaOp ( ExpressionKind ek, EXPRFLAG flags, EXPR arg ) : EXPR
BindRefCmpOp ( ExpressionKind ek, EXPRFLAG flags, EXPR arg1, EXPR arg2 ) : EXPR
BindShiftOp ( ExpressionKind ek, EXPRFLAG flags, EXPR arg1, EXPR arg2 ) : EXPR
BindStrBinOp ( ExpressionKind ek, EXPRFLAG flags, EXPR arg1, EXPR arg2 ) : EXPR
BindStrCmpOp ( ExpressionKind ek, EXPRFLAG flags, EXPR arg1, EXPR arg2 ) : EXPR
BindToField ( EXPR pObject, FieldWithType fwt, BindingFlag bindFlags ) : EXPR
BindToField ( EXPR pOptionalObject, FieldWithType fwt, BindingFlag bindFlags, EXPR pOptionalLHS ) : EXPR
BindToMethod ( MethWithInst mwi, EXPR pArguments, Microsoft.CSharp.RuntimeBinder.Semantics.EXPRMEMGRP pMemGroup, MemLookFlags flags ) : Microsoft.CSharp.RuntimeBinder.Semantics.EXPRCALL
BindToProperty ( EXPR pObject, PropWithType pwt, BindingFlag bindFlags, EXPR args, AggregateType pOtherType, Microsoft.CSharp.RuntimeBinder.Semantics.EXPRMEMGRP pMemGroup ) : EXPR
BindUDBinop ( ExpressionKind ek, EXPR arg1, EXPR arg2, bool fDontLift, MethPropWithInst &ppmpwi ) : Microsoft.CSharp.RuntimeBinder.Semantics.EXPRCALL
BindUDBinopCall ( EXPR arg1, EXPR arg2, TypeArray Params, CType typeRet, MethPropWithInst mpwi ) : Microsoft.CSharp.RuntimeBinder.Semantics.EXPRCALL
BindUDUnopCall ( EXPR arg, CType typeArg, MethPropWithInst mpwi ) : Microsoft.CSharp.RuntimeBinder.Semantics.EXPRCALL
BindUserBoolOp ( ExpressionKind kind, Microsoft.CSharp.RuntimeBinder.Semantics.EXPRCALL pCall ) : EXPR
CalculateExprAndUnaryOpKinds ( OperatorKind op, bool bChecked, ExpressionKind &ek, UnaOpKind &uok, EXPRFLAG &flags ) : bool
CanConvertArg1 ( BinOpArgInfo info, CType typeDst, LiftFlags &pgrflt, CType &ptypeSig1, CType &ptypeSig2 ) : bool
CanConvertArg2 ( BinOpArgInfo info, CType typeDst, LiftFlags &pgrflt, CType &ptypeSig1, CType &ptypeSig2 ) : bool
ContextForMemberLookup ( ) : Microsoft.CSharp.RuntimeBinder.Semantics.Declaration
CountArguments ( EXPR args, bool &typeErrors ) : int
CreateBinopForPredefMethodCall ( ExpressionKind ek, PREDEFMETH predefMeth, CType RetType, EXPR arg1, EXPR arg2 ) : Microsoft.CSharp.RuntimeBinder.Semantics.EXPRBINOP
CreateUnaryOpForPredefMethodCall ( ExpressionKind ek, PREDEFMETH predefMeth, CType pRetType, EXPR pArg ) : EXPRUNARYOP
EnsureChecked ( bool b ) : void
FillInArgInfoFromArgList ( ArgInfos argInfo, EXPR args ) : void
FindApplicableSignatures ( EXPR pArgument, UnaOpMask unaryOpMask, List pSignatures ) : bool
FindName ( List names, Name name ) : int
FoldConstI4Op ( ExpressionKind kind, EXPR op1, Microsoft.CSharp.RuntimeBinder.Semantics.EXPRCONSTANT opConst1, EXPR op2, Microsoft.CSharp.RuntimeBinder.Semantics.EXPRCONSTANT opConst2, PredefinedType ptOp ) : EXPR
FoldConstI8Op ( ExpressionKind kind, EXPR op1, Microsoft.CSharp.RuntimeBinder.Semantics.EXPRCONSTANT opConst1, EXPR op2, Microsoft.CSharp.RuntimeBinder.Semantics.EXPRCONSTANT opConst2, PredefinedType ptOp ) : EXPR
FoldIntegerConstants ( ExpressionKind kind, EXPRFLAG flags, EXPR op1, EXPR op2, PredefinedType ptOp ) : EXPR
GetApplicableUserDefinedBinaryOperatorCandidates ( List candidateList, ExpressionKind ek, AggregateType type, EXPR arg1, EXPR arg2, bool fDontLift ) : bool
GetApplicableUserDefinedBinaryOperatorCandidatesInBaseTypes ( List candidateList, ExpressionKind ek, AggregateType type, EXPR arg1, EXPR arg2, bool fDontLift, AggregateType atsStop ) : AggregateType
GetBinopKindAndFlags ( ExpressionKind ek, BinOpKind &pBinopKind, EXPRFLAG &flags ) : bool
GetEnumBinOpType ( ExpressionKind ek, CType argType1, CType argType2, AggregateType &ppEnumType ) : AggregateType
GetErrorContext ( ) : ErrorHandling
GetExprConstants ( ) : ConstValFactory
GetExprFactory ( ) : ExprFactory
GetStandardLvalueError ( CheckLvalueKind kind ) : ErrorCode
GetUserDefinedBinopArgumentType ( CType type ) : AggregateType
GetUserDefinedBinopArgumentTypes ( CType type1, CType type2, AggregateType rgats ) : int
IsMatchingStatic ( SymWithType swt, EXPR pObject ) : bool
LScalar ( ExpressionKind ek, EXPRFLAG flags, EXPR exprVal, CType type, CONSTVAL cv, EXPR pExprResult, CType typeTmp ) : EXPR
LiftArgument ( EXPR pArgument, CType pParameterType, bool bConvertBeforeLift, EXPR &ppLiftedArgument, EXPR &ppNonLiftedArgument ) : void
PopulateSignatureList ( EXPR pArgument, UnaOpKind unaryOpKind, UnaOpMask unaryOpMask, ExpressionKind exprKind, EXPRFLAG flags, List pSignatures, EXPR &ppResult ) : UnaryOperatorSignatureFindResult
PostBindMethod ( bool fBaseCall, MethWithInst &pMWI, EXPR pObject ) : void
RearrangeNamedArguments ( TypeArray pta, MethPropWithInst mpwi, CType pTypeThrough, ArgInfos args ) : TypeArray
RecordBinOpSigFromArgs ( List prgbofs, BinOpArgInfo info ) : void
UserDefinedBinaryOperatorCanBeLifted ( ExpressionKind ek, MethodSymbol method, AggregateType ats, TypeArray Params ) : bool
UserDefinedBinaryOperatorIsApplicable ( List candidateList, ExpressionKind ek, MethodSymbol method, AggregateType ats, EXPR arg1, EXPR arg2, bool fDontLift ) : bool
VSFAIL ( string s ) : void
VerifyNamedArgumentsAfterFixed ( EXPR args, bool &seenNamed ) : bool
WhichBofsIsBetter ( BinOpFullSig bofs1, BinOpFullSig bofs2, CType type1, CType type2 ) : int
WhichUofsIsBetter ( UnaOpFullSig uofs1, UnaOpFullSig uofs2, CType typeArg ) : int
ambiguousOperatorError ( ExpressionKind ek, EXPR op1, EXPR op2 ) : EXPR
bindFloatOp ( ExpressionKind kind, EXPRFLAG flags, EXPR op1, EXPR op2 ) : EXPR
bindStringConcat ( EXPR op1, EXPR op2 ) : EXPR
bindUDUnop ( ExpressionKind ek, EXPR arg ) : EXPR
checkLvalue ( EXPR expr, CheckLvalueKind kind ) : bool
chooseArrayIndexType ( EXPR args ) : CType
isConvInTable ( List convTable, MethodSymbol meth, AggregateType ats, bool fSrc, bool fDst ) : bool
isDivByZero ( ExpressionKind kind, EXPR op2 ) : bool
objectIsLvalue ( EXPR pObject ) : bool

Method Details

AdjustCallArgumentsForParams() protected method

protected AdjustCallArgumentsForParams ( CType callingObjectType, CType type, MethodOrPropertySymbol mp, TypeArray pTypeArgs, EXPR argsPtr, EXPR &newArgs ) : void
callingObjectType CType
type CType
mp MethodOrPropertySymbol
pTypeArgs TypeArray
argsPtr EXPR
newArgs EXPR
return void

BadOperatorTypesError() protected method

protected BadOperatorTypesError ( ExpressionKind ek, EXPR pOperand1, EXPR pOperand2 ) : EXPR
ek ExpressionKind
pOperand1 EXPR
pOperand2 EXPR
return EXPR

BadOperatorTypesError() protected method

protected BadOperatorTypesError ( ExpressionKind ek, EXPR pOperand1, EXPR pOperand2, CType pTypeErr ) : EXPR
ek ExpressionKind
pOperand1 EXPR
pOperand2 EXPR
pTypeErr CType
return EXPR

BindPtrToArray() protected method

protected BindPtrToArray ( EXPRLOCAL exprLoc, EXPR array ) : Microsoft.CSharp.RuntimeBinder.Semantics.EXPRQUESTIONMARK
exprLoc EXPRLOCAL
array EXPR
return Microsoft.CSharp.RuntimeBinder.Semantics.EXPRQUESTIONMARK

BindStandardBinop() public method

public BindStandardBinop ( ExpressionKind ek, EXPR arg1, EXPR arg2 ) : EXPR
ek ExpressionKind
arg1 EXPR
arg2 EXPR
return EXPR

BindStandardBinopCore() protected method

protected BindStandardBinopCore ( BinOpArgInfo info, BinOpFullSig bofs, ExpressionKind ek, EXPRFLAG flags ) : EXPR
info BinOpArgInfo
bofs BinOpFullSig
ek ExpressionKind
flags EXPRFLAG
return EXPR

BindStandardUnaryOperator() public method

public BindStandardUnaryOperator ( OperatorKind op, EXPR pArgument ) : EXPR
op OperatorKind
pArgument EXPR
return EXPR

CheckLvalueProp() protected method

protected CheckLvalueProp ( Microsoft.CSharp.RuntimeBinder.Semantics.EXPRPROP prop ) : void
prop Microsoft.CSharp.RuntimeBinder.Semantics.EXPRPROP
return void

CheckPropertyAccess() protected method

protected CheckPropertyAccess ( MethWithType mwt, PropWithType pwtSlot, CType type ) : bool
mwt MethWithType
pwtSlot PropWithType
type CType
return bool

ContainingAgg() protected method

protected ContainingAgg ( ) : AggregateSymbol
return AggregateSymbol

ExpressionBinder() public method

public ExpressionBinder ( BindingContext context ) : System
context BindingContext
return System

FindBestMethod() protected method

protected FindBestMethod ( List list, CType pTypeThrough, ArgInfos args, Microsoft.CSharp.RuntimeBinder.Semantics.CandidateFunctionMember &methAmbig1, Microsoft.CSharp.RuntimeBinder.Semantics.CandidateFunctionMember &methAmbig2 ) : Microsoft.CSharp.RuntimeBinder.Semantics.CandidateFunctionMember
list List
pTypeThrough CType
args ArgInfos
methAmbig1 Microsoft.CSharp.RuntimeBinder.Semantics.CandidateFunctionMember
methAmbig2 Microsoft.CSharp.RuntimeBinder.Semantics.CandidateFunctionMember
return Microsoft.CSharp.RuntimeBinder.Semantics.CandidateFunctionMember

FindBestSignatureInList() protected method

protected FindBestSignatureInList ( List binopSignatures, BinOpArgInfo info ) : int
binopSignatures List
info BinOpArgInfo
return int

GenerateAssignmentConversion() public method

public GenerateAssignmentConversion ( EXPR op1, EXPR op2, bool allowExplicit ) : EXPR
op1 EXPR
op2 EXPR
allowExplicit bool
return EXPR

GenerateOptimizedAssignment() protected method

protected GenerateOptimizedAssignment ( EXPR op1, EXPR op2 ) : EXPR
op1 EXPR
op2 EXPR
return EXPR

GetContext() public method

public GetContext ( ) : BindingContext
return BindingContext

GetDelBinOpSigs() protected method

protected GetDelBinOpSigs ( List prgbofs, BinOpArgInfo info ) : bool
prgbofs List
info BinOpArgInfo
return bool

GetEnumBinOpSigs() protected method

protected GetEnumBinOpSigs ( List prgbofs, BinOpArgInfo info ) : bool
prgbofs List
info BinOpArgInfo
return bool

GetGlobalSymbols() protected method

protected GetGlobalSymbols ( ) : BSYMMGR
return BSYMMGR

GetOptPDT() protected method

protected GetOptPDT ( PredefinedType pt ) : AggregateType
pt PredefinedType
return AggregateType

GetOptPDT() protected method

protected GetOptPDT ( PredefinedType pt, bool WarnIfNotFound ) : AggregateType
pt PredefinedType
WarnIfNotFound bool
return AggregateType

GetPtrBinOpSigs() protected method

protected GetPtrBinOpSigs ( List prgbofs, BinOpArgInfo info ) : bool
prgbofs List
info BinOpArgInfo
return bool

GetRefEqualSigs() protected method

protected GetRefEqualSigs ( List prgbofs, BinOpArgInfo info ) : bool
prgbofs List
info BinOpArgInfo
return bool

GetReqPDT() protected method

protected GetReqPDT ( PredefinedType pt ) : AggregateType
pt PredefinedType
return AggregateType

GetReqPDT() protected static method

protected static GetReqPDT ( PredefinedType pt, SymbolLoader symbolLoader ) : AggregateType
pt PredefinedType
symbolLoader SymbolLoader
return AggregateType

GetSemanticChecker() public method

public GetSemanticChecker ( ) : Microsoft.CSharp.RuntimeBinder.Semantics.CSemanticChecker
return Microsoft.CSharp.RuntimeBinder.Semantics.CSemanticChecker

GetSpecialBinopSignatures() protected method

protected GetSpecialBinopSignatures ( List prgbofs, BinOpArgInfo info ) : bool
prgbofs List
info BinOpArgInfo
return bool

GetStandardAndLiftedBinopSignatures() protected method

protected GetStandardAndLiftedBinopSignatures ( List rgbofs, BinOpArgInfo info ) : bool
rgbofs List
info BinOpArgInfo
return bool

GetSymbolLoader() protected method

protected GetSymbolLoader ( ) : SymbolLoader
return SymbolLoader

GetTypes() protected method

protected GetTypes ( ) : TypeManager
return TypeManager

InAnonymousMethod() protected method

protected InAnonymousMethod ( ) : bool
return bool

InConstructor() protected method

protected InConstructor ( ) : bool
return bool

InFieldInitializer() protected method

protected InFieldInitializer ( ) : bool
return bool

InMethod() protected method

protected InMethod ( ) : bool
return bool

InStaticMethod() protected method

protected InStaticMethod ( ) : bool
return bool

IsMethPropCallable() public static method

public static IsMethPropCallable ( MethodOrPropertySymbol sym, bool requireUC ) : bool
sym MethodOrPropertySymbol
requireUC bool
return bool

PostBindProperty() protected method

protected PostBindProperty ( bool fBaseCall, PropWithType pwt, EXPR pObject, MethWithType &pmwtGet, MethWithType &pmwtSet ) : void
fBaseCall bool
pwt PropWithType
pObject EXPR
pmwtGet MethWithType
pmwtSet MethWithType
return void

RecordUnsafeUsage() protected method

protected RecordUnsafeUsage ( ) : void
return void

RecordUnsafeUsage() public static method

public static RecordUnsafeUsage ( BindingContext context ) : void
context BindingContext
return void

RemapToOverride() public static method

public static RemapToOverride ( SymbolLoader symbolLoader, SymWithType pswt, CType typeObj ) : void
symbolLoader SymbolLoader
pswt SymWithType
typeObj CType
return void

ReportLocalError() protected method

protected ReportLocalError ( Microsoft.CSharp.RuntimeBinder.Semantics.LocalVariableSymbol local, CheckLvalueKind kind, bool isNested ) : void
local Microsoft.CSharp.RuntimeBinder.Semantics.LocalVariableSymbol
kind CheckLvalueKind
isNested bool
return void

ReportReadOnlyError() protected method

protected ReportReadOnlyError ( Microsoft.CSharp.RuntimeBinder.Semantics.EXPRFIELD field, CheckLvalueKind kind, bool isNested ) : void
field Microsoft.CSharp.RuntimeBinder.Semantics.EXPRFIELD
kind CheckLvalueKind
isNested bool
return void

ReportTypeArgsNotAllowedError() public static method

public static ReportTypeArgsNotAllowedError ( SymbolLoader symbolLoader, int arity, Microsoft.CSharp.RuntimeBinder.Errors.ErrArgRef argName, Microsoft.CSharp.RuntimeBinder.Errors.ErrArgRef argKind ) : void
symbolLoader SymbolLoader
arity int
argName Microsoft.CSharp.RuntimeBinder.Errors.ErrArgRef
argKind Microsoft.CSharp.RuntimeBinder.Errors.ErrArgRef
return void

ReportUnsafeErrors() protected method

protected ReportUnsafeErrors ( ) : bool
return bool

RespectReadonly() protected method

protected RespectReadonly ( ) : bool
return bool

SetExternalRef() protected method

protected SetExternalRef ( CType type ) : void
type CType
return void

TryGetExpandedParams() protected method

protected TryGetExpandedParams ( TypeArray @params, int count, TypeArray &ppExpandedParams ) : bool
@params TypeArray
count int
ppExpandedParams TypeArray
return bool

TryReportLvalueFailure() protected method

protected TryReportLvalueFailure ( EXPR expr, CheckLvalueKind kind ) : bool
expr EXPR
kind CheckLvalueKind
return bool

UnwrapExpression() protected method

protected UnwrapExpression ( EXPR pExpression ) : EXPR
pExpression EXPR
return EXPR

WhichConversionIsBetter() public method

public WhichConversionIsBetter ( CType argType, CType p1, CType p2 ) : BetterType
argType CType
p1 CType
p2 CType
return BetterType

WhichConversionIsBetter() protected method

protected WhichConversionIsBetter ( EXPR arg, CType argType, CType p1, CType p2 ) : BetterType
arg EXPR
argType CType
p1 CType
p2 CType
return BetterType

WhichMethodIsBetter() protected method

protected WhichMethodIsBetter ( Microsoft.CSharp.RuntimeBinder.Semantics.CandidateFunctionMember node1, Microsoft.CSharp.RuntimeBinder.Semantics.CandidateFunctionMember node2, CType pTypeThrough, ArgInfos args ) : BetterType
node1 Microsoft.CSharp.RuntimeBinder.Semantics.CandidateFunctionMember
node2 Microsoft.CSharp.RuntimeBinder.Semantics.CandidateFunctionMember
pTypeThrough CType
args ArgInfos
return BetterType

WhichMethodIsBetterTieBreaker() protected method

protected WhichMethodIsBetterTieBreaker ( Microsoft.CSharp.RuntimeBinder.Semantics.CandidateFunctionMember node1, Microsoft.CSharp.RuntimeBinder.Semantics.CandidateFunctionMember node2, CType pTypeThrough, ArgInfos args ) : BetterType
node1 Microsoft.CSharp.RuntimeBinder.Semantics.CandidateFunctionMember
node2 Microsoft.CSharp.RuntimeBinder.Semantics.CandidateFunctionMember
pTypeThrough CType
args ArgInfos
return BetterType

WrapShortLivedExpression() protected method

protected WrapShortLivedExpression ( EXPR expr ) : EXPR
expr EXPR
return EXPR

bindAssignment() public method

public bindAssignment ( EXPR op1, EXPR op2, bool allowExplicit ) : EXPR
op1 EXPR
op2 EXPR
allowExplicit bool
return EXPR

bindIndexer() protected method

protected bindIndexer ( EXPR pObject, EXPR args, BindingFlag bindFlags ) : EXPR
pObject EXPR
args EXPR
bindFlags BindingFlag
return EXPR

bindNullEqualityComparison() protected method

protected bindNullEqualityComparison ( ExpressionKind ek, BinOpArgInfo info ) : Microsoft.CSharp.RuntimeBinder.Semantics.EXPRBINOP
ek ExpressionKind
info BinOpArgInfo
return Microsoft.CSharp.RuntimeBinder.Semantics.EXPRBINOP

bindPtrToString() protected method

protected bindPtrToString ( EXPR @string ) : EXPRUNARYOP
@string EXPR
return EXPRUNARYOP

bindSimpleCast() public method

public bindSimpleCast ( EXPR exprSrc, EXPRTYPEORNAMESPACE typeDest, EXPR &pexprDest ) : void
exprSrc EXPR
typeDest EXPRTYPEORNAMESPACE
pexprDest EXPR
return void

bindSimpleCast() public method

public bindSimpleCast ( EXPR exprSrc, EXPRTYPEORNAMESPACE exprTypeDest, EXPR &pexprDest, EXPRFLAG exprFlags ) : void
exprSrc EXPR
exprTypeDest EXPRTYPEORNAMESPACE
pexprDest EXPR
exprFlags EXPRFLAG
return void

bindUserDefinedBinOp() protected method

protected bindUserDefinedBinOp ( ExpressionKind ek, BinOpArgInfo info ) : EXPR
ek ExpressionKind
info BinOpArgInfo
return EXPR

checkUnsafe() public method

public checkUnsafe ( CType type ) : void
type CType
return void

checkUnsafe() public method

public checkUnsafe ( CType type, ErrorCode errCode, ErrArg pArg ) : void
type CType
errCode ErrorCode
pArg ErrArg
return void

ekName() protected method

protected ekName ( ExpressionKind ek ) : Name
ek ExpressionKind
return Name

getVoidType() protected method

protected getVoidType ( ) : CType
return CType

isConstantInRange() public static method

public static isConstantInRange ( EXPRCONSTANT exprSrc, CType typeDest ) : bool
exprSrc EXPRCONSTANT
typeDest CType
return bool

isConstantInRange() public static method

public static isConstantInRange ( EXPRCONSTANT exprSrc, CType typeDest, bool realsOk ) : bool
exprSrc EXPRCONSTANT
typeDest CType
realsOk bool
return bool

isThisPointer() protected method

protected isThisPointer ( EXPR expr ) : bool
expr EXPR
return bool

isUnsafeContext() protected method

protected isUnsafeContext ( ) : bool
return bool

markFieldAssigned() protected method

protected markFieldAssigned ( EXPR expr ) : void
expr EXPR
return void

verifyMethodArgs() protected method

protected verifyMethodArgs ( EXPR call, CType callingObjectType ) : void
call EXPR
callingObjectType CType
return void

Property Details

Context protected_oe property

protected BindingContext,Microsoft.CSharp.RuntimeBinder.Semantics Context
return BindingContext

g_binopSignatures protected_oe property

protected BinOpSig[] g_binopSignatures
return BinOpSig[]

g_rguos protected_oe property

protected UnaOpSig[] g_rguos
return UnaOpSig[]

m_nullable protected_oe property

protected CNullable m_nullable
return CNullable