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

253109: tests

tags/V1_6_3rc1
aclement преди 15 години
родител
ревизия
fb630fa62b

+ 16
- 0
tests/bugs163/pr253109/CodeOne.java Целия файл

@@ -0,0 +1,16 @@
import java.util.*;

public aspect CodeOne {
before(): execution(* CodeOne.*(..)) && args(List<Number>) {}
before(): execution(* CodeOne.*(..)) && args(List<Integer>) {}

void m(List<Integer> li) {}

public void callm() {
List<Number> ln = new ArrayList<Number>();
List<Integer> li = new ArrayList<Integer>();
// m(ln);//not allowed
m(li);
}

}

+ 13
- 0
tests/bugs163/pr253109/CodeTwo.java Целия файл

@@ -0,0 +1,13 @@
import java.util.*;

public aspect CodeTwo {
before(): execution(* CodeTwo.*(..)) && args(List<? extends Number>) {}

void m(List<Integer> li) {}

public void callm() {
List<? extends Number> lqn = new ArrayList<Number>();
// m(lqn);
}

}

+ 24
- 8
tests/src/org/aspectj/systemtest/ajc163/Ajc163Tests.java Целия файл

@@ -23,7 +23,15 @@ import org.aspectj.testing.XMLBasedAjcTestCase;

public class Ajc163Tests extends org.aspectj.testing.XMLBasedAjcTestCase {

public void testBrokenLVT_pr194314_1() {
public void testGenericPointcuts_1() {
runTest("generic pointcuts - 1");
}

public void testGenericPointcuts_2() {
runTest("generic pointcuts - 2");
}

public void testBrokenLVT_pr194314_1() throws Exception {
runTest("broken lvt - 1");
JavaClass jc = Utils.getClassFrom(ajc.getSandboxDirectory().getAbsolutePath(), "Service");
Method[] ms = jc.getMethods();
@@ -57,20 +65,28 @@ public class Ajc163Tests extends org.aspectj.testing.XMLBasedAjcTestCase {
System.out.println(m.getLocalVariableTable());
LocalVariable[] lvt = m.getLocalVariableTable().getLocalVariableTable();
assertEquals(8, lvt.length);
// assertEquals(2, m.getLocalVariableTable().getLocalVariableTable().length);
// assertEquals(2,
// m.getLocalVariableTable().getLocalVariableTable().length);

// Before I've started any work on this:
// LocalVariable(start_pc = 0, length = 68, index = 0:ServiceInterceptorCodeStyle this)
// LocalVariable(start_pc = 0, length = 68, index = 1:org.aspectj.runtime.internal.AroundClosure ajc_aroundClosure)
// LocalVariable(start_pc = 0, length = 68, index = 2:org.aspectj.lang.JoinPoint thisJoinPoint)
// LocalVariable(start_pc = 0, length = 68, index =
// 0:ServiceInterceptorCodeStyle this)
// LocalVariable(start_pc = 0, length = 68, index =
// 1:org.aspectj.runtime.internal.AroundClosure ajc_aroundClosure)
// LocalVariable(start_pc = 0, length = 68, index =
// 2:org.aspectj.lang.JoinPoint thisJoinPoint)
// LocalVariable(start_pc = 9, length = 59, index = 3:Object[] args)
// LocalVariable(start_pc = 21, length = 47, index = 4:long id)

// Method signature:
// private static final void method_aroundBody1$advice(Service, long, org.aspectj.lang.JoinPoint,
// ServiceInterceptorCodeStyle, org.aspectj.runtime.internal.AroundClosure, org.aspectj.lang.JoinPoint);
// private static final void method_aroundBody1$advice(Service, long,
// org.aspectj.lang.JoinPoint,
// ServiceInterceptorCodeStyle,
// org.aspectj.runtime.internal.AroundClosure,
// org.aspectj.lang.JoinPoint);
//
// Service, JoinPoint, ServiceInterceptorCodeStyle, AroundClosure, JoinPoint
// Service, JoinPoint, ServiceInterceptorCodeStyle, AroundClosure,
// JoinPoint

// args should be in slot 7 and the long in position 8


+ 13
- 0
tests/src/org/aspectj/systemtest/ajc163/ajc163.xml Целия файл

@@ -3,6 +3,19 @@
<suite>


<ajc-test dir="bugs163/pr253109" title="generic pointcuts - 1">
<compile files="CodeOne.java" options="-1.5">
<message kind="warning" line="4" text="has not been applied"/>
</compile>
</ajc-test>
<ajc-test dir="bugs163/pr253109" title="generic pointcuts - 2">
<compile files="CodeTwo.java" options="-1.5">
<message kind="warning" line="4" text="has not been applied"/>
</compile>
</ajc-test>

<ajc-test dir="bugs163/pr194314" title="broken lvt - 1">
<compile files="Service.java IService.java Main.java ServiceInterceptor.java" options="-1.5"/>
</ajc-test>

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