@@ -38,65 +38,74 @@ public AccessFlags(@AccessFlagsConstant int access) {
3838 this .access = access ;
3939 }
4040
41- public AccessFlags (EnumSet <Modifier > modifiers ) {
41+ public AccessFlags (Iterable <Modifier > modifiers ) {
4242 this (accessFor (modifiers ));
4343 }
4444
4545 @ AccessFlagsConstant
46- private static int accessFor (EnumSet <Modifier > modifiers ) {
46+ private static int accessFor (Iterable <Modifier > modifiers ) {
47+ val modifierSet = EnumSet .noneOf (Modifier .Keyword .class );
48+ for (Modifier modifier : modifiers ) {
49+ modifierSet .add (modifier .getKeyword ());
50+ }
51+ return accessFor (modifierSet );
52+ }
53+
54+ @ AccessFlagsConstant
55+ private static int accessFor (EnumSet <Modifier .Keyword > modifiers ) {
4756 int access = 0 ;
48- if (modifiers .contains (Modifier .PUBLIC ))
57+ if (modifiers .contains (Modifier .Keyword . PUBLIC ))
4958 access |= ACC_PUBLIC ;
50- if (modifiers .contains (Modifier .PRIVATE ))
59+ if (modifiers .contains (Modifier .Keyword . PRIVATE ))
5160 access |= ACC_PRIVATE ;
52- if (modifiers .contains (Modifier .PROTECTED ))
61+ if (modifiers .contains (Modifier .Keyword . PROTECTED ))
5362 access |= ACC_PROTECTED ;
54- if (modifiers .contains (Modifier .STATIC ))
63+ if (modifiers .contains (Modifier .Keyword . STATIC ))
5564 access |= ACC_STATIC ;
56- if (modifiers .contains (Modifier .FINAL ))
65+ if (modifiers .contains (Modifier .Keyword . FINAL ))
5766 access |= ACC_FINAL ;
58- if (modifiers .contains (Modifier .SYNCHRONIZED ))
67+ if (modifiers .contains (Modifier .Keyword . SYNCHRONIZED ))
5968 access |= ACC_SYNCHRONIZED ;
60- if (modifiers .contains (Modifier .VOLATILE ))
69+ if (modifiers .contains (Modifier .Keyword . VOLATILE ))
6170 access |= ACC_VOLATILE ;
62- if (modifiers .contains (Modifier .TRANSIENT ))
71+ if (modifiers .contains (Modifier .Keyword . TRANSIENT ))
6372 access |= ACC_TRANSIENT ;
64- if (modifiers .contains (Modifier .NATIVE ))
73+ if (modifiers .contains (Modifier .Keyword . NATIVE ))
6574 access |= ACC_NATIVE ;
66- if (modifiers .contains (Modifier .ABSTRACT ))
75+ if (modifiers .contains (Modifier .Keyword . ABSTRACT ))
6776 access |= ACC_ABSTRACT ;
68- if (modifiers .contains (Modifier .STRICTFP ))
77+ if (modifiers .contains (Modifier .Keyword . STRICTFP ))
6978 access |= ACC_STRICT ;
7079 return access ;
7180 }
7281
73- public EnumSet < Modifier > toJavaParserModifierSet () {
74- val modifiers = new ArrayList <Modifier >();
82+ public Modifier . Keyword [] toJavaParserModifierSet () {
83+ val modifiers = new ArrayList <Modifier . Keyword >();
7584
7685 if (has (ACC_PUBLIC ))
77- modifiers .add (Modifier .PUBLIC );
86+ modifiers .add (Modifier .Keyword . PUBLIC );
7887 if (has (ACC_PRIVATE ))
79- modifiers .add (Modifier .PRIVATE );
88+ modifiers .add (Modifier .Keyword . PRIVATE );
8089 if (has (ACC_PROTECTED ))
81- modifiers .add (Modifier .PROTECTED );
90+ modifiers .add (Modifier .Keyword . PROTECTED );
8291 if (has (ACC_STATIC ))
83- modifiers .add (Modifier .STATIC );
92+ modifiers .add (Modifier .Keyword . STATIC );
8493 if (has (ACC_FINAL ))
85- modifiers .add (Modifier .FINAL );
94+ modifiers .add (Modifier .Keyword . FINAL );
8695 if (has (ACC_SYNCHRONIZED ))
87- modifiers .add (Modifier .SYNCHRONIZED );
96+ modifiers .add (Modifier .Keyword . SYNCHRONIZED );
8897 if (has (ACC_VOLATILE ))
89- modifiers .add (Modifier .VOLATILE );
98+ modifiers .add (Modifier .Keyword . VOLATILE );
9099 if (has (ACC_TRANSIENT ))
91- modifiers .add (Modifier .TRANSIENT );
100+ modifiers .add (Modifier .Keyword . TRANSIENT );
92101 if (has (ACC_NATIVE ))
93- modifiers .add (Modifier .NATIVE );
102+ modifiers .add (Modifier .Keyword . NATIVE );
94103 if (has (ACC_ABSTRACT ))
95- modifiers .add (Modifier .ABSTRACT );
104+ modifiers .add (Modifier .Keyword . ABSTRACT );
96105 if (has (ACC_STRICT ))
97- modifiers .add (Modifier .STRICTFP );
106+ modifiers .add (Modifier .Keyword . STRICTFP );
98107
99- return EnumSet . copyOf ( modifiers );
108+ return modifiers . toArray ( new Modifier . Keyword [ 0 ] );
100109 }
101110
102111 @ Override
0 commit comments