
public abstract static class Flow.AbstractAssignAnalyzer<P extends Flow.AbstractAssignAnalyzer.AbstractAssignPendingExit> extends TreeScanner
| Modifier and Type | Class and Description |
|---|---|
static class |
Flow.AbstractAssignAnalyzer.AbstractAssignPendingExit |
| Modifier and Type | Field and Description |
|---|---|
protected Bits |
inits
The set of definitely assigned variables.
|
protected Names |
names |
protected int |
nextadr
The next available variable sequence number.
|
protected int |
returnadr
The first variable sequence number in a block that can return.
|
protected JCTree.JCVariableDecl[] |
vardecls
A mapping from addresses to variable symbols.
|
| Constructor and Description |
|---|
AbstractAssignAnalyzer(Bits inits,
Symtab syms,
Names names) |
scan, visitAnnotation, visitCase, visitCatch, visitErroneous, visitExec, visitImport, visitIndexed, visitLetExpr, visitLiteral, visitModifiers, visitParens, visitReference, visitSelect, visitSkip, visitSynchronized, visitTree, visitTypeApply, visitTypeArray, visitTypeBoundKind, visitTypeCast, visitTypeIdent, visitTypeIntersection, visitTypeParameter, visitTypeTest, visitTypeUnion, visitWildcardprotected final Bits inits
protected JCTree.JCVariableDecl[] vardecls
protected int nextadr
protected int returnadr
protected Names names
protected void markDead(JCTree tree)
protected boolean trackable(Symbol.VarSymbol sym)
protected void exclVarFromInits(JCTree tree, int adr)
protected void merge(JCTree tree)
public void visitClassDef(JCTree.JCClassDecl tree)
visitClassDef in class TreeScannerpublic void visitMethodDef(JCTree.JCMethodDecl tree)
visitMethodDef in class TreeScannerprotected void initParam(JCTree.JCVariableDecl def)
public void visitVarDef(JCTree.JCVariableDecl tree)
visitVarDef in class TreeScannerpublic void visitBlock(JCTree.JCBlock tree)
visitBlock in class TreeScannerpublic void visitDoLoop(JCTree.JCDoWhileLoop tree)
visitDoLoop in class TreeScannerpublic void visitWhileLoop(JCTree.JCWhileLoop tree)
visitWhileLoop in class TreeScannerpublic void visitForLoop(JCTree.JCForLoop tree)
visitForLoop in class TreeScannerpublic void visitForeachLoop(JCTree.JCEnhancedForLoop tree)
visitForeachLoop in class TreeScannerpublic void visitLabelled(JCTree.JCLabeledStatement tree)
visitLabelled in class TreeScannerpublic void visitSwitch(JCTree.JCSwitch tree)
visitSwitch in class TreeScannerpublic void visitTry(JCTree.JCTry tree)
visitTry in class TreeScannerpublic void visitConditional(JCTree.JCConditional tree)
visitConditional in class TreeScannerpublic void visitIf(JCTree.JCIf tree)
visitIf in class TreeScannerpublic void visitBreak(JCTree.JCBreak tree)
visitBreak in class TreeScannerpublic void visitContinue(JCTree.JCContinue tree)
visitContinue in class TreeScannerpublic void visitReturn(JCTree.JCReturn tree)
visitReturn in class TreeScannerpublic void visitThrow(JCTree.JCThrow tree)
visitThrow in class TreeScannerpublic void visitApply(JCTree.JCMethodInvocation tree)
visitApply in class TreeScannerpublic void visitNewClass(JCTree.JCNewClass tree)
visitNewClass in class TreeScannerpublic void visitLambda(JCTree.JCLambda tree)
visitLambda in class TreeScannerpublic void visitNewArray(JCTree.JCNewArray tree)
visitNewArray in class TreeScannerpublic void visitAssert(JCTree.JCAssert tree)
visitAssert in class TreeScannerpublic void visitAssign(JCTree.JCAssign tree)
visitAssign in class TreeScannerpublic void visitAssignop(JCTree.JCAssignOp tree)
visitAssignop in class TreeScannerpublic void visitUnary(JCTree.JCUnary tree)
visitUnary in class TreeScannerpublic void visitBinary(JCTree.JCBinary tree)
visitBinary in class TreeScannerpublic void visitIdent(JCTree.JCIdent tree)
visitIdent in class TreeScannerpublic void visitAnnotatedType(JCTree.JCAnnotatedType tree)
visitAnnotatedType in class TreeScannerpublic void visitTopLevel(JCTree.JCCompilationUnit tree)
visitTopLevel in class TreeScannerpublic void analyzeTree(Env<?> env)
public void scan(JCTree tree)
TreeScannerscan in class TreeScannerCopyright © 2017 earcam. All rights reserved.