Replace includeSubtypes with @Polymorphic
The new @Polymorphic annotation serves the exact same purpose as @Event(includeSubtypes = true), but should be easier to read in complex handler declarations. It has to be used in conjunction with the @Event annotation, not instead of it.
This commit is contained in:
		| @@ -73,8 +73,9 @@ public class EventProcessor extends AbstractProcessor { | ||||
| 				getTypeMirror(IEvent.class))) | ||||
| 				error(paramElement, "Parameter must implement IEvent"); | ||||
|  | ||||
| 			// Check for handlers for abstract types that don't include subtypes | ||||
| 			if (!eventAnnotation.includeSubtypes() && paramType.getKind() == TypeKind.DECLARED) { | ||||
| 			// Check for handlers for abstract types that aren't polymorphic | ||||
| 			if (eventHandler.getAnnotation(Polymorphic.class) == null | ||||
| 				&& paramType.getKind() == TypeKind.DECLARED) { | ||||
| 				var declaredElement = ((DeclaredType) paramType).asElement(); | ||||
| 				if (declaredElement.getKind() == ElementKind.INTERFACE | ||||
| 					|| declaredElement.getModifiers().contains(Modifier.ABSTRACT)) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user