Package gw.internal.gosu.parser
Class CompiledGosuClassSymbolTable
- java.lang.Object
-
- gw.lang.parser.ThreadSafeSymbolTable
-
- gw.internal.gosu.parser.CompiledGosuClassSymbolTable
-
- All Implemented Interfaces:
IStackProvider,ISymbolTable
public class CompiledGosuClassSymbolTable extends ThreadSafeSymbolTable
-
-
Field Summary
Fields Modifier and Type Field Description private static booleanDEBUGprivate static LockingLazyVar<CompiledGosuClassSymbolTable>INSTANCEprivate static java.lang.ThreadLocal<java.util.Map<ICompilableType,ISymbolTable>>MAP_SYM_TABLE_BY_TYPEprivate static java.lang.ThreadLocal<Stack>SYM_TABLE_STACKprivate static java.lang.ThreadLocal<Stack>SYM_TABLE_TRACE_STACK-
Fields inherited from interface gw.lang.parser.IStackProvider
START_POS, SUPER_POS, THIS_POS
-
-
Constructor Summary
Constructors Constructor Description CompiledGosuClassSymbolTable()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static java.util.Map<ICompilableType,ISymbolTable>getClassMap()ISymbolTablegetSymbolTableForCompilingClass(ICompilableType gsClass)private static StackgetSymbolTableStack()static StackgetSymbolTableTraceStack()static ISymbolTablegetSymTableCtx()protected ISymbolTablegetThreadLocalSymbolTable()Get a thread-local symbol table.static CompiledGosuClassSymbolTableinstance()voidpopCompileTimeSymbolTable()voidpopCompileTimeSymbolTable(ICompilableType gsClass)static ISymbolTablepopSymTableCtx()voidpushCompileTimeSymbolTable()voidpushCompileTimeSymbolTable(ISymbolTable symTable)voidpushCompileTimeSymbolTable(ICompilableType gsClass)voidpushCompileTimeSymbolTable(ICompilableType gsClass, ISymbolTable symTable)static voidpushSymTableCtx(ISymbolTable ctx)-
Methods inherited from class gw.lang.parser.ThreadSafeSymbolTable
clearDefaultSymbolTable, copy, defineCommonSymbols, getDefaultSymbolTable, getNextStackIndex, getNextStackIndexForScope, getPrivateGlobalScopeCount, getScopeCount, getSymbol, getSymbols, getSymbols, getTargetSymbolTable, getThisSymbolFromStackOrMap, getTotalSymbolCount, hasIsolatedScope, isSymbolWithinScope, peekIsolatedScope, peekScope, peekScope, popGlobalScope, popScope, popScope, pushIsolatedScope, pushPrivateGlobalScope, pushScope, pushScope, putSymbol, removeSymbol
-
-
-
-
Field Detail
-
INSTANCE
private static final LockingLazyVar<CompiledGosuClassSymbolTable> INSTANCE
-
SYM_TABLE_STACK
private static final java.lang.ThreadLocal<Stack> SYM_TABLE_STACK
-
SYM_TABLE_TRACE_STACK
private static final java.lang.ThreadLocal<Stack> SYM_TABLE_TRACE_STACK
-
MAP_SYM_TABLE_BY_TYPE
private static final java.lang.ThreadLocal<java.util.Map<ICompilableType,ISymbolTable>> MAP_SYM_TABLE_BY_TYPE
-
DEBUG
private static final boolean DEBUG
- See Also:
- Constant Field Values
-
-
Method Detail
-
instance
public static CompiledGosuClassSymbolTable instance()
-
getSymTableCtx
public static ISymbolTable getSymTableCtx()
-
pushSymTableCtx
public static void pushSymTableCtx(ISymbolTable ctx)
-
popSymTableCtx
public static ISymbolTable popSymTableCtx()
-
getSymbolTableForCompilingClass
public ISymbolTable getSymbolTableForCompilingClass(ICompilableType gsClass)
-
pushCompileTimeSymbolTable
public void pushCompileTimeSymbolTable(ICompilableType gsClass)
-
pushCompileTimeSymbolTable
public void pushCompileTimeSymbolTable(ICompilableType gsClass, ISymbolTable symTable)
-
pushCompileTimeSymbolTable
public void pushCompileTimeSymbolTable()
-
pushCompileTimeSymbolTable
public void pushCompileTimeSymbolTable(ISymbolTable symTable)
-
popCompileTimeSymbolTable
public void popCompileTimeSymbolTable(ICompilableType gsClass)
-
popCompileTimeSymbolTable
public void popCompileTimeSymbolTable()
-
getThreadLocalSymbolTable
protected ISymbolTable getThreadLocalSymbolTable()
Description copied from class:ThreadSafeSymbolTableGet a thread-local symbol table. This is typically an instance of StandardSymbol table you maintain in a simple ThreadLocal.- Specified by:
getThreadLocalSymbolTablein classThreadSafeSymbolTable
-
getSymbolTableStack
private static Stack getSymbolTableStack()
-
getClassMap
private static java.util.Map<ICompilableType,ISymbolTable> getClassMap()
-
getSymbolTableTraceStack
public static Stack getSymbolTableTraceStack()
-
-