View Javadoc

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 }