<compile files="HandlerSig.java"/>
<run class="HandlerSig"/>
</ajc-test>
+
+ <ajc-test dir="new" pr="42668"
+ title="after returning with parameter: matching rules">
+ <compile files="AfterReturningParamMatching.java" />
+ <run class="AfterReturningParamMatching"/>
+ </ajc-test>
</suite>
</compile>
<run class="org.aspectj.langlib.PointcutsCW"/>
</ajc-test>
-
- <ajc-test dir="new"
- pr="42668"
- title="after returning with parameter: matching rules">
- <compile files="AfterReturningParamMatching.java" />
- <run class="AfterReturningParamMatching"/>
- </ajc-test>
<ajc-test dir="bugs/interAbstract"
pr="49784"
public class AfterReturningParamMatching {
public static void main(String[] args) {
goBoolean(false);
- Tester.checkAndClearEvents(new String[] { "Object" });
+ Tester.checkAndClearEvents(new String[] { "boolean", "Object" });
goByte(1);
Tester.checkAndClearEvents(new String[] { "byte", "int", "long", "Object"});
goInt(2);
- Tester.checkAndClearEvents(new String[] { "byte", "int", "long", "Object" });
+ Tester.checkAndClearEvents(new String[] { "int", "long", "Object" });
goLong(3);
- Tester.checkAndClearEvents(new String[] { "byte", "int", "long", "Object" });
+ Tester.checkAndClearEvents(new String[] { "long", "Object" });
goObject(new Object());
Tester.checkAndClearEvents(new String[] { "Object" });
call(* goNumber(*)) ||
call(* goInteger(*));
+ after() returning(boolean b): methodsInQuestion() { Tester.event("boolean"); }
after() returning(byte b): methodsInQuestion() { Tester.event("byte"); }
after() returning(int b): methodsInQuestion() { Tester.event("int"); }
after() returning(long b): methodsInQuestion() { Tester.event("long"); }
return world.isAssignableFrom(this, other);
}
- /**
- * Determines if the variables of this type could be assigned values
- * of another type without conversion. In other words, if the compiler can't tell whether
- * such an assignment would be impossible. This still allows for assignment conversion
- * for primitive types and casting conversion for reference types. For reference
- * types, this is equivalent to isCastableFrom(THIS, OTHER). For primitive types,
- * this is equivalent to isAssignableFrom(THIS, OTHER).
- *
- * @param other the other type
- * @param world the {@link World} in which the possible assignment should be checked.
- * @return true iff variables of this type could be assigned values of other without casting
- * @exception NullPointerException if other is null
- */
- public final boolean couldBeAssignableFrom(TypeX other, World world) {
- // primitives override this method, so we know we're not primitive.
- // So if the other is primitive, don't bother asking the world anything.
- if (other.isPrimitive()) return false;
- return world.isCoerceableFrom(this, other);
- }
-
-
/**
* Determines if values of another type could possibly be cast to
* this type. The rules followed are from JLS 2ed 5.5, "Casting Conversion".