8000 Add readResolve to SimpleNoArgConstructor · sakerbuild/saker.java.compiler@44e35e6 · GitHub
[go: up one dir, main page]

Skip to content

Commit 44e35e6

Browse filesBrowse files
committed
Add readResolve to SimpleNoArgConstructor
1 parent 320489e commit 44e35e6

File tree

1 file changed

+16
-1
lines changed

1 file changed

+16
-1
lines changed

impl/src/main/saker/java/compiler/impl/compile/signature/impl/SimpleNoArgConstructor.java

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
import java.io.IOException;
2020
import java.io.ObjectInput;
2121
import java.io.ObjectOutput;
22-
import java.util.Collection;
2322
import java.util.Collections;
2423
import java.util.List;
2524
import java.util.Set;
@@ -156,6 +155,22 @@ public void readExternal(ObjectInput in) throws IOException, ClassNotFoundExcept
156155
modifierFlags = ImmutableModifierSet.readExternalFlag(in);
157156
}
158157

158+
private Object readResolve() {
159+
switch (modifierFlags) {
160+
case ImmutableModifierSet.FLAG_NONE:
161+
return INSTANCE_MODIFIERS_NONE;
162+
case ImmutableModifierSet.FLAG_PUBLIC:
163+
return INSTANCE_MODIFIERS_PUBLIC;
164+
case ImmutableModifierSet.FLAG_PROTECTED:
165+
return INSTANCE_MODIFIERS_PROTECTED;
166+
case ImmutableModifierSet.FLAG_PRIVATE:
167+
return INSTANCE_MODIFIERS_PRIVATE;
168+
default:
169+
//if by any chance the modifiers are different, create a new instance
170+
return this;
171+
}
172+
}
173+
159174
@Override
160175
public int hashCode() {
161176
return modifierFlags;

0 commit comments

Comments
 (0)
0