package temp;

import javax.annotation.processing.AbstractProcessor;
import javax.annotation.processing.RoundEnvironment;
import javax.lang.model.element.TypeElement;
import javax.tools.JavaCompiler;
import javax.tools.JavaFileObject;
import javax.tools.SimpleJavaFileObject;
import javax.tools.ToolProvider;
import java.io.OutputStreamWriter;
import java.net.URI;
import java.util.List;
import java.util.Set;

public class Temp {

    public static void main(String... args) {
        
        JavaCompiler javac = ToolProvider.getSystemJavaCompiler();
        JavaCompiler.CompilationTask task =
            javac.getTask(new OutputStreamWriter(System.err),
            javac.getStandardFileManager(null, null, null),
            null, List.of(), null, List.of(
                new SimpleJavaFileObject(URI.create(""), JavaFileObject.Kind.SOURCE) {
                    @Override public CharSequence getCharContent(boolean ignoreEncodingErrors) {
                        return "class C { void m(Unkn... own) { } }";
                    }
                })
            );
        task.setProcessors(List.of(new AbstractProcessor() {
            @Override public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) {
                return false;
            }
        }));
        task.call();
    }

}
