nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/IdentifierTreeImpl.java
--- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/IdentifierTreeImpl.java Wed Jul 05 21:57:11 2017 +0200
+++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/IdentifierTreeImpl.java Tue Jul 12 21:18:13 2016 +0530
@@ -27,6 +27,7 @@
package jdk.nashorn.api.tree;
import jdk.nashorn.internal.ir.IdentNode;
+import jdk.nashorn.internal.ir.Module;
final class IdentifierTreeImpl extends ExpressionTreeImpl implements IdentifierTree {
private final String name;
@@ -47,6 +48,37 @@
}
@Override
+ public boolean isRestParameter() {
+ return ((IdentNode)node).isRestParameter();
+ }
+
+ @Override
+ public boolean isSuper() {
+ final IdentNode ident = (IdentNode)node;
+ return ident.isDirectSuper() || "super".equals(ident.getName());
+ }
+
+ @Override
+ public boolean isThis() {
+ return "this".equals(((IdentNode)node).getName());
+ }
+
+ @Override
+ public boolean isStar() {
+ return Module.STAR_NAME.equals(((IdentNode)node).getName());
+ }
+
+ @Override
+ public boolean isDefault() {
+ return Module.DEFAULT_NAME.equals(((IdentNode)node).getName());
+ }
+
+ @Override
+ public boolean isStarDefaultStar() {
+ return Module.DEFAULT_EXPORT_BINDING_NAME.equals(((IdentNode)node).getName());
+ }
+
+ @Override
public <R,D> R accept(final TreeVisitor<R,D> visitor, final D data) {
return visitor.visitIdentifier(this, data);
}