public class ASTInspector
extends java.lang.Object
| Modifier and Type | Class and Description |
|---|---|
(package private) static class |
ASTInspector.Flag |
| Constructor and Description |
|---|
ASTInspector() |
ASTInspector(java.lang.String name,
boolean dump) |
| Modifier and Type | Method and Description |
|---|---|
static void |
addFrameAwareMethods(java.lang.String... methods) |
static void |
addScopeAwareMethods(java.lang.String... methods) |
void |
disable() |
CallConfiguration |
getCallConfig() |
boolean |
getFlag(ASTInspector.Flag... modifiers) |
boolean |
getFlag(ASTInspector.Flag modifier) |
boolean |
hasBlockArg() |
boolean |
hasClass() |
boolean |
hasClassVar() |
boolean |
hasClosure() |
boolean |
hasConstant() |
boolean |
hasFrameAwareMethods() |
boolean |
hasMethod()
Whether the tree under inspection contains any method-table mutations,
including def, defs, undef, and alias.
|
boolean |
hasOptArgs() |
boolean |
hasRestArg() |
boolean |
hasScopeAwareMethods() |
void |
inspect(Node node) |
void |
integrate(ASTInspector other)
Integrate the results of a separate inspection into the state of this
inspector.
|
boolean |
noFrame() |
void |
setFlag(ASTInspector.Flag modifier) |
void |
setFlag(Node node,
ASTInspector.Flag modifier) |
ASTInspector |
subInspect(Node... nodes)
Perform an inspection of a subtree or set of subtrees separate from the
parent inspection, to make independent decisions based on that subtree(s).
|
private static final Logger LOG
private final boolean dump
private final java.lang.String name
private static final boolean DEBUG
public static final ASTInspector.Flag BLOCK_ARG
public static final ASTInspector.Flag CLOSURE
public static final ASTInspector.Flag CLASS
public static final ASTInspector.Flag METHOD
public static final ASTInspector.Flag EVAL
public static final ASTInspector.Flag FRAME_AWARE
public static final ASTInspector.Flag FRAME_SELF
public static final ASTInspector.Flag FRAME_VISIBILITY
public static final ASTInspector.Flag FRAME_BLOCK
public static final ASTInspector.Flag FRAME_NAME
public static final ASTInspector.Flag BACKREF
public static final ASTInspector.Flag LASTLINE
public static final ASTInspector.Flag FRAME_CLASS
public static final ASTInspector.Flag OPT_ARGS
public static final ASTInspector.Flag REST_ARG
public static final ASTInspector.Flag SCOPE_AWARE
public static final ASTInspector.Flag ZSUPER
public static final ASTInspector.Flag CONSTANT
public static final ASTInspector.Flag CLASS_VAR
public static final ASTInspector.Flag SUPER
public static final ASTInspector.Flag RETRY
private static final java.lang.String[] MODIFIER_NAMES
private int flags
private boolean noFrame
public static final java.util.Set<java.lang.String> FRAME_AWARE_METHODS
public static final java.util.Set<java.lang.String> SCOPE_AWARE_METHODS
public static final java.util.Set<java.lang.String> PRAGMAS
public ASTInspector()
public ASTInspector(java.lang.String name,
boolean dump)
public static void addFrameAwareMethods(java.lang.String... methods)
public static void addScopeAwareMethods(java.lang.String... methods)
public void disable()
public CallConfiguration getCallConfig()
public ASTInspector subInspect(Node... nodes)
nodes - The child nodes to walk with a new inspectorpublic boolean getFlag(ASTInspector.Flag modifier)
public boolean getFlag(ASTInspector.Flag... modifiers)
public void setFlag(ASTInspector.Flag modifier)
public void setFlag(Node node, ASTInspector.Flag modifier)
public void integrate(ASTInspector other)
other - The other inspector whose state to integrate.public void inspect(Node node)
public boolean hasClass()
public boolean hasClosure()
public boolean hasMethod()
public boolean hasFrameAwareMethods()
public boolean hasScopeAwareMethods()
public boolean hasBlockArg()
public boolean hasOptArgs()
public boolean hasRestArg()
public boolean hasConstant()
public boolean hasClassVar()
public boolean noFrame()