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

📄 modifiers.java

📁 JDK1.4编译器后端
💻 JAVA
📖 第 1 页 / 共 2 页
字号:

package AST;
import java.util.HashSet;import java.util.LinkedHashSet;import java.io.FileNotFoundException;import java.io.File;import java.util.*;import beaver.*;import java.util.ArrayList;import java.util.zip.*;import java.io.*;public class Modifiers extends ASTNode<ASTNode> implements Cloneable {
    public void flushCache() {        super.flushCache();        isPublic_computed = false;        isPrivate_computed = false;        isProtected_computed = false;        isStatic_computed = false;        isFinal_computed = false;        isAbstract_computed = false;        isVolatile_computed = false;        isTransient_computed = false;        isStrictfp_computed = false;        isSynchronized_computed = false;        isNative_computed = false;        isSynthetic_computed = false;        numModifier_String_values = null;    }     @SuppressWarnings({"unchecked", "cast"})  public Modifiers clone() throws CloneNotSupportedException {        Modifiers node = (Modifiers)super.clone();        node.isPublic_computed = false;        node.isPrivate_computed = false;        node.isProtected_computed = false;        node.isStatic_computed = false;        node.isFinal_computed = false;        node.isAbstract_computed = false;        node.isVolatile_computed = false;        node.isTransient_computed = false;        node.isStrictfp_computed = false;        node.isSynchronized_computed = false;        node.isNative_computed = false;        node.isSynthetic_computed = false;        node.numModifier_String_values = null;        node.in$Circle(false);        node.is$Final(false);    return node;    }     @SuppressWarnings({"unchecked", "cast"})  public Modifiers copy() {      try {          Modifiers node = (Modifiers)clone();          if(children != null) node.children = (ASTNode[])children.clone();          return node;      } catch (CloneNotSupportedException e) {      }      System.err.println("Error: Could not clone node of type " + getClass().getName() + "!");      return null;    }     @SuppressWarnings({"unchecked", "cast"})  public Modifiers fullCopy() {        Modifiers res = (Modifiers)copy();        for(int i = 0; i < getNumChildNoTransform(); i++) {          ASTNode node = getChildNoTransform(i);          if(node != null) node = node.fullCopy();          res.setChild(node, i);        }        return res;    }    // Declared in Modifiers.jrag at line 312  // 8.4.3  public void checkModifiers() {    super.checkModifiers();    if(numProtectionModifiers() > 1)      error("only one public, protected, private allowed");    if(numModifier("static") > 1)      error("only one static allowed");    // 8.4.3.1    // 8.4.3.2    // 8.1.1.2    if(numCompletenessModifiers() > 1)      error("only one of final, abstract, volatile allowed");    if(numModifier("synchronized") > 1)      error("only one synchronized allowed");    if(numModifier("transient") > 1)      error("only one transient allowed");    if(numModifier("native") > 1)      error("only one native allowed");    if(numModifier("strictfp") > 1)      error("only one strictfp allowed");    if(isPublic() && !mayBePublic())      error("modifier public not allowed in this context");    if(isPrivate() && !mayBePrivate())      error("modifier private not allowed in this context");    if(isProtected() && !mayBeProtected())      error("modifier protected not allowed in this context");    if(isStatic() && !mayBeStatic())      error("modifier static not allowed in this context");    if(isFinal() && !mayBeFinal())      error("modifier final not allowed in this context");    if(isAbstract() && !mayBeAbstract())      error("modifier abstract not allowed in this context");    if(isVolatile() && !mayBeVolatile())      error("modifier volatile not allowed in this context");    if(isTransient() && !mayBeTransient())      error("modifier transient not allowed in this context");    if(isStrictfp() && !mayBeStrictfp())      error("modifier strictfp not allowed in this context");    if(isSynchronized() && !mayBeSynchronized())      error("modifier synchronized not allowed in this context");    if(isNative() && !mayBeNative())      error("modifier native not allowed in this context");  }    // Declared in PrettyPrint.jadd at line 451  public void toString(StringBuffer s) {    for(int i = 0; i < getNumModifier(); i++) {      getModifier(i).toString(s);      s.append(" ");    }  }    // Declared in Flags.jrag at line 11  public static final int ACC_PUBLIC       = 0x0001;    // Declared in Flags.jrag at line 12 // class field method  public static final int ACC_PRIVATE      = 0x0002;    // Declared in Flags.jrag at line 13 //       field method  public static final int ACC_PROTECTED    = 0x0004;    // Declared in Flags.jrag at line 14 //       field method  public static final int ACC_STATIC       = 0x0008;    // Declared in Flags.jrag at line 15 //       field method  public static final int ACC_FINAL        = 0x0010;    // Declared in Flags.jrag at line 16 // class field method  public static final int ACC_SYNCHRONIZED = 0x0020;    // Declared in Flags.jrag at line 17 //             method  public static final int ACC_SUPER        = 0x0020;    // Declared in Flags.jrag at line 18 // class  public static final int ACC_VOLATILE     = 0x0040;    // Declared in Flags.jrag at line 19 //       field  public static final int ACC_TRANSIENT    = 0x0080;    // Declared in Flags.jrag at line 20 //       field  public static final int ACC_NATIVE       = 0x0100;    // Declared in Flags.jrag at line 21 //             method  public static final int ACC_INTERFACE    = 0x0200;    // Declared in Flags.jrag at line 22 // class  public static final int ACC_ABSTRACT     = 0x0400;    // Declared in Flags.jrag at line 23 // class       method  public static final int ACC_SYNTHETIC    = 0x1000;    // Declared in Flags.jrag at line 24 //       field method  public static final int ACC_STRICT       = 0x0800;    // Declared in java.ast at line 3    // Declared in java.ast line 193
    public Modifiers() {        super();
        setChild(new List(), 0);

    }    // Declared in java.ast at line 11
    // Declared in java.ast line 193    public Modifiers(List<Modifier> p0) {        setChild(p0, 0);    }    // Declared in java.ast at line 15  protected int numChildren() {
    return 1;
  }    // Declared in java.ast at line 18
  public boolean mayHaveRewrite() { return false; }    // Declared in java.ast at line 2    // Declared in java.ast line 193    public void setModifierList(List<Modifier> list) {        setChild(list, 0);    }    // Declared in java.ast at line 6    private int getNumModifier = 0;    // Declared in java.ast at line 7    public int getNumModifier() {        return getModifierList().getNumChild();    }    // Declared in java.ast at line 11     @SuppressWarnings({"unchecked", "cast"})  public Modifier getModifier(int i) {        return (Modifier)getModifierList().getChild(i);    }    // Declared in java.ast at line 15    public void addModifier(Modifier node) {        List<Modifier> list = getModifierList();        list.addChild(node);    }    // Declared in java.ast at line 20    public void setModifier(Modifier node, int i) {        List<Modifier> list = getModifierList();        list.setChild(node, i);    }    // Declared in java.ast at line 24    public List<Modifier> getModifiers() {        return getModifierList();    }    // Declared in java.ast at line 27    public List<Modifier> getModifiersNoTransform() {        return getModifierListNoTransform();    }    // Declared in java.ast at line 31     @SuppressWarnings({"unchecked", "cast"})  public List<Modifier> getModifierList() {        return (List<Modifier>)getChild(0);    }    // Declared in java.ast at line 35     @SuppressWarnings({"unchecked", "cast"})  public List<Modifier> getModifierListNoTransform() {        return (List<Modifier>)getChildNoTransform(0);    }    protected boolean isPublic_computed = false;    protected boolean isPublic_value;    // Declared in Modifiers.jrag at line 368 @SuppressWarnings({"unchecked", "cast"})     public boolean isPublic() {        if(isPublic_computed)            return isPublic_value;        int num = boundariesCrossed;        boolean isFinal = this.is$Final();        isPublic_value = isPublic_compute();        if(isFinal && num == boundariesCrossed)            isPublic_computed = true;        return isPublic_value;    }    private boolean isPublic_compute() {  return numModifier("public") != 0;  }    protected boolean isPrivate_computed = false;    protected boolean isPrivate_value;

⌨️ 快捷键说明

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