⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 program.java

📁 JDK1.4编译器后端
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
    // Declared in ClassPath.jrag at line 541  // remove user defined classes from this program but keep library classes  public void simpleReset() {    lookupType_String_String_values = new HashMap();    hasPackage_String_values = new HashMap();    List list = new List();    for(int i = 0; i < getNumCompilationUnit(); i++) {      CompilationUnit unit = getCompilationUnit(i);      if(!unit.fromSource()) {        list.add(unit);      }    }    setCompilationUnitList(list);  }    // Declared in ErrorCheck.jrag at line 210  public void errorCheck(Collection collection) {    for(Iterator iter = compilationUnitIterator(); iter.hasNext(); ) {      CompilationUnit cu = (CompilationUnit)iter.next();      if(cu.fromSource()) {        cu.collectErrors();        collection.addAll(cu.errors);      }    }  }    // Declared in ErrorCheck.jrag at line 219  public void errorCheck(Collection collection, Collection warn) {    for(Iterator iter = compilationUnitIterator(); iter.hasNext(); ) {      CompilationUnit cu = (CompilationUnit)iter.next();      if(cu.fromSource()) {        cu.collectErrors();        collection.addAll(cu.errors);        warn.addAll(cu.warnings);      }    }  }    // Declared in ErrorCheck.jrag at line 240    public boolean errorCheck() {    Collection collection = new LinkedList();    errorCheck(collection);    if(collection.isEmpty())      return false;    System.out.println("Errors:");    for(Iterator iter = collection.iterator(); iter.hasNext(); ) {      String s = (String)iter.next();      System.out.println(s);    }    return true;  }    // Declared in LookupType.jrag at line 103  public int classFileReadTime;    // Declared in Options.jadd at line 23  private static Map options = new HashMap();    // Declared in Options.jadd at line 24  private static Map optionDescriptions = new HashMap();    // Declared in Options.jadd at line 26  private HashSet files = new HashSet();    // Declared in Options.jadd at line 27  public Collection files() {    return files;  }    // Declared in Options.jadd at line 31  public static void initOptions() {    options = new HashMap();    optionDescriptions = new HashMap();  }    // Declared in Options.jadd at line 36  public void addKeyOption(String name) {    if(optionDescriptions.containsKey(name))      throw new Error("Command line definition error: option description for " + name + " is multiply declared");    optionDescriptions.put(name, new Option(name, false, false));  }    // Declared in Options.jadd at line 42    public void addKeyValueOption(String name) {    if(optionDescriptions.containsKey(name))      throw new Error("Command line definition error: option description for " + name + " is multiply declared");    optionDescriptions.put(name, new Option(name, true, false));  }    // Declared in Options.jadd at line 48    public void addKeyCollectionOption(String name) {    if(optionDescriptions.containsKey(name))      throw new Error("Command line definition error: option description for " + name + " is multiply declared");    optionDescriptions.put(name, new Option(name, true, true));  }    // Declared in Options.jadd at line 54   public void addOptionDescription(String name, boolean value) {    if(optionDescriptions.containsKey(name))      throw new Error("Command line definition error: option description for " + name + " is multiply declared");    optionDescriptions.put(name, new Option(name, value, false));  }    // Declared in Options.jadd at line 59  public void addOptionDescription(String name, boolean value, boolean isCollection) {    if(optionDescriptions.containsKey(name))      throw new Error("Command line definition error: option description for " + name + " is multiply declared");    optionDescriptions.put(name, new Option(name, value, isCollection));  }    // Declared in Options.jadd at line 65    public void addOptions(String[] args) {    for(int i = 0; i < args.length; i++) {      String arg = args[i];      if(arg.startsWith("@")) {        try {          String fileName = arg.substring(1,arg.length());          java.io.StreamTokenizer tokenizer = new java.io.StreamTokenizer(new java.io.FileReader(fileName));          tokenizer.resetSyntax();          tokenizer.whitespaceChars(' ',' ');          tokenizer.whitespaceChars('\t','\t');          tokenizer.whitespaceChars('\f','\f');          tokenizer.whitespaceChars('\n','\n');          tokenizer.whitespaceChars('\r','\r');          tokenizer.wordChars(33,255);          ArrayList list = new ArrayList();          int next = tokenizer.nextToken();          while(next != java.io.StreamTokenizer.TT_EOF) {            if(next == java.io.StreamTokenizer.TT_WORD) {              list.add(tokenizer.sval);            }            next = tokenizer.nextToken();          }          String[] newArgs = new String[list.size()];          int index = 0;          for(Iterator iter = list.iterator(); iter.hasNext(); index++) {            newArgs[index] = (String)iter.next();          }          addOptions(newArgs);        } catch (java.io.IOException e) {        }      }      else if(arg.startsWith("-")) {        if(!optionDescriptions.containsKey(arg))          throw new Error("Command line argument error: option " + arg + " is not defined");        Option o = (Option)optionDescriptions.get(arg);                if(!o.isCollection && options.containsKey(arg))          throw new Error("Command line argument error: option " + arg + " is multiply defined");                if(o.hasValue && !o.isCollection) {          String value = null;          if(i + 1 > args.length - 1)            throw new Error("Command line argument error: value missing for key " + arg);          value = args[i+1];          if(value.startsWith("-"))            throw new Error("Command line argument error: value missing for key " + arg);          i++;          options.put(arg, value);        }        else if(o.hasValue && o.isCollection) {          String value = null;          if(i + 1 > args.length - 1)            throw new Error("Command line argument error: value missing for key " + arg);          value = args[i+1];          if(value.startsWith("-"))            throw new Error("Command line argument error: value missing for key " + arg);          i++;          Collection c = (Collection)options.get(arg);          if(c == null)            c = new ArrayList();          c.add(value);          options.put(arg, c);        }        else {          options.put(arg, null);        }      }      else {        files.add(arg);      }    }  }    // Declared in Options.jadd at line 137  public static boolean hasOption(String name) {    return options.containsKey(name);  }    // Declared in Options.jadd at line 140  public static void setOption(String name) {    options.put(name, null);  }    // Declared in Options.jadd at line 143  public static boolean hasValueForOption(String name) {    return options.containsKey(name) && options.get(name) != null;  }    // Declared in Options.jadd at line 146  public static String getValueForOption(String name) {    if(!hasValueForOption(name))      throw new Error("Command line argument error: key " + name + " does not have a value");    return (String)options.get(name);  }    // Declared in Options.jadd at line 151  public static void setValueForOption(String value, String option) {    options.put(option, value);  }    // Declared in Options.jadd at line 154  public static Collection getValueCollectionForOption(String name) {    if(!hasValueForOption(name))      throw new Error("Command line argument error: key " + name + " does not have a value");    return (Collection)options.get(name);  }    // Declared in Options.jadd at line 160  public static boolean verbose() {    return hasOption("-verbose");  }    // Declared in PrettyPrint.jadd at line 35  public void toString(StringBuffer s) {    for(Iterator iter = compilationUnitIterator(); iter.hasNext(); ) {      CompilationUnit cu = (CompilationUnit)iter.next();      if(cu.fromSource()) {         cu.toString(s);      }    }  }    // Declared in PrettyPrint.jadd at line 799  public String dumpTree() {    StringBuffer s = new StringBuffer();    for(Iterator iter = compilationUnitIterator(); iter.hasNext(); ) {      CompilationUnit cu = (CompilationUnit)iter.next();      if(cu.fromSource()) {         s.append(cu.dumpTree());      }    }    return s.toString();  }    // Declared in PrimitiveTypes.jrag at line 13  private boolean initPrimTypes = false;    // Declared in PrimitiveTypes.jrag at line 15    public void addPrimitiveTypes() {    if(!initPrimTypes) {      initPrimTypes = true;        CompilationUnit u = new CompilationUnit();    u.setPackageDecl(PRIMITIVE_PACKAGE_NAME);    addCompilationUnit(u);    TypeDecl classDecl = generateUnknownType();    u.addTypeDecl(classDecl);    TypeDecl unknown = classDecl;    classDecl = generatePrimitiveType(new BooleanType(), "boolean", unknown);    u.addTypeDecl(classDecl);        classDecl = generatePrimitiveType(new DoubleType(), "double", unknown);    u.addTypeDecl(classDecl);        classDecl = generatePrimitiveType(new FloatType(), "float", classDecl);    u.addTypeDecl(classDecl);        classDecl = generatePrimitiveType(new LongType(), "long", classDecl);    u.addTypeDecl(classDecl);        classDecl = generatePrimitiveType(new IntType(), "int", classDecl);    u.addTypeDecl(classDecl);    TypeDecl intDecl = classDecl;        classDecl = generatePrimitiveType(new ShortType(), "short", classDecl);    u.addTypeDecl(classDecl);        classDecl = generatePrimitiveType(new ByteType(), "byte", classDecl);    u.addTypeDecl(classDecl);        classDecl = generatePrimitiveType(new CharType(), "char", intDecl);    u.addTypeDecl(classDecl);        classDecl = new NullType();    classDecl.setModifiers(new Modifiers(new List().add(new Modifier("public"))));    classDecl.setID("null");    u.addTypeDecl(classDecl);    classDecl = new VoidType();    classDecl.setModifiers(new Modifiers(new List().add(new Modifier("public"))));    classDecl.setID("void");    u.addTypeDecl(classDecl);    }  }    // Declared in PrimitiveTypes.jrag at line 65  public TypeDecl generatePrimitiveType(PrimitiveType type, String name, TypeDecl superType) {    type.setModifiers(new Modifiers(new List().add(new Modifier("public"))));    type.setID(name);    if(superType != null)      type.setSuperClassAccess(superType.createQualifiedAccess());    return type;  }    // Declared in PrimitiveTypes.jrag at line 73  private TypeDecl generateUnknownType() {    ClassDecl classDecl = new UnknownType();    classDecl.setModifiers(new Modifiers(new List().add(new Modifier("public"))));    classDecl.setID("Unknown");    MethodDecl methodDecl = new MethodDecl(        new Modifiers(new List().add(          new Modifier("public")        )),        new PrimitiveTypeAccess("Unknown"),        "unknown",        new List(),        new List(),        new Opt()    );    classDecl.addBodyDecl(methodDecl);    FieldDeclaration fieldDecl = new FieldDeclaration(        new Modifiers(new List().add(          new Modifier("public")        )),        new PrimitiveTypeAccess("Unknown"),        "unknown",        new Opt()    );    classDecl.addBodyDecl(fieldDecl);   

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -