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

Testcode for 333274

tags/V1_9_3RC1
Andy Clement преди 5 години
родител
ревизия
90c187454f
променени са 44 файла, в които са добавени 481 реда и са изтрити 0 реда
  1. 31
    0
      tests/bugs193/333274/ma/Main.java
  2. 12
    0
      tests/bugs193/333274/ma/Precedence.java
  3. 15
    0
      tests/bugs193/333274/ma/aspect1/Annotation1.java
  4. 36
    0
      tests/bugs193/333274/ma/aspect1/Aspect1.java
  5. 14
    0
      tests/bugs193/333274/ma/aspect2/Annotation2.java
  6. 26
    0
      tests/bugs193/333274/ma/aspect2/Aspect2.java
  7. 13
    0
      tests/bugs193/333274/ma/aspect3/Annotation3.java
  8. 30
    0
      tests/bugs193/333274/ma/aspect3/Aspect3.java
  9. Двоични данни
      tests/bugs193/333274/ma2/Annotation1.class
  10. 15
    0
      tests/bugs193/333274/ma2/Annotation1.java
  11. Двоични данни
      tests/bugs193/333274/ma2/Annotation2.class
  12. 12
    0
      tests/bugs193/333274/ma2/Annotation2.java
  13. Двоични данни
      tests/bugs193/333274/ma2/Annotation3.class
  14. 13
    0
      tests/bugs193/333274/ma2/Annotation3.java
  15. Двоични данни
      tests/bugs193/333274/ma2/Aspect1$InternalClass.class
  16. Двоични данни
      tests/bugs193/333274/ma2/Aspect1.class
  17. 34
    0
      tests/bugs193/333274/ma2/Aspect1.java
  18. Двоични данни
      tests/bugs193/333274/ma2/Aspect2.class
  19. 27
    0
      tests/bugs193/333274/ma2/Aspect2.java
  20. Двоични данни
      tests/bugs193/333274/ma2/Aspect3$InnerClass2.class
  21. Двоични данни
      tests/bugs193/333274/ma2/Aspect3.class
  22. 32
    0
      tests/bugs193/333274/ma2/Aspect3.java
  23. Двоични данни
      tests/bugs193/333274/ma2/Main$Dummy.class
  24. Двоични данни
      tests/bugs193/333274/ma2/Main.class
  25. 27
    0
      tests/bugs193/333274/ma2/Main.java
  26. Двоични данни
      tests/bugs193/333274/ma2/Precedence.class
  27. 12
    0
      tests/bugs193/333274/ma2/Precedence.java
  28. 15
    0
      tests/bugs193/333274/ma2/aspect1/Annotation1.java
  29. 34
    0
      tests/bugs193/333274/ma2/aspect1/Aspect1.java
  30. 14
    0
      tests/bugs193/333274/ma2/aspect2/Annotation2.java
  31. 26
    0
      tests/bugs193/333274/ma2/aspect2/Aspect2.java
  32. 13
    0
      tests/bugs193/333274/ma2/aspect3/Annotation3.java
  33. 30
    0
      tests/bugs193/333274/ma2/aspect3/Aspect3.java
  34. Двоични данни
      tests/bugs193/333274/ma2/ma2/Annotation1.class
  35. Двоични данни
      tests/bugs193/333274/ma2/ma2/Annotation2.class
  36. Двоични данни
      tests/bugs193/333274/ma2/ma2/Annotation3.class
  37. Двоични данни
      tests/bugs193/333274/ma2/ma2/Aspect1$InternalClass.class
  38. Двоични данни
      tests/bugs193/333274/ma2/ma2/Aspect1.class
  39. Двоични данни
      tests/bugs193/333274/ma2/ma2/Aspect2.class
  40. Двоични данни
      tests/bugs193/333274/ma2/ma2/Aspect3$InnerClass2.class
  41. Двоични данни
      tests/bugs193/333274/ma2/ma2/Aspect3.class
  42. Двоични данни
      tests/bugs193/333274/ma2/ma2/Main$Dummy.class
  43. Двоични данни
      tests/bugs193/333274/ma2/ma2/Main.class
  44. Двоични данни
      tests/bugs193/333274/ma2/ma2/Precedence.class

+ 31
- 0
tests/bugs193/333274/ma/Main.java Целия файл

@@ -0,0 +1,31 @@
package ma;

import ma.aspect1.Annotation1;
import ma.aspect2.Annotation2;
import ma.aspect3.Annotation3;

public class Main {

public static class Dummy {

private int counter = 0;

@Annotation1
@Annotation2
@Annotation3
public int retryTranslateAndTimeLimited() {
System.out.println("Method call");
if (counter++ == 0) {
throw new IllegalStateException();
} else {
return 1;
}
}

}

public static void main(String[] args) {
new Dummy().retryTranslateAndTimeLimited();
}

}

+ 12
- 0
tests/bugs193/333274/ma/Precedence.java Целия файл

@@ -0,0 +1,12 @@
package ma;

import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.DeclarePrecedence;

@Aspect
@DeclarePrecedence("ma.aspect1.Aspect1, "
+ "ma.aspect2.Aspect2, "
+ "ma.aspect3.Aspect3")
class Precedence {

}

+ 15
- 0
tests/bugs193/333274/ma/aspect1/Annotation1.java Целия файл

@@ -0,0 +1,15 @@
package ma.aspect1;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;


@Target( { ElementType.METHOD, ElementType.CONSTRUCTOR, ElementType.ANNOTATION_TYPE })
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Annotation1 {

}

+ 36
- 0
tests/bugs193/333274/ma/aspect1/Aspect1.java Целия файл

@@ -0,0 +1,36 @@
package ma.aspect1;

import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;


@Aspect
public class Aspect1 {

@Around("(execution(@ma.aspect1.Annotation1 * *(..)) || execution(@ma.aspect1.Annotation1 *.new(..)))")
public Object inRetryAspect(ProceedingJoinPoint pjp) throws Throwable {

InternalClass ic = new InternalClass();

System.out.println(">In Aspect1");

try {
pjp.proceed();
} catch (Exception ignored) {
}
System.out.println("=In Aspect1");
try {
return pjp.proceed();
} finally {
System.out.println("<In Aspect1");
}
}

private static class InternalClass {
}

}

+ 14
- 0
tests/bugs193/333274/ma/aspect2/Annotation2.java Целия файл

@@ -0,0 +1,14 @@
package ma.aspect2;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target( { ElementType.METHOD, ElementType.CONSTRUCTOR, ElementType.ANNOTATION_TYPE })
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Annotation2 {

}

+ 26
- 0
tests/bugs193/333274/ma/aspect2/Aspect2.java Целия файл

@@ -0,0 +1,26 @@
package ma.aspect2;

import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;

@Aspect
public class Aspect2 {

@Around("(execution(@ma.aspect2.Annotation2 * *(..)) || execution(@ma.aspect2.Annotation2 *.new(..)))")
public Object inExceptionTranslatorAspect(ProceedingJoinPoint pjp) throws Throwable {

System.out.println(">In Aspect2");

try {
Object returnedObject = pjp.proceed();
System.out.println("<In Aspect2");
return returnedObject;
} catch (Throwable thrownThrowable) {
System.out.println("<In Aspect2");
throw thrownThrowable;
}

}

}

+ 13
- 0
tests/bugs193/333274/ma/aspect3/Annotation3.java Целия файл

@@ -0,0 +1,13 @@
package ma.aspect3;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target( { ElementType.METHOD, ElementType.CONSTRUCTOR, ElementType.ANNOTATION_TYPE })
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Annotation3 {
}

+ 30
- 0
tests/bugs193/333274/ma/aspect3/Aspect3.java Целия файл

@@ -0,0 +1,30 @@
package ma.aspect3;

import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;

@Aspect
public class Aspect3 {

@Around("(execution(@ma.aspect3.Annotation3 * *(..)) || execution(@ma.aspect3.Annotation3 *.new(..)))")
public Object inTimeLimiterAspect(ProceedingJoinPoint pjp) throws Throwable {

InnerClass2 c = new InnerClass2();

System.out.println(">In Aspect3");
try {
Object returnedObject = pjp.proceed();
System.out.println("<In Aspect3");
return returnedObject;
} catch (Exception e) {
System.out.println("<In Aspect3");
throw e;
}

}

private static class InnerClass2 {

}
}

Двоични данни
tests/bugs193/333274/ma2/Annotation1.class Целия файл


+ 15
- 0
tests/bugs193/333274/ma2/Annotation1.java Целия файл

@@ -0,0 +1,15 @@
package ma2;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;


@Target( { ElementType.METHOD, ElementType.CONSTRUCTOR, ElementType.ANNOTATION_TYPE })
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Annotation1 {

}

Двоични данни
tests/bugs193/333274/ma2/Annotation2.class Целия файл


+ 12
- 0
tests/bugs193/333274/ma2/Annotation2.java Целия файл

@@ -0,0 +1,12 @@
package ma2;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Retention(RetentionPolicy.RUNTIME)
public @interface Annotation2 {

}

Двоични данни
tests/bugs193/333274/ma2/Annotation3.class Целия файл


+ 13
- 0
tests/bugs193/333274/ma2/Annotation3.java Целия файл

@@ -0,0 +1,13 @@
package ma2;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target( { ElementType.METHOD, ElementType.CONSTRUCTOR, ElementType.ANNOTATION_TYPE })
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Annotation3 {
}

Двоични данни
tests/bugs193/333274/ma2/Aspect1$InternalClass.class Целия файл


Двоични данни
tests/bugs193/333274/ma2/Aspect1.class Целия файл


+ 34
- 0
tests/bugs193/333274/ma2/Aspect1.java Целия файл

@@ -0,0 +1,34 @@
package ma2;

import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;


public aspect Aspect1 {

Object around(): (execution(@Annotation1 * *(..)) || execution(@Annotation1 *.new(..))) {

InternalClass ic = new InternalClass();

System.out.println(">In Aspect1");

try {
proceed();
} catch (Exception ignored) {
}
System.out.println("=In Aspect1");
try {
return proceed();
} finally {
System.out.println("<In Aspect1");
}
}

private static class InternalClass {
}

}

Двоични данни
tests/bugs193/333274/ma2/Aspect2.class Целия файл


+ 27
- 0
tests/bugs193/333274/ma2/Aspect2.java Целия файл

@@ -0,0 +1,27 @@
package ma2;

import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;

public aspect Aspect2 {

Object around(): execution(@Annotation2 * *(..)) || execution(@Annotation2 *.new(..)) {
/*
@Around("(execution(@ma.aspect2.Annotation2 * *(..)) || execution(@ma.aspect2.Annotation2 *.new(..)))")
public Object inExceptionTranslatorAspect(ProceedingJoinPoint pjp) throws Throwable {
*/

System.out.println(">In Aspect2");

try {
Object returnedObject = proceed();
System.out.println("<In Aspect2");
return returnedObject;
} catch (Throwable thrownThrowable) {
System.out.println("<In Aspect2");
throw new RuntimeException(thrownThrowable);
}

}

}

Двоични данни
tests/bugs193/333274/ma2/Aspect3$InnerClass2.class Целия файл


Двоични данни
tests/bugs193/333274/ma2/Aspect3.class Целия файл


+ 32
- 0
tests/bugs193/333274/ma2/Aspect3.java Целия файл

@@ -0,0 +1,32 @@
package ma2;

import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;

public aspect Aspect3 {

Object around(): execution(@Annotation3 * *(..)) || execution(@Annotation3 *.new(..)) {
/*
@Around("(execution(@ma.aspect3.Annotation3 * *(..)) || execution(@ma.aspect3.Annotation3 *.new(..)))")
public Object inTimeLimiterAspect(ProceedingJoinPoint pjp) throws Throwable {
*/

InnerClass2 c = new InnerClass2();

System.out.println(">In Aspect3");
try {
Object returnedObject =proceed();
System.out.println("<In Aspect3");
return returnedObject;
} catch (Exception e) {
System.out.println("<In Aspect3");
throw new RuntimeException(e);
}

}

private static class InnerClass2 {

}
}

Двоични данни
tests/bugs193/333274/ma2/Main$Dummy.class Целия файл


Двоични данни
tests/bugs193/333274/ma2/Main.class Целия файл


+ 27
- 0
tests/bugs193/333274/ma2/Main.java Целия файл

@@ -0,0 +1,27 @@
package ma2;

public class Main {

public static class Dummy {

private int counter = 0;

@Annotation1
@Annotation2
@Annotation3
public int retryTranslateAndTimeLimited() {
System.out.println("Method call");
if (counter++ == 0) {
throw new IllegalStateException();
} else {
return 1;
}
}

}

public static void main(String[] args) {
new Dummy().retryTranslateAndTimeLimited();
}

}

Двоични данни
tests/bugs193/333274/ma2/Precedence.class Целия файл


+ 12
- 0
tests/bugs193/333274/ma2/Precedence.java Целия файл

@@ -0,0 +1,12 @@
package ma2;

import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.DeclarePrecedence;

@Aspect
@DeclarePrecedence("ma2.Aspect1, "
+ "ma2.Aspect2, "
+ "ma2.Aspect3")
class Precedence {

}

+ 15
- 0
tests/bugs193/333274/ma2/aspect1/Annotation1.java Целия файл

@@ -0,0 +1,15 @@
package ma.aspect1;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;


@Target( { ElementType.METHOD, ElementType.CONSTRUCTOR, ElementType.ANNOTATION_TYPE })
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Annotation1 {

}

+ 34
- 0
tests/bugs193/333274/ma2/aspect1/Aspect1.java Целия файл

@@ -0,0 +1,34 @@
package ma.aspect1;

import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;


public aspect Aspect1 {

Object around(): (execution(@Annotation1 * *(..)) || execution(@Annotation1 *.new(..))) {

InternalClass ic = new InternalClass();

System.out.println(">In Aspect1");

try {
proceed();
} catch (Exception ignored) {
}
System.out.println("=In Aspect1");
try {
return proceed();
} finally {
System.out.println("<In Aspect1");
}
}

private static class InternalClass {
}

}

+ 14
- 0
tests/bugs193/333274/ma2/aspect2/Annotation2.java Целия файл

@@ -0,0 +1,14 @@
package ma.aspect2;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target( { ElementType.METHOD, ElementType.CONSTRUCTOR, ElementType.ANNOTATION_TYPE })
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Annotation2 {

}

+ 26
- 0
tests/bugs193/333274/ma2/aspect2/Aspect2.java Целия файл

@@ -0,0 +1,26 @@
package ma.aspect2;

import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;

@Aspect
public class Aspect2 {

@Around("(execution(@ma.aspect2.Annotation2 * *(..)) || execution(@ma.aspect2.Annotation2 *.new(..)))")
public Object inExceptionTranslatorAspect(ProceedingJoinPoint pjp) throws Throwable {

System.out.println(">In Aspect2");

try {
Object returnedObject = pjp.proceed();
System.out.println("<In Aspect2");
return returnedObject;
} catch (Throwable thrownThrowable) {
System.out.println("<In Aspect2");
throw thrownThrowable;
}

}

}

+ 13
- 0
tests/bugs193/333274/ma2/aspect3/Annotation3.java Целия файл

@@ -0,0 +1,13 @@
package ma.aspect3;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target( { ElementType.METHOD, ElementType.CONSTRUCTOR, ElementType.ANNOTATION_TYPE })
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Annotation3 {
}

+ 30
- 0
tests/bugs193/333274/ma2/aspect3/Aspect3.java Целия файл

@@ -0,0 +1,30 @@
package ma.aspect3;

import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;

@Aspect
public class Aspect3 {

@Around("(execution(@ma.aspect3.Annotation3 * *(..)) || execution(@ma.aspect3.Annotation3 *.new(..)))")
public Object inTimeLimiterAspect(ProceedingJoinPoint pjp) throws Throwable {

InnerClass2 c = new InnerClass2();

System.out.println(">In Aspect3");
try {
Object returnedObject = pjp.proceed();
System.out.println("<In Aspect3");
return returnedObject;
} catch (Exception e) {
System.out.println("<In Aspect3");
throw e;
}

}

private static class InnerClass2 {

}
}

Двоични данни
tests/bugs193/333274/ma2/ma2/Annotation1.class Целия файл


Двоични данни
tests/bugs193/333274/ma2/ma2/Annotation2.class Целия файл


Двоични данни
tests/bugs193/333274/ma2/ma2/Annotation3.class Целия файл


Двоични данни
tests/bugs193/333274/ma2/ma2/Aspect1$InternalClass.class Целия файл


Двоични данни
tests/bugs193/333274/ma2/ma2/Aspect1.class Целия файл


Двоични данни
tests/bugs193/333274/ma2/ma2/Aspect2.class Целия файл


Двоични данни
tests/bugs193/333274/ma2/ma2/Aspect3$InnerClass2.class Целия файл


Двоични данни
tests/bugs193/333274/ma2/ma2/Aspect3.class Целия файл


Двоични данни
tests/bugs193/333274/ma2/ma2/Main$Dummy.class Целия файл


Двоични данни
tests/bugs193/333274/ma2/ma2/Main.class Целия файл


Двоични данни
tests/bugs193/333274/ma2/ma2/Precedence.class Целия файл


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