3030import jakarta .annotation .Nonnull ;
3131
3232public class ClsModifierListImpl extends ClsRepositoryPsiElement <PsiModifierListStub > implements PsiModifierList {
33- public ClsModifierListImpl (PsiModifierListStub stub ) {
34- super (stub );
35- }
36-
37- @ Override
38- @ Nonnull
39- public PsiElement [] getChildren () {
40- return getAnnotations ();
41- }
42-
43- @ Override
44- public boolean hasModifierProperty (@ Nonnull String name ) {
45- return ModifierFlags .hasModifierProperty (name , getStub ().getModifiersMask ());
46- }
47-
48- @ Override
49- public boolean hasExplicitModifier (@ Nonnull String name ) {
50- return hasModifierProperty (name );
51- }
52-
53- @ Override
54- public void setModifierProperty (@ Nonnull String name , boolean value ) throws IncorrectOperationException {
55- throw cannotModifyException (this );
56- }
57-
58- @ Override
59- public void checkSetModifierProperty (@ Nonnull String name , boolean value ) throws IncorrectOperationException {
60- throw cannotModifyException (this );
61- }
62-
63- @ Override
64- @ Nonnull
65- public PsiAnnotation [] getAnnotations () {
66- return getStub ().getChildrenByType (JavaStubElementTypes .ANNOTATION , PsiAnnotation .ARRAY_FACTORY );
67- }
68-
69- @ Override
70- @ Nonnull
71- public PsiAnnotation [] getApplicableAnnotations () {
72- return getAnnotations ();
73- }
74-
75- @ Override
76- public PsiAnnotation findAnnotation (@ Nonnull String qualifiedName ) {
77- return PsiImplUtil .findAnnotation (this , qualifiedName );
78- }
79-
80- @ Override
81- @ Nonnull
82- public PsiAnnotation addAnnotation (@ Nonnull String qualifiedName ) {
83- throw cannotModifyException (this );
84- }
85-
86- @ Override
87- public void appendMirrorText (int indentLevel , @ Nonnull StringBuilder buffer ) {
88- PsiElement parent = getParent ();
89- PsiAnnotation [] annotations = getAnnotations ();
90- boolean separateAnnotations = parent instanceof PsiClass || parent instanceof PsiMethod || parent instanceof PsiField || parent instanceof PsiJavaModule ;
91-
92- for (PsiAnnotation annotation : annotations ) {
93- appendText (annotation , indentLevel , buffer , separateAnnotations ? NEXT_LINE : " " );
33+ public ClsModifierListImpl (PsiModifierListStub stub ) {
34+ super (stub );
35+ }
36+
37+ @ Override
38+ @ Nonnull
39+ public PsiElement [] getChildren () {
40+ return getAnnotations ();
41+ }
42+
43+ @ Override
44+ public boolean hasModifierProperty (@ Nonnull String name ) {
45+ return ModifierFlags .hasModifierProperty (name , getStub ().getModifiersMask ());
46+ }
47+
48+ @ Override
49+ public boolean hasExplicitModifier (@ Nonnull String name ) {
50+ return hasModifierProperty (name );
51+ }
52+
53+ @ Override
54+ public void setModifierProperty (@ Nonnull String name , boolean value ) throws IncorrectOperationException {
55+ throw cannotModifyException (this );
56+ }
57+
58+ @ Override
59+ public void checkSetModifierProperty (@ Nonnull String name , boolean value ) throws IncorrectOperationException {
60+ throw cannotModifyException (this );
61+ }
62+
63+ @ Override
64+ @ Nonnull
65+ public PsiAnnotation [] getAnnotations () {
66+ return getStub ().getChildrenByType (JavaStubElementTypes .ANNOTATION , PsiAnnotation .ARRAY_FACTORY );
67+ }
68+
69+ @ Override
70+ @ Nonnull
71+ public PsiAnnotation [] getApplicableAnnotations () {
72+ return getAnnotations ();
73+ }
74+
75+ @ Override
76+ public PsiAnnotation findAnnotation (@ Nonnull String qualifiedName ) {
77+ return PsiImplUtil .findAnnotation (this , qualifiedName );
78+ }
79+
80+ @ Override
81+ @ Nonnull
82+ public PsiAnnotation addAnnotation (@ Nonnull String qualifiedName ) {
83+ throw cannotModifyException (this );
84+ }
85+
86+ @ Override
87+ public void appendMirrorText (int indentLevel , @ Nonnull StringBuilder buffer ) {
88+ PsiElement parent = getParent ();
89+ PsiAnnotation [] annotations = getAnnotations ();
90+ boolean separateAnnotations = parent instanceof PsiClass
91+ || parent instanceof PsiMethod
92+ || parent instanceof PsiField
93+ || parent instanceof PsiJavaModule ;
94+
95+ for (PsiAnnotation annotation : annotations ) {
96+ appendText (annotation , indentLevel , buffer , separateAnnotations ? NEXT_LINE : " " );
97+ }
98+
99+ boolean isClass = parent instanceof PsiClass ;
100+ boolean isInterface = isClass && ((PsiClass )parent ).isInterface ();
101+ boolean isEnum = isClass && ((PsiClass )parent ).isEnum ();
102+ boolean isInterfaceClass = isClass && parent .getParent () instanceof PsiClass && ((PsiClass )parent .getParent ()).isInterface ();
103+ boolean isMethod = parent instanceof PsiMethod ;
104+ boolean isInterfaceMethod = isMethod && parent .getParent () instanceof PsiClass && ((PsiClass )parent .getParent ()).isInterface ();
105+ boolean isField = parent instanceof PsiField ;
106+ boolean isInterfaceField = isField && parent .getParent () instanceof PsiClass && ((PsiClass )parent .getParent ()).isInterface ();
107+ boolean isEnumConstant = parent instanceof PsiEnumConstant ;
108+
109+ if (hasModifierProperty (PsiModifier .PUBLIC ) && !isInterfaceMethod && !isInterfaceField && !isInterfaceClass && !isEnumConstant ) {
110+ buffer .append (PsiModifier .PUBLIC ).append (' ' );
111+ }
112+ if (hasModifierProperty (PsiModifier .PROTECTED )) {
113+ buffer .append (PsiModifier .PROTECTED ).append (' ' );
114+ }
115+ if (hasModifierProperty (PsiModifier .PRIVATE )) {
116+ buffer .append (PsiModifier .PRIVATE ).append (' ' );
117+ }
118+ if (hasModifierProperty (PsiModifier .STATIC ) && !isInterfaceField && !isEnumConstant ) {
119+ buffer .append (PsiModifier .STATIC ).append (' ' );
120+ }
121+ if (hasModifierProperty (PsiModifier .ABSTRACT ) && !isInterface && !isInterfaceMethod ) {
122+ buffer .append (PsiModifier .ABSTRACT ).append (' ' );
123+ }
124+ if (hasModifierProperty (PsiModifier .FINAL ) && !isEnum && !isInterfaceField && !isEnumConstant ) {
125+ buffer .append (PsiModifier .FINAL ).append (' ' );
126+ }
127+ if (hasModifierProperty (PsiModifier .NATIVE )) {
128+ buffer .append (PsiModifier .NATIVE ).append (' ' );
129+ }
130+ if (hasModifierProperty (PsiModifier .SYNCHRONIZED )) {
131+ buffer .append (PsiModifier .SYNCHRONIZED ).append (' ' );
132+ }
133+ if (hasModifierProperty (PsiModifier .TRANSIENT )) {
134+ buffer .append (PsiModifier .TRANSIENT ).append (' ' );
135+ }
136+ if (hasModifierProperty (PsiModifier .VOLATILE )) {
137+ buffer .append (PsiModifier .VOLATILE ).append (' ' );
138+ }
139+ if (hasModifierProperty (PsiModifier .STRICTFP )) {
140+ buffer .append (PsiModifier .STRICTFP ).append (' ' );
141+ }
142+ if (hasModifierProperty (PsiModifier .DEFAULT )) {
143+ buffer .append (PsiModifier .DEFAULT ).append (' ' );
144+ }
145+ if (hasModifierProperty (PsiModifier .OPEN )) {
146+ buffer .append (PsiModifier .OPEN ).append (' ' );
147+ }
148+ if (hasModifierProperty (PsiModifier .TRANSITIVE )) {
149+ buffer .append (PsiModifier .TRANSITIVE ).append (' ' );
150+ }
151+ }
152+
153+ @ Override
154+ public void setMirror (@ Nonnull TreeElement element ) throws InvalidMirrorException {
155+ setMirrorCheckingType (element , JavaElementType .MODIFIER_LIST );
156+ setMirrors (getAnnotations (), SourceTreeToPsiMap .<PsiModifierList >treeToPsiNotNull (element ).getAnnotations ());
157+ }
158+
159+ @ Override
160+ public void accept (@ Nonnull PsiElementVisitor visitor ) {
161+ if (visitor instanceof JavaElementVisitor ) {
162+ ((JavaElementVisitor )visitor ).visitModifierList (this );
163+ }
164+ else {
165+ visitor .visitElement (this );
166+ }
167+ }
168+
169+ @ Override
170+ public String toString () {
171+ return "PsiModifierList" ;
94172 }
95-
96- boolean isClass = parent instanceof PsiClass ;
97- boolean isInterface = isClass && ((PsiClass ) parent ).isInterface ();
98- boolean isEnum = isClass && ((PsiClass ) parent ).isEnum ();
99- boolean isInterfaceClass = isClass && parent .getParent () instanceof PsiClass && ((PsiClass ) parent .getParent ()).isInterface ();
100- boolean isMethod = parent instanceof PsiMethod ;
101- boolean isInterfaceMethod = isMethod && parent .getParent () instanceof PsiClass && ((PsiClass ) parent .getParent ()).isInterface ();
102- boolean isField = parent instanceof PsiField ;
103- boolean isInterfaceField = isField && parent .getParent () instanceof PsiClass && ((PsiClass ) parent .getParent ()).isInterface ();
104- boolean isEnumConstant = parent instanceof PsiEnumConstant ;
105-
106- if (hasModifierProperty (PsiModifier .PUBLIC ) && !isInterfaceMethod && !isInterfaceField && !isInterfaceClass && !isEnumConstant ) {
107- buffer .append (PsiModifier .PUBLIC ).append (' ' );
108- }
109- if (hasModifierProperty (PsiModifier .PROTECTED )) {
110- buffer .append (PsiModifier .PROTECTED ).append (' ' );
111- }
112- if (hasModifierProperty (PsiModifier .PRIVATE )) {
113- buffer .append (PsiModifier .PRIVATE ).append (' ' );
114- }
115- if (hasModifierProperty (PsiModifier .STATIC ) && !isInterfaceField && !isEnumConstant ) {
116- buffer .append (PsiModifier .STATIC ).append (' ' );
117- }
118- if (hasModifierProperty (PsiModifier .ABSTRACT ) && !isInterface && !isInterfaceMethod ) {
119- buffer .append (PsiModifier .ABSTRACT ).append (' ' );
120- }
121- if (hasModifierProperty (PsiModifier .FINAL ) && !isEnum && !isInterfaceField && !isEnumConstant ) {
122- buffer .append (PsiModifier .FINAL ).append (' ' );
123- }
124- if (hasModifierProperty (PsiModifier .NATIVE )) {
125- buffer .append (PsiModifier .NATIVE ).append (' ' );
126- }
127- if (hasModifierProperty (PsiModifier .SYNCHRONIZED )) {
128- buffer .append (PsiModifier .SYNCHRONIZED ).append (' ' );
129- }
130- if (hasModifierProperty (PsiModifier .TRANSIENT )) {
131- buffer .append (PsiModifier .TRANSIENT ).append (' ' );
132- }
133- if (hasModifierProperty (PsiModifier .VOLATILE )) {
134- buffer .append (PsiModifier .VOLATILE ).append (' ' );
135- }
136- if (hasModifierProperty (PsiModifier .STRICTFP )) {
137- buffer .append (PsiModifier .STRICTFP ).append (' ' );
138- }
139- if (hasModifierProperty (PsiModifier .DEFAULT )) {
140- buffer .append (PsiModifier .DEFAULT ).append (' ' );
141- }
142- if (hasModifierProperty (PsiModifier .OPEN )) {
143- buffer .append (PsiModifier .OPEN ).append (' ' );
144- }
145- if (hasModifierProperty (PsiModifier .TRANSITIVE )) {
146- buffer .append (PsiModifier .TRANSITIVE ).append (' ' );
147- }
148- }
149-
150- @ Override
151- public void setMirror (@ Nonnull TreeElement element ) throws InvalidMirrorException {
152- setMirrorCheckingType (element , JavaElementType .MODIFIER_LIST );
153- setMirrors (getAnnotations (), SourceTreeToPsiMap .<PsiModifierList >treeToPsiNotNull (element ).getAnnotations ());
154- }
155-
156- @ Override
157- public void accept (@ Nonnull PsiElementVisitor visitor ) {
158- if (visitor instanceof JavaElementVisitor ) {
159- ((JavaElementVisitor ) visitor ).visitModifierList (this );
160- } else {
161- visitor .visitElement (this );
162- }
163- }
164-
165- @ Override
166- public String toString () {
167- return "PsiModifierList" ;
168- }
169173}
0 commit comments