1 16 package com.google.gwt.dev.jjs.ast; 17 18 import com.google.gwt.dev.jjs.HasSourceInfo; 19 import com.google.gwt.dev.jjs.SourceInfo; 20 import com.google.gwt.dev.jjs.impl.SourceGenerationVisitor; 21 import com.google.gwt.dev.jjs.impl.ToStringGenerationVisitor; 22 import com.google.gwt.dev.util.DefaultTextOutput; 23 24 27 public abstract class JNode implements JVisitable, HasSourceInfo { 28 29 protected final JProgram program; 30 private final SourceInfo info; 31 32 protected JNode(JProgram program, SourceInfo info) { 33 if (program == null) { 34 assert (this instanceof JProgram); 35 this.program = (JProgram) this; 36 } else { 37 this.program = program; 38 } 39 this.info = info; 40 } 41 42 public SourceInfo getSourceInfo() { 43 return info; 44 } 45 46 public final String toSource() { 48 DefaultTextOutput out = new DefaultTextOutput(false); 49 SourceGenerationVisitor v = new SourceGenerationVisitor(out); 50 v.accept(this); 51 return out.toString(); 52 } 53 54 public final String toString() { 56 DefaultTextOutput out = new DefaultTextOutput(false); 57 ToStringGenerationVisitor v = new ToStringGenerationVisitor(out); 58 v.accept(this); 59 return out.toString(); 60 } 61 } 62 | Popular Tags |