1 16 package com.google.gwt.dev.js.ast; 17 18 21 public final class JsNameRef extends JsExpression { 22 23 private String ident; 24 private JsName name; 25 private JsExpression qualifier; 26 27 public JsNameRef(JsName name) { 28 this.name = name; 29 } 30 31 public JsNameRef(String ident) { 32 this.ident = ident; 33 } 34 35 public String getIdent() { 36 return (name == null) ? ident : name.getIdent(); 37 } 38 39 public JsExpression getQualifier() { 40 return qualifier; 41 } 42 43 public String getShortIdent() { 44 return (name == null) ? ident : name.getShortIdent(); 45 } 46 47 public boolean isLeaf() { 48 if (qualifier == null) { 49 return true; 50 } else { 51 return false; 52 } 53 } 54 55 public boolean isResolved() { 56 return name != null; 57 } 58 59 public void resolve(JsName name) { 60 this.name = name; 61 this.ident = null; 62 } 63 64 public void setQualifier(JsExpression qualifier) { 65 this.qualifier = qualifier; 66 } 67 68 public void traverse(JsVisitor v, JsContext ctx) { 69 if (v.visit(this, ctx)) { 70 if (qualifier != null) { 71 qualifier = v.accept(qualifier); 72 } 73 } 74 v.endVisit(this, ctx); 75 } 76 } 77 | Popular Tags |