com.sun.tools.javac.util.RichDiagnosticFormatter Java Examples
The following examples show how to use
com.sun.tools.javac.util.RichDiagnosticFormatter.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: ManTypes.java From manifold with Apache License 2.0 | 6 votes |
private void reassignEarlyHolders8( Context context ) { ReflectUtil.field( Annotate.instance( context ), TYPES_FIELD ).set( this ); ReflectUtil.field( Attr.instance( context ), TYPES_FIELD ).set( this ); ReflectUtil.field( Check.instance( context ), TYPES_FIELD ).set( this ); ReflectUtil.field( DeferredAttr.instance( context ), TYPES_FIELD ).set( this ); ReflectUtil.field( Flow.instance( context ), TYPES_FIELD ).set( this ); ReflectUtil.field( Gen.instance( context ), TYPES_FIELD ).set( this ); ReflectUtil.field( Infer.instance( context ), TYPES_FIELD ).set( this ); ReflectUtil.field( JavaCompiler.instance( context ), TYPES_FIELD ).set( this ); ReflectUtil.field( JavacTrees.instance( context ), TYPES_FIELD ).set( this ); ReflectUtil.field( JavacTypes.instance( context ), TYPES_FIELD ).set( this ); ReflectUtil.field( JavacElements.instance( context ), TYPES_FIELD ).set( this ); ReflectUtil.field( LambdaToMethod.instance( context ), TYPES_FIELD ).set( this ); ReflectUtil.field( Lower.instance( context ), TYPES_FIELD ).set( this ); ReflectUtil.field( ManResolve.instance( context ), TYPES_FIELD ).set( this ); ReflectUtil.field( MemberEnter.instance( context ), TYPES_FIELD ).set( this ); ReflectUtil.field( RichDiagnosticFormatter.instance( context ), TYPES_FIELD ).set( this ); ReflectUtil.field( TransTypes.instance( context ), TYPES_FIELD ).set( this ); }
Example #2
Source File: ManTypes.java From manifold with Apache License 2.0 | 5 votes |
private void reassignEarlyHolders( Context context ) { ReflectUtil.field( ReflectUtil.method( ReflectUtil.type( "com.sun.tools.javac.comp.Analyzer" ), "instance", Context.class ) .invokeStatic( context ), TYPES_FIELD ).set( this ); ReflectUtil.field( Annotate.instance( context ), TYPES_FIELD ).set( this ); ReflectUtil.field( Attr.instance( context ), TYPES_FIELD ).set( this ); ReflectUtil.field( Check.instance( context ), TYPES_FIELD ).set( this ); ReflectUtil.field( DeferredAttr.instance( context ), TYPES_FIELD ).set( this ); ReflectUtil.field( Flow.instance( context ), TYPES_FIELD ).set( this ); ReflectUtil.field( Gen.instance( context ), TYPES_FIELD ).set( this ); ReflectUtil.field( Infer.instance( context ), TYPES_FIELD ).set( this ); ReflectUtil.field( JavaCompiler.instance( context ), TYPES_FIELD ).set( this ); ReflectUtil.field( JavacElements.instance( context ), TYPES_FIELD ).set( this ); ReflectUtil.field( JavacProcessingEnvironment.instance( context ), TYPES_FIELD ).set( this ); ReflectUtil.field( JavacTrees.instance( context ), TYPES_FIELD ).set( this ); ReflectUtil.field( JavacTypes.instance( context ), TYPES_FIELD ).set( this ); ReflectUtil.field( LambdaToMethod.instance( context ), TYPES_FIELD ).set( this ); ReflectUtil.field( Lower.instance( context ), TYPES_FIELD ).set( this ); ReflectUtil.field( ManResolve.instance( context ), TYPES_FIELD ).set( this ); ReflectUtil.field( MemberEnter.instance( context ), TYPES_FIELD ).set( this ); ReflectUtil.field( ReflectUtil.method( ReflectUtil.type( "com.sun.tools.javac.comp.Modules" ), "instance", Context.class ) .invokeStatic( context ), TYPES_FIELD ).set( this ); ReflectUtil.field( ReflectUtil.method( ReflectUtil.type( "com.sun.tools.javac.comp.Operators" ), "instance", Context.class ) .invokeStatic( context ), TYPES_FIELD ).set( this ); //noinspection ConstantConditions ReflectUtil.field( ReflectUtil.method( ReflectUtil.type( "com.sun.tools.javac.jvm.StringConcat" ), "instance", Context.class ) .invokeStatic( context ), TYPES_FIELD ).set( this ); ReflectUtil.field( RichDiagnosticFormatter.instance( context ), TYPES_FIELD ).set( this ); ReflectUtil.field( TransTypes.instance( context ), TYPES_FIELD ).set( this ); ReflectUtil.field( ReflectUtil.method( ReflectUtil.type( "com.sun.tools.javac.comp.TypeEnter" ), "instance", Context.class ) .invokeStatic( context ), TYPES_FIELD ).set( this ); ReflectUtil.field( TreeMaker.instance( context ), TYPES_FIELD ).set( this ); }
Example #3
Source File: JavaCompiler.java From java-n-IDE-for-Android with Apache License 2.0 | 4 votes |
/** * Construct a new compiler using a shared context. */ public JavaCompiler(Context context) { this.context = context; context.put(compilerKey, this); // if fileManager not already set, register the JavacFileManager to be used if (context.get(JavaFileManager.class) == null) JavacFileManager.preRegister(context); names = Names.instance(context); log = Log.instance(context); diagFactory = JCDiagnostic.Factory.instance(context); reader = ClassReader.instance(context); make = TreeMaker.instance(context); writer = ClassWriter.instance(context); enter = Enter.instance(context); todo = Todo.instance(context); fileManager = context.get(JavaFileManager.class); parserFactory = ParserFactory.instance(context); try { // catch completion problems with predefineds syms = Symtab.instance(context); } catch (CompletionFailure ex) { // inlined Check.completionError as it is not initialized yet log.error("cant.access", ex.sym, ex.getDetailValue()); if (ex instanceof ClassReader.BadClassFile) throw new Abort(); } source = Source.instance(context); attr = Attr.instance(context); chk = Check.instance(context); gen = Gen.instance(context); flow = Flow.instance(context); transTypes = TransTypes.instance(context); lower = Lower.instance(context); annotate = Annotate.instance(context); types = Types.instance(context); taskListener = context.get(TaskListener.class); reader.sourceCompleter = this; options = Options.instance(context); verbose = options.isSet(VERBOSE); sourceOutput = options.isSet(PRINTSOURCE); // used to be -s stubOutput = options.isSet("-stubs"); relax = options.isSet("-relax"); printFlat = options.isSet("-printflat"); attrParseOnly = options.isSet("-attrparseonly"); encoding = options.get(ENCODING); lineDebugInfo = options.isUnset(G_CUSTOM) || options.isSet(G_CUSTOM, "lines"); genEndPos = options.isSet(XJCOV) || context.get(DiagnosticListener.class) != null; devVerbose = options.isSet("dev"); processPcks = options.isSet("process.packages"); werror = options.isSet(WERROR); if (source.compareTo(Source.DEFAULT) < 0) { if (options.isUnset(XLINT_CUSTOM, "-" + LintCategory.OPTIONS.option)) { if (fileManager instanceof BaseFileManager) { if (((BaseFileManager) fileManager).isDefaultBootClassPath()) log.warning(LintCategory.OPTIONS, "source.no.bootclasspath", source.name); } } } verboseCompilePolicy = options.isSet("verboseCompilePolicy"); if (attrParseOnly) compilePolicy = CompilePolicy.ATTR_ONLY; else compilePolicy = CompilePolicy.decode(options.get("compilePolicy")); implicitSourcePolicy = ImplicitSourcePolicy.decode(options.get("-implicit")); completionFailureName = options.isSet("failcomplete") ? names.fromString(options.get("failcomplete")) : null; shouldStopPolicy = options.isSet("shouldStopPolicy") ? CompileState.valueOf(options.get("shouldStopPolicy")) : null; if (options.isUnset("oldDiags")) log.setDiagnosticFormatter(RichDiagnosticFormatter.instance(context)); }
Example #4
Source File: JavaCompiler.java From javaide with GNU General Public License v3.0 | 4 votes |
/** * Construct a new compiler using a shared context. */ public JavaCompiler(Context context) { this.context = context; context.put(compilerKey, this); // if fileManager not already set, register the JavacFileManager to be used if (context.get(JavaFileManager.class) == null) JavacFileManager.preRegister(context); names = Names.instance(context); log = Log.instance(context); diagFactory = JCDiagnostic.Factory.instance(context); reader = ClassReader.instance(context); make = TreeMaker.instance(context); writer = ClassWriter.instance(context); enter = Enter.instance(context); todo = Todo.instance(context); fileManager = context.get(JavaFileManager.class); parserFactory = ParserFactory.instance(context); try { // catch completion problems with predefineds syms = Symtab.instance(context); } catch (CompletionFailure ex) { // inlined Check.completionError as it is not initialized yet log.error("cant.access", ex.sym, ex.getDetailValue()); if (ex instanceof ClassReader.BadClassFile) throw new Abort(); } source = Source.instance(context); attr = Attr.instance(context); chk = Check.instance(context); gen = Gen.instance(context); flow = Flow.instance(context); transTypes = TransTypes.instance(context); lower = Lower.instance(context); annotate = Annotate.instance(context); types = Types.instance(context); taskListener = context.get(TaskListener.class); reader.sourceCompleter = this; options = Options.instance(context); verbose = options.isSet(VERBOSE); sourceOutput = options.isSet(PRINTSOURCE); // used to be -s stubOutput = options.isSet("-stubs"); relax = options.isSet("-relax"); printFlat = options.isSet("-printflat"); attrParseOnly = options.isSet("-attrparseonly"); encoding = options.get(ENCODING); lineDebugInfo = options.isUnset(G_CUSTOM) || options.isSet(G_CUSTOM, "lines"); genEndPos = options.isSet(XJCOV) || context.get(DiagnosticListener.class) != null; devVerbose = options.isSet("dev"); processPcks = options.isSet("process.packages"); werror = options.isSet(WERROR); if (source.compareTo(Source.DEFAULT) < 0) { if (options.isUnset(XLINT_CUSTOM, "-" + LintCategory.OPTIONS.option)) { if (fileManager instanceof BaseFileManager) { if (((BaseFileManager) fileManager).isDefaultBootClassPath()) log.warning(LintCategory.OPTIONS, "source.no.bootclasspath", source.name); } } } verboseCompilePolicy = options.isSet("verboseCompilePolicy"); if (attrParseOnly) compilePolicy = CompilePolicy.ATTR_ONLY; else compilePolicy = CompilePolicy.decode(options.get("compilePolicy")); implicitSourcePolicy = ImplicitSourcePolicy.decode(options.get("-implicit")); completionFailureName = options.isSet("failcomplete") ? names.fromString(options.get("failcomplete")) : null; shouldStopPolicy = options.isSet("shouldStopPolicy") ? CompileState.valueOf(options.get("shouldStopPolicy")) : null; if (options.isUnset("oldDiags")) log.setDiagnosticFormatter(RichDiagnosticFormatter.instance(context)); }
Example #5
Source File: JavacPlugin.java From manifold with Apache License 2.0 | 4 votes |
private void tailorJavaCompiler( TaskEvent te ) { CompilationUnitTree compilationUnit = te.getCompilationUnit(); if( !(compilationUnit instanceof JCTree.JCCompilationUnit) ) { return; } // For type processing (##todo is this still necessary?) JavaCompiler compiler = JavaCompiler.instance( getContext() ); compiler.shouldStopPolicyIfNoError = CompileStates.CompileState.max( compiler.shouldStopPolicyIfNoError, CompileStates.CompileState.FLOW ); // // Both Java 8 and Java 9 alterations // // Override javac's Log for error suppression (@Jailbreak too, but that's only if extensions are enabled, see below) ReflectUtil.method( "manifold.internal.javac.ManLog_" + (IS_JAVA_8 ? 8 : 9), "instance", Context.class ).invokeStatic( getContext() ); // Override javac's ClassWriter ManClassWriter.instance( getContext() ); // Override javac's Check ManCheck.instance( getContext() ); if( !isExtensionsEnabled() ) { // No need to hook up all the extension stuff if it's not enabled return; } // Override javac's Attr Attr manAttr = (Attr)ReflectUtil.method( "manifold.internal.javac.ManAttr_" + (IS_JAVA_8 ? 8 : 9), "instance", Context.class ).invokeStatic( getContext() ); // Override javac's Resolve ManResolve.instance( _ctx ); // Override javac's TransTypes ManTransTypes.instance( _ctx ); // Override javac's Types ManTypes.instance( _ctx ); ((Log)ReflectUtil.field( manAttr, "log" ).get()).setDiagnosticFormatter( RichDiagnosticFormatter.instance( _ctx ) ); if( IS_JAVA_8 ) { return; } // // Java 9 specific alterations // Symbol module = (Symbol)ReflectUtil.field( compilationUnit, "modle" ).get(); if( module == null ) { return; } Set<Symbol> modules = _seenModules.computeIfAbsent( getContext(), k -> new LinkedHashSet<>() ); if( modules.contains( module ) ) { return; } modules.add( module ); NecessaryEvilUtil.openModule( getContext(), "jdk.compiler" ); // Override javac's ClassFinder //noinspection ConstantConditions ReflectUtil.method( ReflectUtil.type( "manifold.internal.javac.ManClassFinder_9" ), "instance", Context.class ).invokeStatic( getContext() ); }