aclement 13 лет назад
Родитель
Сommit
35409d8620

+ 33
- 0
tests/multiIncremental/pr328121/base/src/TestRequirements/TestRequirements.java Просмотреть файл

@@ -0,0 +1,33 @@
package TestRequirements;

import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;


@Retention(RetentionPolicy.RUNTIME)
@interface AnnotatedMethod {}

@Retention(RetentionPolicy.RUNTIME)
@interface NewAnnotatedMethod {
boolean newValue();
}

aspect X {
declare @method: !@AnnotatedMethod * TestRequirements.*(..) : @NewAnnotatedMethod(newValue = true);
}

public class TestRequirements {
@AnnotatedMethod
public void dontMatchMe() {}

public void matchMe() {}

public static void foo() throws Exception {
if (TestRequirements.class.getDeclaredMethod("dontMatchMe").getAnnotation(NewAnnotatedMethod.class)!=null) {
throw new IllegalStateException();
}
if (TestRequirements.class.getDeclaredMethod("matchMe").getAnnotation(NewAnnotatedMethod.class)==null) {
throw new IllegalStateException();
}
}
}

+ 11
- 0
tests/src/org/aspectj/systemtest/incremental/tools/MultiProjectIncrementalTests.java Просмотреть файл

@@ -67,6 +67,17 @@ import org.aspectj.weaver.World;
*/
public class MultiProjectIncrementalTests extends AbstractMultiProjectIncrementalAjdeInteractionTestbed {

public void testMissingRel_328121() throws Exception {
String p = "pr328121";
initialiseProject(p);
build(p);
checkWasFullBuild();
assertNoErrors(p);
// Check the annotations:
runMethod(p,"TestRequirements.TestRequirements","foo");
assertEquals(4,getRelationshipCount(p));
}
public void testEncoding_pr290741() throws Exception {
String p = "pr290741";
initialiseProject(p);

Загрузка…
Отмена
Сохранить