Browse Source

minor optimization

tags/pre268419
aclement 15 years ago
parent
commit
98e2ebf7ae
1 changed files with 24 additions and 25 deletions
  1. 24
    25
      weaver/src/org/aspectj/weaver/bcel/BcelMethod.java

+ 24
- 25
weaver/src/org/aspectj/weaver/bcel/BcelMethod.java View File

@@ -133,28 +133,30 @@ class BcelMethod extends ResolvedMemberImpl {
for (int i = 0; i < axs.length; i++) {
AnnotationAJ annotationX = axs[i];
String typename = annotationX.getTypeName();
if (typename.equals("org.aspectj.lang.annotation.Pointcut")
|| typename.equals("org.aspectj.lang.annotation.Before")
|| typename.equals("org.aspectj.lang.annotation.Around")
|| typename.startsWith("org.aspectj.lang.annotation.After")) {
AnnotationGen a = ((BcelAnnotation) annotationX).getBcelAnnotation();
if (a != null) {
List values = a.getValues();
for (Iterator iterator = values.iterator(); iterator.hasNext();) {
ElementNameValuePairGen nvPair = (ElementNameValuePairGen) iterator.next();
if (nvPair.getNameString().equals("argNames")) {
String argNames = nvPair.getValue().stringifyValue();
StringTokenizer argNameTokenizer = new StringTokenizer(argNames, " ,");
List argsList = new ArrayList();
while (argNameTokenizer.hasMoreTokens()) {
argsList.add(argNameTokenizer.nextToken());
if (typename.charAt(0) == 'o') {
if (typename.equals("org.aspectj.lang.annotation.Pointcut")
|| typename.equals("org.aspectj.lang.annotation.Before")
|| typename.equals("org.aspectj.lang.annotation.Around")
|| typename.startsWith("org.aspectj.lang.annotation.After")) {
AnnotationGen a = ((BcelAnnotation) annotationX).getBcelAnnotation();
if (a != null) {
List values = a.getValues();
for (Iterator iterator = values.iterator(); iterator.hasNext();) {
ElementNameValuePairGen nvPair = (ElementNameValuePairGen) iterator.next();
if (nvPair.getNameString().equals("argNames")) {
String argNames = nvPair.getValue().stringifyValue();
StringTokenizer argNameTokenizer = new StringTokenizer(argNames, " ,");
List argsList = new ArrayList();
while (argNameTokenizer.hasMoreTokens()) {
argsList.add(argNameTokenizer.nextToken());
}
int requiredCount = getParameterTypes().length;
while (argsList.size() < requiredCount) {
argsList.add("arg" + argsList.size());
}
setParameterNames((String[]) argsList.toArray(new String[] {}));
return;
}
int requiredCount = getParameterTypes().length;
while (argsList.size() < requiredCount) {
argsList.add("arg" + argsList.size());
}
setParameterNames((String[]) argsList.toArray(new String[] {}));
return;
}
}
}
@@ -259,10 +261,7 @@ class BcelMethod extends ResolvedMemberImpl {
}

public boolean isAjSynthetic() {
return (bitflags & IS_AJ_SYNTHETIC) != 0;// isAjSynthetic; // ||
// getName(
// ).startsWith(NameMangler
// .PREFIX);
return (bitflags & IS_AJ_SYNTHETIC) != 0;
}

// FIXME ??? needs an isSynthetic method

Loading…
Cancel
Save