private static boolean shouldUseGuavaHashCode(Context context) { return Source.instance(context).compareTo(Source.lookup("1.7")) <= 0; // 7 or below }
private Description handleLocalOrParam(VariableTree tree, VisitorState state, Symbol sym) { if (sym.getModifiers().contains(Modifier.FINAL)) { if (Source.instance(state.context).compareTo(Source.lookup("1.8")) >= 0) { // In Java 8, the final modifier is never necessary on locals/parameters because // effectively final variables can be used anywhere a final variable is required. Optional<SuggestedFix> fix = SuggestedFixes.removeModifiers(tree, state, Modifier.FINAL); // The fix may not be present for TWR variables that were not explicitly final if (fix.isPresent()) { return buildDescription(tree).setMessage(UNNECESSARY_FINAL).addFix(fix.get()).build(); } } return Description.NO_MATCH; } if (!Collections.disjoint( sym.owner.getModifiers(), EnumSet.of(Modifier.ABSTRACT, Modifier.NATIVE))) { // flow information isn't collected for body-less methods return Description.NO_MATCH; } if ((sym.flags() & (Flags.EFFECTIVELY_FINAL | Flags.FINAL)) != 0) { return Description.NO_MATCH; } return describeMatch(tree, addVarAnnotation(tree)); }
private static boolean shouldUseGuavaHashCode(Context context) { return Source.instance(context).compareTo(Source.lookup("1.7")) <= 0; // 7 or below }
protected Types(Context context) { context.put(typesKey, this); syms = Symtab.instance(context); names = Name.Table.instance(context); allowBoxing = Source.instance(context).allowBoxing(); reader = ClassReader.instance(context); source = Source.instance(context); chk = Check.instance(context); capturedName = names.fromString("<captured wildcard>"); } // </editor-fold>
protected Types(Context context) { context.put(typesKey, this); syms = Symtab.instance(context); names = Name.Table.instance(context); allowBoxing = Source.instance(context).allowBoxing(); reader = ClassReader.instance(context); source = Source.instance(context); chk = Check.instance(context); capturedName = names.fromString("<captured wildcard>"); } // </editor-fold>
/** Create a new scanner factory. */ protected Factory(Context context) { context.put(scannerFactoryKey, this); this.log = Log.instance(context); this.names = Name.Table.instance(context); this.source = Source.instance(context); this.keywords = Keywords.instance(context); }
/** Create a new scanner factory. */ protected Factory(Context context) { context.put(scannerFactoryKey, this); this.log = Log.instance(context); this.names = Name.Table.instance(context); this.source = Source.instance(context); this.keywords = Keywords.instance(context); }
/** Create a new scanner factory. */ protected ScannerFactory(Context context) { context.put(scannerFactoryKey, this); this.log = Log.instance(context); this.names = Names.instance(context); this.source = Source.instance(context); this.tokens = Tokens.instance(context); }
/** Create a new scanner factory. */ protected ScannerFactory(Context context) { context.put(scannerFactoryKey, this); this.log = Log.instance(context); this.names = Names.instance(context); this.source = Source.instance(context); this.tokens = Tokens.instance(context); }
/** * Returns the {@link SourceVersion} used by the javac represented by this {@link CompilationInfo}. * @return SourceVersion * @since 0.47 */ public @NonNull SourceVersion getSourceVersion() { checkConfinement(); return Source.toSourceVersion(Source.instance(impl.getJavacTask().getContext())); }
protected ElementsService(Context context) { context.put(KEY, this); jctypes = com.sun.tools.javac.code.Types.instance(context); names = Names.instance(context); types = JavacTypes.instance(context); allowDefaultMethods = Source.instance(context).allowDefaultMethods(); }
/** Create a new parser factory. */ protected Factory(Context context) { context.put(parserFactoryKey, this); this.F = TreeMaker.instance(context); this.log = Log.instance(context); this.names = Name.Table.instance(context); this.keywords = Keywords.instance(context); this.source = Source.instance(context); this.options = Options.instance(context); }
/** Create a new parser factory. */ protected Factory(Context context) { context.put(parserFactoryKey, this); this.F = TreeMaker.instance(context); this.log = Log.instance(context); this.names = Name.Table.instance(context); this.keywords = Keywords.instance(context); this.source = Source.instance(context); this.options = Options.instance(context); }
protected TransTypes(Context context) { context.put(transTypesKey, this); names = Name.Table.instance(context); log = Log.instance(context); syms = Symtab.instance(context); enter = Enter.instance(context); overridden = new HashMap<MethodSymbol,MethodSymbol>(); Source source = Source.instance(context); allowEnums = source.allowEnums(); addBridges = source.addBridges(); types = Types.instance(context); make = TreeMaker.instance(context); resolve = Resolve.instance(context); }
protected TransTypes(Context context) { context.put(transTypesKey, this); names = Name.Table.instance(context); log = Log.instance(context); syms = Symtab.instance(context); enter = Enter.instance(context); overridden = new HashMap<MethodSymbol,MethodSymbol>(); Source source = Source.instance(context); allowEnums = source.allowEnums(); addBridges = source.addBridges(); types = Types.instance(context); make = TreeMaker.instance(context); resolve = Resolve.instance(context); }
protected ParserFactory(Context context) { super(); context.put(parserFactoryKey, this); this.F = TreeMaker.instance(context); this.docTreeMaker = DocTreeMaker.instance(context); this.log = Log.instance(context); this.names = Names.instance(context); this.tokens = Tokens.instance(context); this.source = Source.instance(context); this.options = Options.instance(context); this.scannerFactory = ScannerFactory.instance(context); this.locale = context.get(Locale.class); }
protected ParserFactory(Context context) { super(); context.put(parserFactoryKey, this); this.F = TreeMaker.instance(context); this.docTreeMaker = DocTreeMaker.instance(context); this.log = Log.instance(context); this.names = Names.instance(context); this.tokens = Tokens.instance(context); this.source = Source.instance(context); this.options = Options.instance(context); this.scannerFactory = ScannerFactory.instance(context); this.locale = context.get(Locale.class); }
protected Infer(Context context) { context.put(inferKey, this); rs = Resolve.instance(context); chk = Check.instance(context); syms = Symtab.instance(context); types = Types.instance(context); diags = JCDiagnostic.Factory.instance(context); log = Log.instance(context); inferenceException = new InferenceException(diags); Options options = Options.instance(context); allowGraphInference = Source.instance(context).allowGraphInference() && options.isUnset("useLegacyInference"); }
protected Infer(Context context) { context.put(inferKey, this); rs = Resolve.instance(context); chk = Check.instance(context); syms = Symtab.instance(context); types = Types.instance(context); diags = JCDiagnostic.Factory.instance(context); log = Log.instance(context); inferenceException = new InferenceException(diags); Options options = Options.instance(context); allowGraphInference = Source.instance(context).allowGraphInference() && options.isUnset("useLegacyInference"); }
protected Flow(Context context) { context.put(flowKey, this); names = Names.instance(context); log = Log.instance(context); syms = Symtab.instance(context); types = Types.instance(context); chk = Check.instance(context); lint = Lint.instance(context); rs = Resolve.instance(context); diags = JCDiagnostic.Factory.instance(context); Source source = Source.instance(context); allowImprovedRethrowAnalysis = source.allowImprovedRethrowAnalysis(); allowImprovedCatchAnalysis = source.allowImprovedCatchAnalysis(); allowEffectivelyFinalInInnerClasses = source.allowEffectivelyFinalInInnerClasses(); }