diff options
| author | Vikas Chandra | 2018-09-25 11:21:33 +0000 |
|---|---|---|
| committer | Vikas Chandra | 2018-09-25 11:21:33 +0000 |
| commit | 7b8e7a9061faed18bcfd16593f31c1f90fadafeb (patch) | |
| tree | 5863b86c5ea86bb009eeb93af459a18d0cd13b2d | |
| parent | 0b16cb55bb3e7e84954d984bc2d05004583133d3 (diff) | |
| download | eclipse.pde.ui-7b8e7a9061faed18bcfd16593f31c1f90fadafeb.tar.gz eclipse.pde.ui-7b8e7a9061faed18bcfd16593f31c1f90fadafeb.tar.xz eclipse.pde.ui-7b8e7a9061faed18bcfd16593f31c1f90fadafeb.zip | |
Revert "Bug 537282 - API analysis is very slow with Java 11 "P20181003-1015P20181003-0450P20181001-0525P20181001-0215P20180930-1000P20180926-0920P20180926-0500P20180926-0215P20180926-0115P20180925-2145
This reverts commit fa44e339dea9d5629fb76651a63b1377534e264b.
4 files changed, 3 insertions, 43 deletions
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/builder/ReferenceExtractor.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/builder/ReferenceExtractor.java index 19814c36f5..d313fbbd83 100644 --- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/builder/ReferenceExtractor.java +++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/builder/ReferenceExtractor.java @@ -1345,17 +1345,11 @@ public class ReferenceExtractor extends ClassVisitor { private Set<Reference> processInnerClass(IApiType type, int refkinds) throws CoreException { HashSet<Reference> refs = new HashSet<>(); ReferenceExtractor extractor = new ReferenceExtractor(type, refs, refkinds, this.fieldtracker); - byte[] bytes = ((AbstractApiTypeRoot) type.getTypeRoot()).getContents(); - boolean updated = Util.updateVersionFrom11to10(bytes); - ClassReader reader = new ClassReader(bytes); - if (updated) { - Util.updateVersionFrom10to11(bytes); - } + ClassReader reader = new ClassReader(((AbstractApiTypeRoot) type.getTypeRoot()).getContents()); reader.accept(extractor, ClassReader.SKIP_FRAMES); return refs; } - @Override public AnnotationVisitor visitAnnotation(String desc, boolean visible) { try { diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/ApiType.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/ApiType.java index a7772a644f..3a9f4766b8 100644 --- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/ApiType.java +++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/ApiType.java @@ -157,12 +157,7 @@ public class ApiType extends ApiMember implements IApiType { public List<IReference> extractReferences(int referenceMask, IProgressMonitor monitor) throws CoreException { HashSet<Reference> references = new HashSet<>(); ReferenceExtractor extractor = new ReferenceExtractor(this, references, referenceMask); - byte[] bytes = ((AbstractApiTypeRoot) fStorage).getContents(); - boolean updated = Util.updateVersionFrom11to10(bytes); - ClassReader reader = new ClassReader(bytes); - if (updated) { - Util.updateVersionFrom10to11(bytes); - } + ClassReader reader = new ClassReader(((AbstractApiTypeRoot) fStorage).getContents()); reader.accept(extractor, ClassReader.SKIP_FRAMES); return new LinkedList<>(references); } diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/TypeStructureBuilder.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/TypeStructureBuilder.java index 2b306ee63c..e9dc97c50b 100644 --- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/TypeStructureBuilder.java +++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/model/TypeStructureBuilder.java @@ -27,7 +27,6 @@ import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin; import org.eclipse.pde.api.tools.internal.provisional.model.IApiComponent; import org.eclipse.pde.api.tools.internal.provisional.model.IApiType; import org.eclipse.pde.api.tools.internal.provisional.model.IApiTypeRoot; -import org.eclipse.pde.api.tools.internal.util.Util; import org.objectweb.asm.AnnotationVisitor; import org.objectweb.asm.ClassReader; import org.objectweb.asm.ClassVisitor; @@ -257,11 +256,7 @@ public class TypeStructureBuilder extends ClassVisitor { public static IApiType buildTypeStructure(byte[] bytes, IApiComponent component, IApiTypeRoot file) { TypeStructureBuilder visitor = new TypeStructureBuilder(new ClassNode(), component, file); try { - boolean updated = Util.updateVersionFrom11to10(bytes); ClassReader classReader = new ClassReader(bytes); - if (updated) { - Util.updateVersionFrom10to11(bytes); - } classReader.accept(visitor, ClassReader.SKIP_CODE | ClassReader.SKIP_FRAMES); } catch (ArrayIndexOutOfBoundsException e) { logAndReturn(file, e); @@ -288,12 +283,7 @@ public class TypeStructureBuilder extends ClassVisitor { AbstractApiTypeRoot abstractApiTypeRoot = (AbstractApiTypeRoot) typeRoot; EnclosingMethodSetter visitor = new EnclosingMethodSetter(new ClassNode(), currentAnonymousLocalType.getName()); try { - byte[] bytes = abstractApiTypeRoot.getContents(); - boolean updated = Util.updateVersionFrom11to10(bytes); - ClassReader classReader = new ClassReader(bytes); - if (updated) { - Util.updateVersionFrom10to11(bytes); - } + ClassReader classReader = new ClassReader(abstractApiTypeRoot.getContents()); classReader.accept(visitor, ClassReader.SKIP_FRAMES); } catch (ArrayIndexOutOfBoundsException e) { ApiPlugin.log(e); diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/Util.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/Util.java index 98211f93ce..b20def973c 100644 --- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/Util.java +++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/Util.java @@ -2977,24 +2977,5 @@ public final class Util { return type; } - public static boolean updateVersionFrom11to10(byte[] bytes) { - if (bytes.length >= 8) { - if (bytes[7] == 55) { - bytes[7] = 54; - return true; - } - } - return false; - } - - public static void updateVersionFrom10to11(byte[] bytes) { - if (bytes.length >= 8) { - if (bytes[7] == 54) { - bytes[7] = 55; - } - } - - } - } |
