Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.jdt.debug/jdi/org/eclipse/jdi/internal/GenericSignature.java')
-rw-r--r--org.eclipse.jdt.debug/jdi/org/eclipse/jdi/internal/GenericSignature.java95
1 files changed, 49 insertions, 46 deletions
diff --git a/org.eclipse.jdt.debug/jdi/org/eclipse/jdi/internal/GenericSignature.java b/org.eclipse.jdt.debug/jdi/org/eclipse/jdi/internal/GenericSignature.java
index 92428cbed..707f22b78 100644
--- a/org.eclipse.jdt.debug/jdi/org/eclipse/jdi/internal/GenericSignature.java
+++ b/org.eclipse.jdt.debug/jdi/org/eclipse/jdi/internal/GenericSignature.java
@@ -18,68 +18,71 @@ import java.util.List;
* Utility class to perform operations on generic signatures
*/
public class GenericSignature {
-
- private static final char C_CLASS_TYPE= 'L';
- private static final char C_TYPE_VARIABLE= 'T';
- private static final char C_ARRAY= '[';
- private static final char C_WILDCARD_PLUS= '+';
- private static final char C_WILDCARD_MINUS= '-';
-
- private static final char C_TYPE_END= ';';
- private static final char C_PARAMETERS_START= '(';
- private static final char C_PARAMETERS_END= ')';
- private static final char C_TYPE_ARGUMENTS_START= '<';
- private static final char C_TYPE_ARGUMENTS_END= '>';
-
+
+ private static final char C_CLASS_TYPE = 'L';
+ private static final char C_TYPE_VARIABLE = 'T';
+ private static final char C_ARRAY = '[';
+ private static final char C_WILDCARD_PLUS = '+';
+ private static final char C_WILDCARD_MINUS = '-';
+
+ private static final char C_TYPE_END = ';';
+ private static final char C_PARAMETERS_START = '(';
+ private static final char C_PARAMETERS_END = ')';
+ private static final char C_TYPE_ARGUMENTS_START = '<';
+ private static final char C_TYPE_ARGUMENTS_END = '>';
+
public static List getParameterTypes(String methodSignature) {
- int parameterStart= methodSignature.indexOf(C_PARAMETERS_START);
- int parametersEnd= methodSignature.lastIndexOf(C_PARAMETERS_END);
+ int parameterStart = methodSignature.indexOf(C_PARAMETERS_START);
+ int parametersEnd = methodSignature.lastIndexOf(C_PARAMETERS_END);
if (parameterStart == -1 || parametersEnd == -1) {
- // used to throw illegal argument exception, but now return empty list if we can't parse it
+ // used to throw illegal argument exception, but now return empty
+ // list if we can't parse it
return Collections.EMPTY_LIST;
}
- return getTypeSignatureList(methodSignature.substring(parameterStart + 1, parametersEnd));
+ return getTypeSignatureList(methodSignature.substring(
+ parameterStart + 1, parametersEnd));
}
-
+
private static List getTypeSignatureList(String typeSignatureList) {
- List list= new ArrayList();
- int pos= 0;
+ List list = new ArrayList();
+ int pos = 0;
while (pos < typeSignatureList.length()) {
- int signatureLength= nextTypeSignatureLength(typeSignatureList, pos);
- list.add(typeSignatureList.substring(pos, pos+= signatureLength));
+ int signatureLength = nextTypeSignatureLength(typeSignatureList,
+ pos);
+ list.add(typeSignatureList.substring(pos, pos += signatureLength));
}
return list;
}
-
+
private static int nextTypeSignatureLength(String signature, int startPos) {
- int inclusionLevel= 0;
- for (int i= startPos, length= signature.length(); i < length; i++) {
+ int inclusionLevel = 0;
+ for (int i = startPos, length = signature.length(); i < length; i++) {
if (inclusionLevel == 0) {
switch (signature.charAt(i)) {
- case C_CLASS_TYPE:
- case C_TYPE_VARIABLE:
- case C_WILDCARD_PLUS:
- case C_WILDCARD_MINUS:
- inclusionLevel= 1;
- break;
- case C_ARRAY:
- break;
- default:
- return i - startPos + 1;
+ case C_CLASS_TYPE:
+ case C_TYPE_VARIABLE:
+ case C_WILDCARD_PLUS:
+ case C_WILDCARD_MINUS:
+ inclusionLevel = 1;
+ break;
+ case C_ARRAY:
+ break;
+ default:
+ return i - startPos + 1;
}
} else {
switch (signature.charAt(i)) {
- case C_TYPE_END:
- if (inclusionLevel == 1) {
- return i - startPos + 1;
- }
- break;
- case C_TYPE_ARGUMENTS_START:
- inclusionLevel++;
- break;
- case C_TYPE_ARGUMENTS_END:
- inclusionLevel--;
- break;
+ case C_TYPE_END:
+ if (inclusionLevel == 1) {
+ return i - startPos + 1;
+ }
+ break;
+ case C_TYPE_ARGUMENTS_START:
+ inclusionLevel++;
+ break;
+ case C_TYPE_ARGUMENTS_END:
+ inclusionLevel--;
+ break;
}
}
}

Back to the top