1 package net.sourceforge.pmd.ast; 2 3 public class AccessNode extends SimpleNode { 4 5 public static final int PUBLIC = 0x0001; 6 public static final int PROTECTED = 0x0002; 7 public static final int PRIVATE = 0x0004; 8 public static final int ABSTRACT = 0x0008; 9 public static final int STATIC = 0x0010; 10 public static final int FINAL = 0x0020; 11 public static final int SYNCHRONIZED = 0x0040; 12 public static final int NATIVE = 0x0080; 13 public static final int TRANSIENT = 0x0100; 14 public static final int VOLATILE = 0x0200; 15 public static final int STRICTFP = 0x1000; 16 17 public AccessNode(int i) { 18 super(i); 19 } 20 21 public AccessNode(JavaParser parser, int i) { 22 super(parser, i); 23 } 24 25 private int modifiers; 26 27 public void setModifiers(int m) { 28 this.modifiers = m; 29 } 30 31 public boolean isPublic() { 32 return (modifiers & PUBLIC) != 0; 33 } 34 35 public boolean isProtected() { 36 return (modifiers & PROTECTED) != 0; 37 } 38 39 public boolean isPrivate() { 40 return (modifiers & PRIVATE) != 0; 41 } 42 43 public boolean isStatic() { 44 return (modifiers & STATIC) != 0; 45 } 46 47 public boolean isAbstract() { 48 return (modifiers & ABSTRACT) != 0; 49 } 50 51 public boolean isFinal() { 52 return (modifiers & FINAL) != 0; 53 } 54 55 public boolean isNative() { 56 return (modifiers & NATIVE) != 0; 57 } 58 59 public boolean isStrictfp() { 60 return (modifiers & STRICTFP) != 0; 61 } 62 63 public boolean isSynchronized() { 64 return (modifiers & SYNCHRONIZED) != 0; 65 } 66 67 public boolean isTransient() { 68 return (modifiers & TRANSIENT) != 0; 69 } 70 71 public boolean isVolatile() { 72 return (modifiers & VOLATILE) != 0; 73 } 74 75 public void setPublic() { 76 modifiers |= PUBLIC; 77 } 78 public void setPrivate() { 79 modifiers |= PRIVATE; 80 } 81 public void setProtected() { 82 modifiers |= PROTECTED; 83 } 84 public void setSynchronized() { 85 modifiers |= SYNCHRONIZED; 86 } 87 public void setVolatile() { 88 modifiers |= VOLATILE; 89 } 90 public void setAbstract() { 91 modifiers |= ABSTRACT; 92 } 93 public void setStatic() { 94 modifiers |= STATIC; 95 } 96 public void setTransient() { 97 modifiers |= TRANSIENT; 98 } 99 public void setFinal() { 100 modifiers |= FINAL; 101 } 102 public void setNative() { 103 modifiers |= NATIVE; 104 } 105 public void setStrictfp() { 106 modifiers |= STRICTFP; 107 } 108 109 /*** 110 * Removes the given modifier. 111 */ 112 static int removeModifier(int modifiers, int mod) { 113 return modifiers & ~mod; 114 } 115 116 public boolean isPackagePrivate() { 117 return !isPrivate() && !isPublic() && !isProtected(); 118 } 119 120 public String collectDumpedModifiers(String prefix) { 121 String out = toString(prefix) + ":"; 122 if (isPackagePrivate()) { 123 out += "(package private)"; 124 } 125 if (isPrivate()) { 126 out += "(private)"; 127 } 128 if (isPublic()) { 129 out += "(public)"; 130 } 131 if (isProtected()) { 132 out += "(protected)"; 133 } 134 if (isAbstract()) { 135 out += "(abstract)"; 136 } 137 if (isStatic()) { 138 out += "(static)"; 139 } 140 if (isFinal()) { 141 out += "(final)"; 142 } 143 if (isSynchronized()) { 144 out += "(synchronized)"; 145 } 146 if (isNative()) { 147 out += "(native)"; 148 } 149 if (isStrictfp()) { 150 out += "(strict)"; 151 } 152 if (isTransient()) { 153 out += "(transient)"; 154 } 155 return out; 156 } 157 }