3
0
Mirror von https://github.com/PaperMC/Velocity.git synchronisiert 2024-09-29 06:30:16 +02:00

Fix annotation processor choking on event subscribers

Dieser Commit ist enthalten in:
Andrew Steinborn 2021-05-15 08:15:25 -04:00
Ursprung 07f8980f82
Commit 348ea4cc23
2 geänderte Dateien mit 3 neuen und 2 gelöschten Zeilen

Datei anzeigen

@ -22,4 +22,5 @@ class AnnotationProcessorConstants {
static final String PLUGIN_ANNOTATION_CLASS = "com.velocitypowered.api.plugin.Plugin"; static final String PLUGIN_ANNOTATION_CLASS = "com.velocitypowered.api.plugin.Plugin";
static final String SUBSCRIBE_ANNOTATION_CLASS = "com.velocitypowered.api.event.Subscribe"; static final String SUBSCRIBE_ANNOTATION_CLASS = "com.velocitypowered.api.event.Subscribe";
static final String EVENTTASK_CLASS = "com.velocitypowered.api.event.EventTask"; static final String EVENTTASK_CLASS = "com.velocitypowered.api.event.EventTask";
static final String EVENT_INTERFACE= "com.velocitypowered.api.event.Event";
} }

Datei anzeigen

@ -18,6 +18,7 @@
package com.velocitypowered.annotationprocessor; package com.velocitypowered.annotationprocessor;
import static com.velocitypowered.annotationprocessor.AnnotationProcessorConstants.EVENTTASK_CLASS; import static com.velocitypowered.annotationprocessor.AnnotationProcessorConstants.EVENTTASK_CLASS;
import static com.velocitypowered.annotationprocessor.AnnotationProcessorConstants.EVENT_INTERFACE;
import static com.velocitypowered.annotationprocessor.AnnotationProcessorConstants.PLUGIN_ANNOTATION_CLASS; import static com.velocitypowered.annotationprocessor.AnnotationProcessorConstants.PLUGIN_ANNOTATION_CLASS;
import static com.velocitypowered.annotationprocessor.AnnotationProcessorConstants.SUBSCRIBE_ANNOTATION_CLASS; import static com.velocitypowered.annotationprocessor.AnnotationProcessorConstants.SUBSCRIBE_ANNOTATION_CLASS;
@ -33,7 +34,6 @@ import java.util.Set;
import javax.annotation.Nullable; import javax.annotation.Nullable;
import javax.annotation.processing.AbstractProcessor; import javax.annotation.processing.AbstractProcessor;
import javax.annotation.processing.Messager; import javax.annotation.processing.Messager;
import javax.annotation.processing.ProcessingEnvironment;
import javax.annotation.processing.RoundEnvironment; import javax.annotation.processing.RoundEnvironment;
import javax.annotation.processing.SupportedAnnotationTypes; import javax.annotation.processing.SupportedAnnotationTypes;
import javax.lang.model.SourceVersion; import javax.lang.model.SourceVersion;
@ -99,7 +99,7 @@ public class ApiAnnotationProcessor extends AbstractProcessor {
} }
final List<? extends VariableElement> parameters = method.getParameters(); final List<? extends VariableElement> parameters = method.getParameters();
if (parameters.isEmpty() if (parameters.isEmpty()
|| !this.isTypeSubclass(parameters.get(0), SUBSCRIBE_ANNOTATION_CLASS)) { || !this.isTypeSubclass(parameters.get(0), EVENT_INTERFACE)) {
msg.printMessage(Diagnostic.Kind.ERROR, msg.printMessage(Diagnostic.Kind.ERROR,
"method must have an Event as its first parameter", method); "method must have an Event as its first parameter", method);
} }