mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
java: injected methods excluded from enum stub
This commit is contained in:
@@ -40,7 +40,7 @@ import static com.intellij.psi.compiled.ClassFileDecompilers.Full;
|
||||
public class ClassFileStubBuilder implements BinaryFileStubBuilder {
|
||||
private static final Logger LOG = Logger.getInstance("#com.intellij.psi.impl.compiled.ClassFileStubBuilder");
|
||||
|
||||
public static final int STUB_VERSION = 10;
|
||||
public static final int STUB_VERSION = 11;
|
||||
|
||||
@Override
|
||||
public boolean acceptsFile(@NotNull VirtualFile file) {
|
||||
|
||||
@@ -408,6 +408,12 @@ public class StubBuildingVisitor<T> extends ClassVisitor {
|
||||
|
||||
if (SYNTHETIC_CLASS_INIT_METHOD.equals(name)) return null;
|
||||
|
||||
// skip semi-synthetic enum methods
|
||||
if (myResult.isEnum()) {
|
||||
if ("values".equals(name) && desc.startsWith("()")) return null;
|
||||
if ("valueOf".equals(name) && desc.startsWith("(Ljava/lang/String;)")) return null;
|
||||
}
|
||||
|
||||
boolean isDeprecated = (access & Opcodes.ACC_DEPRECATED) != 0;
|
||||
boolean isConstructor = SYNTHETIC_INIT_METHOD.equals(name);
|
||||
boolean isVarargs = (access & Opcodes.ACC_VARARGS) != 0;
|
||||
|
||||
@@ -7,9 +7,5 @@ package pkg;
|
||||
enum EmptyEnum {
|
||||
;
|
||||
|
||||
public static pkg.EmptyEnum[] values() { /* compiled code */ }
|
||||
|
||||
public static pkg.EmptyEnum valueOf(java.lang.String s) { /* compiled code */ }
|
||||
|
||||
private EmptyEnum() { /* compiled code */ }
|
||||
}
|
||||
@@ -10,9 +10,5 @@ public enum EnumWithFields {
|
||||
private boolean f1;
|
||||
static boolean f2;
|
||||
|
||||
public static pkg.EnumWithFields[] values() { /* compiled code */ }
|
||||
|
||||
public static pkg.EnumWithFields valueOf(java.lang.String s) { /* compiled code */ }
|
||||
|
||||
private EnumWithFields() { /* compiled code */ }
|
||||
}
|
||||
@@ -7,9 +7,5 @@ package pkg;
|
||||
public enum SimpleEnum {
|
||||
E1, E2;
|
||||
|
||||
public static pkg.SimpleEnum[] values() { /* compiled code */ }
|
||||
|
||||
public static pkg.SimpleEnum valueOf(java.lang.String s) { /* compiled code */ }
|
||||
|
||||
private SimpleEnum() { /* compiled code */ }
|
||||
}
|
||||
@@ -10,18 +10,6 @@ PsiJavaFileStub []
|
||||
PsiModifierListStub[mask=25]
|
||||
PsiFieldStub[enumconst C:AnnotatedEnumConstructor]
|
||||
PsiModifierListStub[mask=25]
|
||||
PsiMethodStub[values:AnnotatedEnumConstructor[]]
|
||||
PsiModifierListStub[mask=9]
|
||||
PsiTypeParameterListStub
|
||||
PsiParameterListStub
|
||||
PsiRefListStub[THROWS_LIST:]
|
||||
PsiMethodStub[valueOf:AnnotatedEnumConstructor]
|
||||
PsiModifierListStub[mask=9]
|
||||
PsiTypeParameterListStub
|
||||
PsiParameterListStub
|
||||
PsiParameterStub[name:java.lang.String]
|
||||
PsiModifierListStub[mask=0]
|
||||
PsiRefListStub[THROWS_LIST:]
|
||||
PsiMethodStub[cons varargs AnnotatedEnumConstructor:void]
|
||||
PsiModifierListStub[mask=2]
|
||||
PsiTypeParameterListStub
|
||||
|
||||
@@ -18,18 +18,6 @@ PsiJavaFileStub [java.util.concurrent]
|
||||
PsiModifierListStub[mask=26]
|
||||
PsiFieldStub[overflows:long[]]
|
||||
PsiModifierListStub[mask=26]
|
||||
PsiMethodStub[values:java.util.concurrent.TimeUnit[]]
|
||||
PsiModifierListStub[mask=25]
|
||||
PsiTypeParameterListStub
|
||||
PsiParameterListStub
|
||||
PsiRefListStub[THROWS_LIST:]
|
||||
PsiMethodStub[valueOf:java.util.concurrent.TimeUnit]
|
||||
PsiModifierListStub[mask=9]
|
||||
PsiTypeParameterListStub
|
||||
PsiParameterListStub
|
||||
PsiParameterStub[p1:java.lang.String]
|
||||
PsiModifierListStub[mask=0]
|
||||
PsiRefListStub[THROWS_LIST:]
|
||||
PsiMethodStub[cons TimeUnit:void]
|
||||
PsiModifierListStub[mask=2]
|
||||
PsiTypeParameterListStub
|
||||
|
||||
Reference in New Issue
Block a user