diff options
Diffstat (limited to 'bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2')
-rw-r--r-- | bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/java/Utility.java | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/java/Utility.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/java/Utility.java index ef40ead83..cb950faf2 100644 --- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/java/Utility.java +++ b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/java/Utility.java @@ -377,15 +377,21 @@ public class Utility { throw new IllegalArgumentException(); } c = string[p]; - if (c == Signature.C_SEMICOLON) { + switch (c) { + case Signature.C_SEMICOLON: // all done return p; - } else if (c == Signature.C_GENERIC_START) { + case Signature.C_GENERIC_START: int e = scanTypeArgumentSignatures(string, p); p = e; - } else if (c == Signature.C_DOT || c == '/') { + break; + case Signature.C_DOT: + case '/': int id = scanIdentifier(string, p + 1); p = id; + break; + default: + break; } p++; } |