|
WSF
|
#include <UsCtx.hpp>

Public Types | |
| enum | ContextFlags { cTEMPORARY_SYMBOL_TABLE = 1 } |
| enum | BlockType { cSCRIPT_BLOCK , cNORMAL_BLOCK , cWHILE_BLOCK , cDO_BLOCK , cFOR_BLOCK , cFOREACH_BLOCK } |
| enum | OperationId { cASSIGN , cASSIGN_INITIAL , cASSIGN_PLUS , cASSIGN_MINUS , cASSIGN_TIMES , cASSIGN_DIV , cADD , cSUBTRACT , cMULTIPLY , cDIVIDE , cOR , cAND , cEQ , cNE , cLT , cGT , cLE , cGE , cUNARY_MINUS , cUNARY_PLUS , cINDEX , cNOT } |
Public Member Functions | |
| UsCtx (UsConstCtx *c) | |
| UsCtx (UsCtx &p, UsSymbolTable::TableLinkage aLinkage=UsSymbolTable::cNEW_SCOPE) | |
| void | EndContext () |
| ~UsCtx () | |
| UsObserver * | GetObserver () const |
| Ty * | qType (Token *t) |
| Ty * | qType (Ty *aTypePtr, std::pair< Ty *, Ty * > aArgs) |
| Ty * | Type (Token *t) |
| void | AddParam (Fn &fn, Ty *type, Token *aIdent, bool aIsFormalParam=false) |
| void | SetRType (Fn &fn, Ty *type) |
| void | FuncDefStart (UsVal &aScriptVal) |
| UsVal | AddEntry (Token *aIdent, Fn &aFunc, bool aExtern, UsCtx *aFnCtx=nullptr) |
| UsSymbol * | AddEntry (Ty *type, Token *aIdent, int aVarFlags=0) |
| UsSymbol * | Search (const std::string &aName, int aDepth=100) |
| UsVal | Search (Token *aIdent) |
| bool | IsThisMethod (Token *t) |
| UsVal | ThisValue () |
| UsSymbol * | AddAppVariable (Ty *type, const std::string &aName) |
| UsVal | SymVal (UsSymbol *aSym) |
| UsVal | Identifier (Token *aIdent) |
| Ty * | RType (UsSymbol *s) |
| Ty * | FuncRType () |
| std::string | Text (Token *t) |
| UsVal | Op (UsVal &lhs, int op) |
| UsVal | Op (UsVal &lhs, UsVal &idx, UsVal &rhs, int op) |
| UsVal | Op (UsVal &lhs, UsVal &rhs, int op) |
| UsVal | Ctor (Ty *aType, const UsValList &aArgs) |
| Ty * | GetContainerKey (Ty *aType) |
| Ty * | GetContainerValue (Ty *aType) |
| void | AddToInitializerList (UsVal &initList, UsVal &p1, UsVal *p2) |
| UsVal | Cast (UsVal &v, Ty *ty) |
| UsVal | StringLiteral (Token *t) |
| UsVal | DoubleLiteral (Token *t) |
| UsVal | IntLiteral (Token *t) |
| UsVal | BoolLiteral (Token *t) |
| UsVal | NullLiteral (Token *t) |
| UsVal | NewInitializerList () |
| UsVal | RealizeContainer (UsInitializerList &aInitializer, Ty *aLhsType) |
| UsVal | ImplicitCast (UsVal v, Ty *ty) |
| UsVal | ExplicitCast (UsVal &v, Ty *ty) |
| void | ExpectedType (UsVal &v, Ty *t) |
| UsVal | GetAttribute (UsVal &v, Token *t) |
| UsVal | GetAttribute (Ty *ty, Token *t) |
| UsVal | GetDynAttribute (UsVal &v, Token *t) |
| UsVal | GetClassMethod (UsVal &v, Token *t) |
| UsVal | GetClassVariable (UsVal &v, Token *t) |
| UsVal | VarDecl (Ty *ty, Token *t, int flags=0) |
| UsVal | Call (UsVal &fn, UsValList &args, UsVal *aReturnVal=nullptr) |
| void | VarDeclInit (UsVal &v) |
| void | VarDeclPreAssign (UsVal &v) |
| Ty * | BoolTy () |
| Ty * | VoidTy () |
| Ty * | IntTy () |
| void | AtDot (Ty *aTypePtr, int pos) |
| void | AtDot (const UsVal &aVal, int pos) |
| void | HitEOF () |
| UsVal | AndComplete (UsVal &orResult, UsVal &rhs, int aJumpOffset) |
| void | WhileCond (UsVal &v) |
| void | WhileEnd (int aEnd) |
| int | OrCheck (UsVal &aLhs, UsVal &aOrResult) |
| UsVal | OrComplete (UsVal &orResult, UsVal &rhs, int aJumpOffset) |
| int | AndCheck (UsVal &aLhs, UsVal &aOrResult) |
| int | IfCond (UsVal &v) |
| int | IfTrueEnd (int falseTarget, bool aHasElse) |
| void | IfElseEnd (int aElseEnd) |
| void | SetBlockType (BlockType aBlockType) |
| void | Break () |
| void | Continue () |
| void | DoWhileStart () |
| void | DoCond (UsVal &v) |
| void | ForCond (UsVal &v) |
| void | ForInc () |
| void | ForEnd () |
| void | ForEachBegin (UsVal &key, UsVal &val, UsVal &container) |
| void | Return (UsVal &v) |
| void | FuncComplete (UsVal &aFnVal, UsCtx &aFnCtx) |
| int | CodeOffset () |
| UsCtx * | ScriptContext () |
| int | BeginStat () |
| void | EndStat (int aStatNum) |
| void | SemErr (const char *aMsg) |
| void | BeginCall (UsVal &fn, int aPos) |
| void | EndCall (UsVal &fn, int aPos) |
| void | CallArgNext (int aPos) |
| UsVal | NewVal (Ty *ty) |
Static Public Member Functions | |
| static std::unique_ptr< UsCtx > | NewMirror (UsConstCtx *c, UsSymbolTable *aParentSymbolTable, int aSequenceNumberLimit) |
Public Attributes | |
| UsCtx * | mParentCtx |
| UsConstCtx * | mConst |
| UsSymbolTable * | mSym |
| UsSymbol * | mFuncDefSym |
| bool | mGlobalVarMode |
| bool | mAllowGlobals |
| int | mContextFlags |
| int | mSequenceNumberLimit |
| BlockType | mBlockType |
Static Public Attributes | |
| static const int | cLARGE_INT = 0x7fffffff |
| enum Us::UsCtx::BlockType |
|
explicit |
| Us::UsCtx::UsCtx | ( | UsCtx & | p, |
| UsSymbolTable::TableLinkage | aLinkage = UsSymbolTable::cNEW_SCOPE ) |
| UsSymbol * Us::UsCtx::AddAppVariable | ( | Ty * | type, |
| const std::string & | aName ) |
| UsVal Us::UsCtx::AddEntry | ( | Token * | aIdent, |
| Fn & | aFunc, | ||
| bool | aExtern, | ||
| UsCtx * | aFnCtx = nullptr ) |
| UsSymbol * Us::UsCtx::AddEntry | ( | Ty * | type, |
| Token * | aIdent, | ||
| int | aVarFlags = 0 ) |
| void Us::UsCtx::AddParam | ( | Fn & | fn, |
| Ty * | type, | ||
| Token * | aIdent, | ||
| bool | aIsFormalParam = false ) |
| void Us::UsCtx::AddToInitializerList | ( | UsVal & | initList, |
| UsVal & | p1, | ||
| UsVal * | p2 ) |
|
inline |
|
inline |
|
inline |
|
inline |
| void Us::UsCtx::BeginCall | ( | UsVal & | fn, |
| int | aPos ) |
| int Us::UsCtx::BeginStat | ( | ) |
| UsVal Us::UsCtx::BoolLiteral | ( | Token * | t | ) |
|
inline |
|
inline |
| UsVal Us::UsCtx::Call | ( | UsVal & | fn, |
| UsValList & | args, | ||
| UsVal * | aReturnVal = nullptr ) |
| void Us::UsCtx::CallArgNext | ( | int | aPos | ) |
| UsVal Us::UsCtx::Cast | ( | UsVal & | v, |
| Ty * | ty ) |
|
inline |
|
inline |
| UsVal Us::UsCtx::Ctor | ( | Ty * | aType, |
| const UsValList & | aArgs ) |
|
inline |
| UsVal Us::UsCtx::DoubleLiteral | ( | Token * | t | ) |
|
inline |
| void Us::UsCtx::EndCall | ( | UsVal & | fn, |
| int | aPos ) |
|
inline |
|
inline |
| void Us::UsCtx::ExpectedType | ( | UsVal & | v, |
| Ty * | t ) |
| UsVal Us::UsCtx::ExplicitCast | ( | UsVal & | v, |
| Ty * | ty ) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
| void Us::UsCtx::FuncDefStart | ( | UsVal & | aScriptVal | ) |
| UsType * Us::UsCtx::FuncRType | ( | ) |
| UsVal Us::UsCtx::GetAttribute | ( | Ty * | ty, |
| Token * | t ) |
| UsVal Us::UsCtx::GetAttribute | ( | UsVal & | v, |
| Token * | t ) |
| UsVal Us::UsCtx::GetClassMethod | ( | UsVal & | v, |
| Token * | t ) |
| UsVal Us::UsCtx::GetClassVariable | ( | UsVal & | v, |
| Token * | t ) |
| UsType * Us::UsCtx::GetContainerKey | ( | Ty * | aType | ) |
| UsType * Us::UsCtx::GetContainerValue | ( | Ty * | aType | ) |
| UsVal Us::UsCtx::GetDynAttribute | ( | UsVal & | v, |
| Token * | t ) |
|
inline |
|
inline |
| UsVal Us::UsCtx::Identifier | ( | Token * | aIdent | ) |
|
inline |
|
inline |
|
inline |
| UsVal Us::UsCtx::ImplicitCast | ( | UsVal | v, |
| Ty * | ty ) |
| UsVal Us::UsCtx::IntLiteral | ( | Token * | t | ) |
|
inline |
| bool Us::UsCtx::IsThisMethod | ( | Token * | t | ) |
|
inlinestatic |
| UsVal Us::UsCtx::NewVal | ( | Ty * | ty | ) |
| UsVal Us::UsCtx::NullLiteral | ( | Token * | t | ) |
| UsVal Us::UsCtx::Op | ( | UsVal & | lhs, |
| int | op ) |
| UsVal Us::UsCtx::Op | ( | UsVal & | lhs, |
| UsVal & | idx, | ||
| UsVal & | rhs, | ||
| int | op ) |
| UsVal Us::UsCtx::Op | ( | UsVal & | lhs, |
| UsVal & | rhs, | ||
| int | op ) |
|
inline |
|
inline |
| UsType * Us::UsCtx::qType | ( | Token * | t | ) |
| UsType * Us::UsCtx::qType | ( | Ty * | aTypePtr, |
| std::pair< Ty *, Ty * > | aArgs ) |
| UsVal Us::UsCtx::RealizeContainer | ( | UsInitializerList & | aInitializer, |
| Ty * | aLhsType ) |
|
inline |
| UsType * Us::UsCtx::RType | ( | UsSymbol * | s | ) |
|
inline |
| UsVal Us::UsCtx::Search | ( | Token * | aIdent | ) |
| void Us::UsCtx::SemErr | ( | const char * | aMsg | ) |
|
inline |
| void Us::UsCtx::SetRType | ( | Fn & | fn, |
| Ty * | type ) |
| UsVal Us::UsCtx::StringLiteral | ( | Token * | t | ) |
| UsVal Us::UsCtx::SymVal | ( | UsSymbol * | aSym | ) |
| std::string Us::UsCtx::Text | ( | Token * | t | ) |
| Ty * Us::UsCtx::Type | ( | Token * | t | ) |
| UsVal Us::UsCtx::VarDecl | ( | Ty * | ty, |
| Token * | t, | ||
| int | flags = 0 ) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
static |