aboutsummaryrefslogtreecommitdiff
path: root/src/jdk/nashorn/internal/ir/LexicalContextNode.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/jdk/nashorn/internal/ir/LexicalContextNode.java')
-rw-r--r--src/jdk/nashorn/internal/ir/LexicalContextNode.java8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/jdk/nashorn/internal/ir/LexicalContextNode.java b/src/jdk/nashorn/internal/ir/LexicalContextNode.java
index bb6a681d..b53d9f6b 100644
--- a/src/jdk/nashorn/internal/ir/LexicalContextNode.java
+++ b/src/jdk/nashorn/internal/ir/LexicalContextNode.java
@@ -44,8 +44,14 @@ public interface LexicalContextNode {
Node accept(final LexicalContext lc, final NodeVisitor<? extends LexicalContext> visitor);
// Would be a default method on Java 8
+ /**
+ * Helper class for accept for items of this lexical context, delegates to the
+ * subclass accept and makes sure that the node is on the context before accepting
+ * and gets popped after accepting (and that the stack is consistent in that the
+ * node has been replaced with the possible new node resulting in visitation)
+ */
static class Acceptor {
- static Node accept(LexicalContextNode node, final NodeVisitor<? extends LexicalContext> visitor) {
+ static Node accept(final LexicalContextNode node, final NodeVisitor<? extends LexicalContext> visitor) {
final LexicalContext lc = visitor.getLexicalContext();
lc.push(node);
final LexicalContextNode newNode = (LexicalContextNode)node.accept(lc, visitor);