Package | Description |
---|---|
org.glassfish.pfl.dynamic.codegen.impl |
Modifier and Type | Interface and Description |
---|---|
interface |
ExpressionInternal |
interface |
Statement |
interface |
VariableInternal |
Modifier and Type | Field and Description |
---|---|
Node |
ASMSetupVisitor.ErrorReport.node |
Modifier and Type | Method and Description |
---|---|
<T extends Node> |
NodeBase.copy(Class<T> cls) |
<T extends Node> |
Node.copy(Class<T> cls)
Make a deep copy of this node.
|
<T extends Node> |
MethodGenerator.copy(Class<T> cls) |
<T extends Node> |
FieldGenerator.copy(Class<T> cls) |
<T extends Node> |
ExpressionFactory.ExpressionBase.copy(Class<T> cls) |
<T extends Node> |
ClassGeneratorImpl.copy(Class<T> cls) |
<T extends Node> |
NodeBase.copy(Node newParent,
Class<T> cls) |
<T extends Node> |
Node.copy(Node newParent,
Class<T> cls)
Copy setting a new parent in the result.
|
<T extends Node> |
MethodGenerator.copy(Node newParent,
Class<T> cls) |
<T extends Node> |
FieldGenerator.copy(Node newParent,
Class<T> cls) |
<T extends Node> |
ExpressionFactory.ExpressionBase.copy(Node newParent,
Class<T> cls) |
<T extends Node> |
ClassGeneratorImpl.copy(Node newParent,
Class<T> cls) |
<T extends Node> |
NodeBase.getAncestor(Class<T> type) |
<T extends Node> |
Node.getAncestor(Class<T> type)
Return the first ancestor of this node of the given type, if any.
|
<T extends Node> |
MethodGenerator.getAncestor(Class<T> type) |
<T extends Node> |
FieldGenerator.getAncestor(Class<T> type) |
<T extends Node> |
ClassGeneratorImpl.getAncestor(Class<T> type) |
Modifier and Type | Method and Description |
---|---|
Node |
ExpressionFactory.efparent() |
Node |
NodeBase.parent() |
Node |
Node.parent()
Return the Node that contains (and created) this Node.
|
Node |
MethodGenerator.parent() |
Node |
FieldGenerator.parent() |
Node |
ClassGeneratorImpl.parent() |
Modifier and Type | Method and Description |
---|---|
static void |
Util.checkTree(Node node,
PrintStream pw)
Check that node is really a tree, that is, when we traverse it
with the visitor, we never encounter the same node twice.
|
static void |
Util.close(Node node)
Make sure that all variables reachable from node
are marked not available, indicating that they are
no longer in scope.
|
<T extends Node> |
NodeBase.copy(Node newParent,
Class<T> cls) |
<T extends Node> |
Node.copy(Node newParent,
Class<T> cls)
Copy setting a new parent in the result.
|
<T extends Node> |
MethodGenerator.copy(Node newParent,
Class<T> cls) |
<T extends Node> |
FieldGenerator.copy(Node newParent,
Class<T> cls) |
<T extends Node> |
ExpressionFactory.ExpressionBase.copy(Node newParent,
Class<T> cls) |
<T extends Node> |
ClassGeneratorImpl.copy(Node newParent,
Class<T> cls) |
static void |
Util.display(Node node,
PrintStream pw)
Display a tree for the node.
|
void |
ByteCodeUtility.emitLabel(Attribute<MyLabel> attr,
Node node) |
static String |
Util.getNodeIdString(Node obj) |
CodegenPrinter |
CodegenPrinter.nl(Node node) |
void |
NodeBase.parent(Node node) |
void |
Node.parent(Node node)
Set the parent to a new value.
|
void |
MethodGenerator.parent(Node node) |
void |
FieldGenerator.parent(Node node) |
void |
ClassGeneratorImpl.parent(Node node) |
void |
TreeWalker.postNode(Node arg) |
void |
NopVisitor.postNode(Node arg) |
void |
ASMByteCodeVisitor.postNode(Node arg) |
boolean |
TreeWalker.preNode(Node arg) |
boolean |
SourceExpressionVisitor.preNode(Node arg) |
boolean |
NopVisitor.preNode(Node arg) |
boolean |
ASMByteCodeVisitor.preNode(Node arg) |
void |
Visitor.visitNode(Node arg) |
void |
TreeWalker.visitNode(Node arg) |
Constructor and Description |
---|
ExpressionFactory(Node parent) |
NodeBase(Node parent) |
StatementBase(Node parent) |
ThrowStatement(Node parent) |
Copyright © 2017 Oracle. All rights reserved.