1 19 20 package org.netbeans.modules.java.source.script; 21 22 import org.netbeans.modules.java.source.pretty.VeryPretty; 23 24 import com.sun.tools.javac.tree.*; 25 import com.sun.tools.javac.tree.JCTree.*; 26 import com.sun.tools.javac.util.*; 27 28 import java.io.*; 29 30 public class Coder extends VeryPretty { 31 public Coder(Context ctx) { super(ctx); } 32 public void generate(JCTree t) throws IOException { 33 reset(16); 34 t.accept(this); 35 writeTo(pc.getWriter()); 36 pc.write(";\n"); 37 } 38 39 public void visitIdent(JCIdent tree) { 40 Name n = tree.sym==null ? tree.name : tree.sym.name; 41 for(int i = metavars.length; --i>=0; ) { 42 if(metavars[i]==n) { 43 if(isList[i]<=0) print(metavals[i]); 44 else { 45 print("firstN("); 46 print(metavals[i]); 47 print(", len_"); 48 print(String.valueOf(i)); 49 print(")"); 50 } 51 return; 52 } 53 } 54 super.visitIdent(tree); 55 } 56 57 PluginCompiler pc; 58 protected Name[] metavars; 59 protected String [] metavals; 60 int[] isList; 61 } 62 63 | Popular Tags |