Преглед на файлове

APIs allowing 3rd parties to integrate with AspectJ's pointcut parsing and matching

tags/Root_AspectJ5_Development
acolyer преди 19 години
родител
ревизия
09ba8cb317
променени са 1 файла, в които са добавени 28 реда и са изтрити 1 реда
  1. 28
    1
      runtime/src/org/aspectj/runtime/reflect/Factory.java

+ 28
- 1
runtime/src/org/aspectj/runtime/reflect/Factory.java Целия файл



package org.aspectj.runtime.reflect; package org.aspectj.runtime.reflect;


import java.lang.reflect.Constructor;
import java.lang.reflect.Member;
import java.lang.reflect.Method;

import org.aspectj.lang.*; import org.aspectj.lang.*;
import org.aspectj.lang.reflect.*; import org.aspectj.lang.reflect.*;


String filename; String filename;
public Factory(String filename, Class lexicalClass) { public Factory(String filename, Class lexicalClass) {
//System.out.println("making //System.out.println("making
this.filename = filename;
this.filename = filename;
this.lexicalClass = lexicalClass; this.lexicalClass = lexicalClass;
lookupClassLoader = lexicalClass.getClassLoader(); lookupClassLoader = lexicalClass.getClassLoader();
} }
return new JoinPointImpl.StaticPartImpl(kind, sig, makeSourceLoc(l, -1)); return new JoinPointImpl.StaticPartImpl(kind, sig, makeSourceLoc(l, -1));
} }
public static JoinPoint.StaticPart makeEncSJP(Member member) {
Signature sig = null;
String kind = null;
if (member instanceof Method) {
Method method = (Method) member;
sig = new MethodSignatureImpl(method.getModifiers(),method.getName(),
method.getDeclaringClass(),method.getParameterTypes(),
new String[method.getParameterTypes().length],
method.getExceptionTypes(),method.getReturnType());
kind = JoinPoint.METHOD_EXECUTION;
} else if (member instanceof Constructor) {
Constructor cons = (Constructor) member;
sig = new ConstructorSignatureImpl(cons.getModifiers(),cons.getDeclaringClass(),
cons.getParameterTypes(),
new String[cons.getParameterTypes().length],
cons.getExceptionTypes());
kind = JoinPoint.CONSTRUCTOR_EXECUTION;
} else {
throw new IllegalArgumentException("member must be either a method or constructor");
}
return new JoinPointImpl.StaticPartImpl(kind,sig,null);
}
private static Object[] NO_ARGS = new Object[0]; private static Object[] NO_ARGS = new Object[0];
public static JoinPoint makeJP(JoinPoint.StaticPart staticPart, public static JoinPoint makeJP(JoinPoint.StaticPart staticPart,
Object _this, Object target) Object _this, Object target)

Loading…
Отказ
Запис