程序包 org.beetl.core
类 ProgramBuilderContext
java.lang.Object
org.beetl.core.ProgramBuilderContext
- 直接已知子类:
DebugProgramBuilderContext
结合AntlrProgramBuilder 将模板生成Program,该类负责记录变量定义的位置和出现的位置
- 作者:
- xiandafu
-
字段概要
字段 -
构造器概要
构造器 -
方法概要
修饰符和类型方法说明booleanaddRootVarAdnPosition(ASTNode first) 动态添加一个顶级变量在当前context定义变量voidaddVarAndPostion(ASTNode first) protected voidanzlysze(BlockEnvContext block, int nextIndex, boolean isRoot) voidvoidvoidenterBlock(org.antlr.v4.runtime.ParserRuleContext ruleContext) 进入一个scopevoidprotected VarDescriptionprotected GrammarTokenhasDefined(String varName) searchVar(BlockEnvContext ctx, String name) 自上向下查找intvoidsetVarAttr(String varName, String attrName) 变量属性,展示没用上,本来想用在ide属性提示,但ide插件门槛太高了,搞不定voidsetVarPosition(String varName, ASTNode where) protected voidvarIndexPoint(BlockEnvContext blockEnvContext, VarDescription vd, int index)
-
字段详细资料
-
root
-
current
-
listNodeEval
-
globalVar
-
varIndexSize
protected int varIndexSize -
globalIndexMap
-
isSafeOutput
protected boolean isSafeOutput -
rootIndexMap
顶级变量在空间中的位置
-
-
构造器详细资料
-
ProgramBuilderContext
public ProgramBuilderContext()
-
-
方法详细资料
-
enterBlock
public void enterBlock(org.antlr.v4.runtime.ParserRuleContext ruleContext) 进入一个scope -
exitBlock
-
addVarAndPostion
-
addRootVarAdnPosition
动态添加一个顶级变量 -
searchVar
自上向下查找 -
addVar
在当前context定义变量 -
contain
-
setVarAttr
变量属性,展示没用上,本来想用在ide属性提示,但ide插件门槛太高了,搞不定 -
setVarPosition
-
hasDefined
-
findVar
-
setNodeEvalObject
-
anzlyszeGlobal
public void anzlyszeGlobal() -
varIndexPoint
-
anzlyszeLocal
public void anzlyszeLocal() -
anzlysze
-
newBlockEnvContext
-
newVarDescription
-