Skip to content

Commit

Permalink
[GR-40711] Deprecate and replace AutomaticFeature.
Browse files Browse the repository at this point in the history
PullRequest: graal/12537
  • Loading branch information
Christian Wimmer committed Sep 3, 2022
2 parents 6ab8465 + 9b9c7f0 commit 44e6877
Show file tree
Hide file tree
Showing 291 changed files with 1,671 additions and 2,083 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,6 @@
import javax.annotation.processing.Filer;
import javax.annotation.processing.RoundEnvironment;
import javax.annotation.processing.SupportedAnnotationTypes;
import javax.lang.model.SourceVersion;
import javax.lang.model.element.AnnotationMirror;
import javax.lang.model.element.Element;
import javax.lang.model.element.ElementKind;
Expand All @@ -56,7 +55,6 @@
import javax.lang.model.util.Types;
import javax.tools.Diagnostic.Kind;
import javax.tools.FileObject;
import javax.tools.JavaFileObject;
import javax.tools.StandardLocation;

import org.graalvm.compiler.processor.AbstractProcessor;
Expand Down Expand Up @@ -87,11 +85,6 @@ public class MatchProcessor extends AbstractProcessor {
public MatchProcessor() {
}

@Override
public SourceVersion getSupportedSourceVersion() {
return SourceVersion.latest();
}

private final Set<Element> processedMatchRules = new HashSet<>();
private final Set<Element> processedMatchableNodes = new HashSet<>();

Expand Down Expand Up @@ -605,22 +598,6 @@ private void createFiles(MatchRuleDescriptor info) {
this.createProviderFile(pkg + "." + matchStatementClassName, "org.graalvm.compiler.core.match.MatchStatementSet", originatingElements);
}

protected PrintWriter createSourceFile(String pkg, String relativeName, Filer filer, Element... originatingElements) {
try {
// Ensure Unix line endings to comply with Graal code style guide checked by Checkstyle
JavaFileObject sourceFile = filer.createSourceFile(pkg + "." + relativeName, originatingElements);
return new PrintWriter(sourceFile.openWriter()) {

@Override
public void println() {
print("\n");
}
};
} catch (IOException e) {
throw new RuntimeException(e);
}
}

/**
* Used to generate the MatchStatement constructor invocation.
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@
import java.util.stream.Collectors;

import javax.annotation.processing.RoundEnvironment;
import javax.lang.model.SourceVersion;
import javax.lang.model.element.AnnotationMirror;
import javax.lang.model.element.Element;
import javax.lang.model.element.ElementKind;
Expand Down Expand Up @@ -74,11 +73,6 @@ enum TargetVM {
private TypeElement generateStubs;
private TypeMirror constantNodeParameter;

@Override
public SourceVersion getSupportedSourceVersion() {
return SourceVersion.latest();
}

@Override
public Set<String> getSupportedAnnotationTypes() {
return Set.of(GENERATE_STUB_CLASS_NAME, GENERATE_STUBS_CLASS_NAME, GENERATED_STUBS_HOLDER_CLASS_NAME);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,6 @@
import java.util.stream.Collectors;

import javax.annotation.processing.RoundEnvironment;
import javax.lang.model.SourceVersion;
import javax.lang.model.element.AnnotationMirror;
import javax.lang.model.element.Element;
import javax.lang.model.element.TypeElement;
Expand All @@ -67,11 +66,6 @@ public class StubPortProcessor extends AbstractProcessor {

static final int SEARCH_RANGE = 100;

@Override
public SourceVersion getSupportedSourceVersion() {
return SourceVersion.latest();
}

@Override
public Set<String> getSupportedAnnotationTypes() {
return Set.of(STUB_PORT_CLASS_NAME, STUB_PORTS_CLASS_NAME);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,11 +56,6 @@
public class GraphNodeProcessor extends AbstractProcessor {
private static final String NODE_INFO_CLASS_NAME = "org.graalvm.compiler.nodeinfo.NodeInfo";

@Override
public SourceVersion getSupportedSourceVersion() {
return SourceVersion.latest();
}

/**
* Node class currently being processed.
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,6 @@
import javax.lang.model.util.Types;
import javax.tools.Diagnostic.Kind;
import javax.tools.FileObject;
import javax.tools.JavaFileObject;
import javax.tools.StandardLocation;

import org.graalvm.compiler.processor.AbstractProcessor;
Expand All @@ -74,11 +73,6 @@ public class OptionProcessor extends AbstractProcessor {
private static final String OPTION_DESCRIPTOR_CLASS_NAME = "org.graalvm.compiler.options.OptionDescriptor";
private static final String OPTION_DESCRIPTORS_CLASS_NAME = "org.graalvm.compiler.options.OptionDescriptors";

@Override
public SourceVersion getSupportedSourceVersion() {
return SourceVersion.latest();
}

private final Set<Element> processed = new HashSet<>();

private TypeMirror optionTypeMirror;
Expand Down Expand Up @@ -325,23 +319,6 @@ public static void createOptionsDescriptorsFile(ProcessingEnvironment processing
}
}

public static PrintWriter createSourceFile(String pkg, String relativeName, Filer filer, Element... originatingElements) {
try {
// Ensure Unix line endings to comply with code style guide checked by Checkstyle
String className = pkg + "." + relativeName;
JavaFileObject sourceFile = filer.createSourceFile(className, originatingElements);
return new PrintWriter(sourceFile.openWriter()) {

@Override
public void println() {
print("\n");
}
};
} catch (IOException e) {
throw new RuntimeException(e);
}
}

public static class OptionInfo implements Comparable<OptionInfo> {

public final String name;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,19 +36,24 @@
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import javax.annotation.processing.Filer;
import javax.annotation.processing.FilerException;
import javax.annotation.processing.ProcessingEnvironment;
import javax.annotation.processing.RoundEnvironment;
import javax.lang.model.SourceVersion;
import javax.lang.model.element.AnnotationMirror;
import javax.lang.model.element.AnnotationValue;
import javax.lang.model.element.Element;
import javax.lang.model.element.ElementKind;
import javax.lang.model.element.ExecutableElement;
import javax.lang.model.element.PackageElement;
import javax.lang.model.element.TypeElement;
import javax.lang.model.type.TypeKind;
import javax.lang.model.type.TypeMirror;
import javax.lang.model.util.ElementFilter;
import javax.tools.Diagnostic.Kind;
import javax.tools.FileObject;
import javax.tools.JavaFileObject;
import javax.tools.StandardLocation;

/**
Expand All @@ -65,6 +70,11 @@ public ProcessingEnvironment env() {
return processingEnv;
}

@Override
public final SourceVersion getSupportedSourceVersion() {
return SourceVersion.latest();
}

@Override
public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) {
return doProcess(annotations, roundEnv);
Expand Down Expand Up @@ -287,6 +297,30 @@ public static <T> List<T> getAnnotationValueList(AnnotationMirror annotation, St
return result;
}

public static PackageElement getPackage(Element element) {
Element e = element.getEnclosingElement();
while (e != null && e.getKind() != ElementKind.PACKAGE) {
e = e.getEnclosingElement();
}
return (PackageElement) e;
}

public static PrintWriter createSourceFile(String pkg, String relativeName, Filer filer, Element... originatingElements) {
try {
/* Ensure Unix line endings to comply with code style guide checked by Checkstyle. */
String className = pkg + "." + relativeName;
JavaFileObject sourceFile = filer.createSourceFile(className, originatingElements);
return new PrintWriter(sourceFile.openWriter()) {
@Override
public void println() {
print("\n");
}
};
} catch (IOException e) {
throw new RuntimeException(e);
}
}

/**
* Creates a {@code META-INF/providers/<providerClassName>} file whose contents are a single
* line containing {@code serviceClassName}.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@
import java.util.Set;

import javax.annotation.processing.RoundEnvironment;
import javax.lang.model.SourceVersion;
import javax.lang.model.element.AnnotationMirror;
import javax.lang.model.element.Element;
import javax.lang.model.element.TypeElement;
Expand All @@ -45,11 +44,6 @@ public class ReplacementsAnnotationProcessor extends AbstractProcessor {

private List<AnnotationHandler> handlers;

@Override
public SourceVersion getSupportedSourceVersion() {
return SourceVersion.latest();
}

@Override
public boolean doProcess(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) {
if (!roundEnv.processingOver()) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@

import javax.annotation.processing.RoundEnvironment;
import javax.annotation.processing.SupportedAnnotationTypes;
import javax.lang.model.SourceVersion;
import javax.lang.model.element.AnnotationMirror;
import javax.lang.model.element.Element;
import javax.lang.model.element.ElementKind;
Expand All @@ -56,11 +55,6 @@ public class ServiceProviderProcessor extends AbstractProcessor {
private final Set<TypeElement> processed = new HashSet<>();
private final Map<TypeElement, String> serviceProviders = new HashMap<>();

@Override
public SourceVersion getSupportedSourceVersion() {
return SourceVersion.latest();
}

private boolean verifyAnnotation(TypeMirror serviceInterface, TypeElement serviceProvider) {
if (!processingEnv.getTypeUtils().isSubtype(serviceProvider.asType(), serviceInterface)) {
String msg = String.format("Service provider class %s must implement service interface %s", serviceProvider.getSimpleName(), serviceInterface);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@
*/
package org.graalvm.libgraal.jni.processor;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Collections;
Expand All @@ -37,7 +36,6 @@

import javax.annotation.processing.Filer;
import javax.annotation.processing.RoundEnvironment;
import javax.lang.model.SourceVersion;
import javax.lang.model.element.AnnotationMirror;
import javax.lang.model.element.Element;
import javax.lang.model.element.ElementKind;
Expand All @@ -49,7 +47,6 @@
import javax.lang.model.type.DeclaredType;
import javax.lang.model.type.TypeKind;
import javax.lang.model.util.ElementFilter;
import javax.tools.JavaFileObject;

import org.graalvm.compiler.processor.AbstractProcessor;
import org.graalvm.libgraal.jni.annotation.FromLibGraalId;
Expand All @@ -76,11 +73,6 @@ protected boolean accept(@SuppressWarnings("unused") ExecutableElement annotated
return true;
}

@Override
public final SourceVersion getSupportedSourceVersion() {
return SourceVersion.latest();
}

private final Set<ExecutableElement> processed = new HashSet<>();

/**
Expand Down Expand Up @@ -248,21 +240,6 @@ private void createGenSource(CallsInfo info, String pkg, Name topDeclaringClass,
}
}

static PrintWriter createSourceFile(String pkg, String relativeName, Filer filer, Element... originatingElements) {
try {
// Ensure Unix line endings to comply with code style guide checked by Checkstyle
JavaFileObject sourceFile = filer.createSourceFile(pkg + "." + relativeName, originatingElements);
return new PrintWriter(sourceFile.openWriter()) {
@Override
public void println() {
print("\n");
}
};
} catch (IOException e) {
throw new RuntimeException(e);
}
}

private String getAccessorClassSimpleName() {
Class<?> topLevel = null;
for (Class<?> current = idClass; current != null; current = current.getEnclosingClass()) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,14 +25,13 @@
package org.graalvm.libgraal.jni.processor;

import static org.graalvm.libgraal.jni.processor.AbstractFromLibGraalProcessor.topDeclaringType;
import static org.graalvm.libgraal.jni.processor.AbstractFromLibGraalProcessor.createSourceFile;

import java.io.PrintWriter;
import java.util.List;
import java.util.Set;

import javax.annotation.processing.RoundEnvironment;
import javax.annotation.processing.SupportedAnnotationTypes;
import javax.lang.model.SourceVersion;
import javax.lang.model.element.AnnotationMirror;
import javax.lang.model.element.Element;
import javax.lang.model.element.ElementKind;
Expand All @@ -44,6 +43,7 @@
import javax.lang.model.type.DeclaredType;
import javax.lang.model.type.TypeMirror;
import javax.tools.Diagnostic.Kind;

import org.graalvm.compiler.processor.AbstractProcessor;
import org.graalvm.libgraal.jni.annotation.FromLibGraalEntryPointsResolver;
import org.graalvm.libgraal.jni.annotation.FromLibGraalId;
Expand All @@ -55,11 +55,6 @@
@SupportedAnnotationTypes("org.graalvm.libgraal.jni.annotation.FromLibGraalEntryPointsResolver")
public final class FromLibGraalEntryPointsResolverProcessor extends AbstractProcessor {

@Override
public SourceVersion getSupportedSourceVersion() {
return SourceVersion.latest();
}

@Override
public boolean doProcess(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) {
if (roundEnv.processingOver()) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,18 +24,6 @@
*/
package org.graalvm.nativebridge.processor;

import org.graalvm.compiler.processor.AbstractProcessor;
import org.graalvm.nativebridge.processor.AbstractBridgeParser.DefinitionData;
import org.graalvm.nativebridge.processor.AbstractBridgeParser.AbstractTypeCache;
import javax.annotation.processing.RoundEnvironment;
import javax.annotation.processing.SupportedAnnotationTypes;
import javax.lang.model.SourceVersion;
import javax.lang.model.element.Element;
import javax.lang.model.element.Modifier;
import javax.lang.model.element.PackageElement;
import javax.lang.model.element.TypeElement;
import javax.tools.Diagnostic;
import javax.tools.JavaFileObject;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
Expand All @@ -48,6 +36,19 @@
import java.util.Set;
import java.util.stream.Collectors;

import javax.annotation.processing.RoundEnvironment;
import javax.annotation.processing.SupportedAnnotationTypes;
import javax.lang.model.element.Element;
import javax.lang.model.element.Modifier;
import javax.lang.model.element.PackageElement;
import javax.lang.model.element.TypeElement;
import javax.tools.Diagnostic;
import javax.tools.JavaFileObject;

import org.graalvm.compiler.processor.AbstractProcessor;
import org.graalvm.nativebridge.processor.AbstractBridgeParser.AbstractTypeCache;
import org.graalvm.nativebridge.processor.AbstractBridgeParser.DefinitionData;

@SupportedAnnotationTypes({
HotSpotToNativeBridgeParser.GENERATE_HOTSPOT_TO_NATIVE_ANNOTATION,
NativeToHotSpotBridgeParser.GENERATE_NATIVE_TO_HOTSPOT_ANNOTATION,
Expand All @@ -58,11 +59,6 @@ public final class NativeBridgeProcessor extends AbstractProcessor {
public NativeBridgeProcessor() {
}

@Override
public SourceVersion getSupportedSourceVersion() {
return SourceVersion.latest();
}

@Override
protected boolean doProcess(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) {
Map<TypeElement, List<AbstractBridgeGenerator>> toGenerate = new HashMap<>();
Expand Down
Loading

0 comments on commit 44e6877

Please sign in to comment.