• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Copyright 2017 Google Inc. All rights reserved.
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15package error_prone
16
17import (
18	"android/soong/java/config"
19)
20
21func init() {
22	// These values are set into build/soong/java/config/config.go so that soong doesn't have any
23	// references to external/error_prone, which may not always exist.
24	config.ErrorProneClasspath = []string{
25		"external/error_prone/error_prone/error_prone_core-2.3.2-with-dependencies.jar",
26		"external/error_prone/error_prone/error_prone_annotations-2.4.0.jar",
27		"external/error_prone/error_prone/error_prone_type_annotations-2.4.0.jar",
28		"external/error_prone/checkerframework/dataflow-2.5.3.jar",
29		"external/error_prone/checkerframework/javacutil-2.5.3.jar",
30		"external/error_prone/jFormatString/jFormatString-3.0.0.jar",
31	}
32
33	// The checks that are fatal to the build.
34	config.ErrorProneChecksError = []string{
35		// Errorprone default severity ERROR
36		"-Xep:AndroidInjectionBeforeSuper:ERROR",
37		"-Xep:ArrayFillIncompatibleType:ERROR",
38		"-Xep:AsyncCallableReturnsNull:ERROR",
39		"-Xep:AsyncFunctionReturnsNull:ERROR",
40		"-Xep:AutoValueConstructorOrderChecker:ERROR",
41		"-Xep:BundleDeserializationCast:ERROR",
42		"-Xep:ChainingConstructorIgnoresParameter:ERROR",
43		"-Xep:CheckReturnValue:ERROR",
44		"-Xep:CollectionIncompatibleType:ERROR",
45		"-Xep:ComparingThisWithNull:ERROR",
46		"-Xep:ComparisonOutOfRange:ERROR",
47		"-Xep:CompatibleWithAnnotationMisuse:ERROR",
48		"-Xep:CompileTimeConstant:ERROR",
49		"-Xep:ConstantOverflow:ERROR",
50		"-Xep:DaggerProvidesNull:ERROR",
51		"-Xep:DeadException:ERROR",
52		"-Xep:DeadThread:ERROR",
53		"-Xep:DoNotCall:ERROR",
54		"-Xep:EqualsNaN:ERROR",
55		"-Xep:EqualsWrongThing:ERROR",
56		"-Xep:ForOverride:ERROR",
57		"-Xep:FormatStringAnnotation:ERROR",
58		"-Xep:FunctionalInterfaceMethodChanged:ERROR",
59		"-Xep:FuturesGetCheckedIllegalExceptionType:ERROR",
60		"-Xep:GuiceAssistedInjectScoping:ERROR",
61		"-Xep:GuiceAssistedParameters:ERROR",
62		"-Xep:GuiceInjectOnFinalField:ERROR",
63		"-Xep:Immutable:ERROR",
64		"-Xep:ImmutableModification:ERROR",
65		"-Xep:IncompatibleArgumentType:ERROR",
66		"-Xep:IndexOfChar:ERROR",
67		"-Xep:InexactVarargsConditional:ERROR",
68		"-Xep:InfiniteRecursion:ERROR",
69		"-Xep:InjectMoreThanOneScopeAnnotationOnClass:ERROR",
70		"-Xep:InjectOnMemberAndConstructor:ERROR",
71		"-Xep:InvalidPatternSyntax:ERROR",
72		"-Xep:IsInstanceOfClass:ERROR",
73		"-Xep:JUnit3TestNotRun:ERROR",
74		"-Xep:JUnit4ClassAnnotationNonStatic:ERROR",
75		"-Xep:JUnit4SetUpNotRun:ERROR",
76		"-Xep:JUnit4TearDownNotRun:ERROR",
77		"-Xep:JUnit4TestNotRun:ERROR",
78		"-Xep:JUnitAssertSameCheck:ERROR",
79		"-Xep:JavaxInjectOnAbstractMethod:ERROR",
80		"-Xep:LiteByteStringUtf8:ERROR",
81		"-Xep:LoopConditionChecker:ERROR",
82		"-Xep:MissingTestCall:ERROR",
83		"-Xep:MockitoCast:ERROR",
84		"-Xep:MockitoUsage:ERROR",
85		"-Xep:MoreThanOneInjectableConstructor:ERROR",
86		"-Xep:MustBeClosedChecker:ERROR",
87		"-Xep:NCopiesOfChar:ERROR",
88		"-Xep:NonCanonicalStaticImport:ERROR",
89		"-Xep:NonFinalCompileTimeConstant:ERROR",
90		"-Xep:OptionalEquality:ERROR",
91		"-Xep:OverlappingQualifierAndScopeAnnotation:ERROR",
92		"-Xep:PackageInfo:ERROR",
93		"-Xep:PreconditionsCheckNotNull:ERROR",
94		"-Xep:PreconditionsCheckNotNullPrimitive:ERROR",
95		"-Xep:PredicateIncompatibleType:ERROR",
96		"-Xep:PrivateSecurityContractProtoAccess:ERROR",
97		"-Xep:ProtoFieldNullComparison:ERROR",
98		"-Xep:ProtoStringFieldReferenceEquality:ERROR",
99		"-Xep:ProvidesMethodOutsideOfModule:ERROR",
100		"-Xep:RandomCast:ERROR",
101		"-Xep:RestrictedApiChecker:ERROR",
102		"-Xep:SelfAssignment:ERROR",
103		"-Xep:ShouldHaveEvenArgs:ERROR",
104		"-Xep:StreamToString:ERROR",
105		"-Xep:SubstringOfZero:ERROR",
106		"-Xep:SuppressWarningsDeprecated:ERROR",
107		"-Xep:ThrowIfUncheckedKnownChecked:ERROR",
108		"-Xep:ThrowNull:ERROR",
109		"-Xep:TruthSelfEquals:ERROR",
110		"-Xep:TypeParameterQualifier:ERROR",
111		"-Xep:UnnecessaryTypeArgument:ERROR",
112		"-Xep:UnusedAnonymousClass:ERROR",
113		"-Xep:VarTypeName:ERROR",
114		// Errorprone default severity WARNING
115		// Errorprone default severity SUGGESTION
116	}
117
118	// The checks that are not fatal to the build.
119	config.ErrorProneChecksWarning = []string{
120		// Errorprone default severity ERROR
121		"-Xep:ArrayEquals:WARN",
122		"-Xep:ArrayHashCode:WARN",
123		"-Xep:ArrayToString:WARN",
124		"-Xep:ArraysAsListPrimitiveArray:WARN",
125		"-Xep:BadShiftAmount:WARN",
126		"-Xep:ComparableType:WARN",
127		"-Xep:ComplexBooleanConstant:WARN",
128		"-Xep:ConditionalExpressionNumericPromotion:WARN",
129		"-Xep:EqualsReference:WARN",
130		"-Xep:FormatString:WARN",
131		"-Xep:GetClassOnAnnotation:WARN",
132		"-Xep:GetClassOnClass:WARN",
133		"-Xep:GuardedBy:WARN",
134		"-Xep:HashtableContains:WARN",
135		"-Xep:IdentityBinaryExpression:WARN",
136		"-Xep:InvalidTimeZoneID:WARN",
137		"-Xep:IsLoggableTagLength:WARN",
138		"-Xep:MathRoundIntLong:WARN",
139		"-Xep:MislabeledAndroidString:WARN",
140		"-Xep:MissingSuperCall:WARN",
141		"-Xep:MisusedWeekYear:WARN",
142		"-Xep:ModifyingCollectionWithItself:WARN",
143		"-Xep:NonRuntimeAnnotation:WARN",
144		"-Xep:NullTernary:WARN",
145		"-Xep:OverridesJavaxInjectableMethod:WARN",
146		"-Xep:ParcelableCreator:WARN",
147		"-Xep:ProtocolBufferOrdinal:WARN",
148		"-Xep:RandomModInteger:WARN",
149		"-Xep:RectIntersectReturnValueIgnored:WARN",
150		"-Xep:ReturnValueIgnored:WARN",
151		"-Xep:SelfComparison:WARN",
152		"-Xep:SelfEquals:WARN",
153		"-Xep:SizeGreaterThanOrEqualsZero:WARN",
154		"-Xep:StringBuilderInitWithChar:WARN",
155		"-Xep:TryFailThrowable:WARN",
156		"-Xep:UnusedCollectionModifiedInPlace:WARN",
157
158		// Errorprone default severity WARNING
159		// "-Xep:AmbiguousMethodReference:WARN",
160		// "-Xep:ArgumentSelectionDefectChecker:WARN",
161		// "-Xep:ArrayAsKeyOfSetOrMap:WARN",
162		// "-Xep:AssertEqualsArgumentOrderChecker:WARN",
163		// "-Xep:AssertThrowsMultipleStatements:WARN",
164		// "-Xep:AssertionFailureIgnored:WARN",
165		// "-Xep:AutoValueFinalMethods:WARN",
166		// "-Xep:BadAnnotationImplementation:WARN",
167		// "-Xep:BadComparable:WARN",
168		// "-Xep:BadImport:WARN",
169		// "-Xep:BadInstanceof:WARN",
170		// "-Xep:BigDecimalEquals:WARN",
171		// "-Xep:BigDecimalLiteralDouble:WARN",
172		// "-Xep:BoxedPrimitiveConstructor:WARN",
173		// "-Xep:ByteBufferBackingArray:WARN",
174		// "-Xep:CannotMockFinalClass:WARN",
175		// "-Xep:CanonicalDuration:WARN",
176		// "-Xep:CatchAndPrintStackTrace:WARN",
177		// "-Xep:CatchFail:WARN",
178		// "-Xep:ClassCanBeStatic:WARN",
179		// "-Xep:ClassNewInstance:WARN",
180		// "-Xep:CloseableProvides:WARN",
181		// "-Xep:CollectionToArraySafeParameter:WARN",
182		// "-Xep:CollectorShouldNotUseState:WARN",
183		// "-Xep:ComparableAndComparator:WARN",
184		// "-Xep:DateFormatConstant:WARN",
185		// "-Xep:DefaultCharset:WARN",
186		// "-Xep:DeprecatedThreadMethods:WARN",
187		// "-Xep:DoubleBraceInitialization:WARN",
188		// "-Xep:DoubleCheckedLocking:WARN",
189		// "-Xep:EqualsGetClass:WARN",
190		// "-Xep:EqualsHashCode:WARN",
191		// "-Xep:EqualsIncompatibleType:WARN",
192		// "-Xep:EqualsUnsafeCast:WARN",
193		// "-Xep:EqualsUsingHashCode:WARN",
194		// "-Xep:ExtendingJUnitAssert:WARN",
195		// "-Xep:FallThrough:WARN",
196		// "-Xep:Finally:WARN",
197		// "-Xep:FloatCast:WARN",
198		// "-Xep:FloatingPointAssertionWithinEpsilon:WARN",
199		// "-Xep:FloatingPointLiteralPrecision:WARN",
200		// "-Xep:FragmentInjection:WARN",
201		// "-Xep:FragmentNotInstantiable:WARN",
202		// "-Xep:FutureReturnValueIgnored:WARN",
203		// "-Xep:GetClassOnEnum:WARN",
204		// "-Xep:HidingField:WARN",
205		// "-Xep:ImmutableAnnotationChecker:WARN",
206		// "-Xep:ImmutableEnumChecker:WARN",
207		// "-Xep:IncompatibleModifiers:WARN",
208		// "-Xep:InconsistentCapitalization:WARN",
209		// "-Xep:InconsistentHashCode:WARN",
210		// "-Xep:IncrementInForLoopAndHeader:WARN",
211		// "-Xep:InjectOnConstructorOfAbstractClass:WARN",
212		// "-Xep:InputStreamSlowMultibyteRead:WARN",
213		// "-Xep:InstanceOfAndCastMatchWrongType:WARN",
214		// "-Xep:IntLongMath:WARN",
215		// "-Xep:IterableAndIterator:WARN",
216		// "-Xep:JUnit3FloatingPointComparisonWithoutDelta:WARN",
217		// "-Xep:JUnit4ClassUsedInJUnit3:WARN",
218		// "-Xep:JUnitAmbiguousTestClass:WARN",
219		// "-Xep:JavaLangClash:WARN",
220		// "-Xep:JdkObsolete:WARN",
221		// "-Xep:LockNotBeforeTry:WARN",
222		// "-Xep:LogicalAssignment:WARN",
223		// "-Xep:MathAbsoluteRandom:WARN",
224		// "-Xep:MissingCasesInEnumSwitch:WARN",
225		// "-Xep:MissingFail:WARN",
226		// "-Xep:MissingOverride:WARN",
227		// "-Xep:ModifiedButNotUsed:WARN",
228		// "-Xep:ModifyCollectionInEnhancedForLoop:WARN",
229		// "-Xep:MultipleParallelOrSequentialCalls:WARN",
230		// "-Xep:MutableConstantField:WARN",
231		// "-Xep:NarrowingCompoundAssignment:WARN",
232		// "-Xep:NestedInstanceOfConditions:WARN",
233		// "-Xep:NonAtomicVolatileUpdate:WARN",
234		// "-Xep:NonOverridingEquals:WARN",
235		// "-Xep:NullableConstructor:WARN",
236		// "-Xep:NullablePrimitive:WARN",
237		// "-Xep:NullableVoid:WARN",
238		// "-Xep:ObjectToString:WARN",
239		// "-Xep:ObjectsHashCodePrimitive:WARN",
240		// "-Xep:OperatorPrecedence:WARN",
241		// "-Xep:OptionalNotPresent:WARN",
242		// "-Xep:OrphanedFormatString:WARN",
243		// "-Xep:OverrideThrowableToString:WARN",
244		// "-Xep:Overrides:WARN",
245		// "-Xep:OverridesGuiceInjectableMethod:WARN",
246		// "-Xep:ParameterName:WARN",
247		// "-Xep:PreconditionsInvalidPlaceholder:WARN",
248		// "-Xep:ProtoRedundantSet:WARN",
249		// "-Xep:QualifierOrScopeOnInjectMethod:WARN",
250		// "-Xep:ReachabilityFenceUsage:WARN",
251		// "-Xep:ReferenceEquality:WARN",
252		// "-Xep:RequiredModifiers:WARN",
253		// "-Xep:ShortCircuitBoolean:WARN",
254		// "-Xep:StaticGuardedByInstance:WARN",
255		// "-Xep:StreamResourceLeak:WARN",
256		// "-Xep:StringSplitter:WARN",
257		// "-Xep:SwigMemoryLeak:WARN",
258		// "-Xep:SynchronizeOnNonFinalField:WARN",
259		// "-Xep:ThreadJoinLoop:WARN",
260		// "-Xep:ThreadLocalUsage:WARN",
261		// "-Xep:ThreadPriorityCheck:WARN",
262		// "-Xep:ThreeLetterTimeZoneID:WARN",
263		// "-Xep:ToStringReturnsNull:WARN",
264		// "-Xep:TruthAssertExpected:WARN",
265		// "-Xep:TruthConstantAsserts:WARN",
266		// "-Xep:TruthIncompatibleType:WARN",
267		// "-Xep:TypeNameShadowing:WARN",
268		// "-Xep:TypeParameterShadowing:WARN",
269		// "-Xep:TypeParameterUnusedInFormals:WARN",
270		// "-Xep:URLEqualsHashCode:WARN",
271		// "-Xep:UndefinedEquals:WARN",
272		// "-Xep:UnnecessaryParentheses:WARN",
273		// "-Xep:UnsafeFinalization:WARN",
274		// "-Xep:UnsafeReflectiveConstructionCast:WARN",
275		// "-Xep:UnsynchronizedOverridesSynchronized:WARN",
276		// "-Xep:UseCorrectAssertInTests:WARN",
277		// "-Xep:VariableNameSameAsType:WARN",
278		// "-Xep:WaitNotInLoop:WARN",
279		// "-Xep:WakelockReleasedDangerously:WARN",
280
281		// Errorprone default severity SUGGESTION
282	}
283
284	// The checks that are default-disabled and listed for completeness
285	// and simple experiments.
286	config.ErrorProneChecksDefaultDisabled = []string{
287		// Errorprone default severity ERROR
288		// "-Xep:AndroidJdkLibsChecker:ERROR",
289		// "-Xep:AssistedInjectAndInjectOnSameConstructor:ERROR",
290		// "-Xep:AutoFactoryAtInject:ERROR",
291		// "-Xep:ClassName:ERROR",
292		// "-Xep:ComparisonContractViolated:ERROR",
293		// "-Xep:DepAnn:ERROR",
294		// "-Xep:DivZero:ERROR",
295		// "-Xep:EmptyIf:ERROR",
296		// "-Xep:FuzzyEqualsShouldNotBeUsedInEqualsMethod:ERROR",
297		// "-Xep:InjectInvalidTargetingOnScopingAnnotation:ERROR",
298		// "-Xep:InjectMoreThanOneQualifier:ERROR",
299		// "-Xep:InjectScopeAnnotationOnInterfaceOrAbstractClass:ERROR",
300		// "-Xep:InjectScopeOrQualifierAnnotationRetention:ERROR",
301		// "-Xep:InjectedConstructorAnnotations:ERROR",
302		// "-Xep:InsecureCryptoUsage:ERROR",
303		// "-Xep:IterablePathParameter:ERROR",
304		// "-Xep:JMockTestWithoutRunWithOrRuleAnnotation:ERROR",
305		// "-Xep:Java7ApiChecker:ERROR",
306		// "-Xep:JavaxInjectOnFinalField:ERROR",
307		// "-Xep:LockMethodChecker:ERROR",
308		// "-Xep:LongLiteralLowerCaseSuffix:ERROR",
309		// "-Xep:NoAllocation:ERROR",
310		// "-Xep:NumericEquality:ERROR",
311		// "-Xep:ParameterPackage:ERROR",
312		// "-Xep:RestrictTo:ERROR",
313		// "-Xep:StaticOrDefaultInterfaceMethod:ERROR",
314		// "-Xep:UnlockMethod:ERROR",
315
316		// Errorprone default severity WARNING
317		// "-Xep:AnnotateFormatMethod:WARN",
318		// "-Xep:AnnotationPosition:WARN",
319		// "-Xep:AssertFalse:WARN",
320		// "-Xep:AssistedInjectAndInjectOnConstructors:WARN",
321		// "-Xep:BinderIdentityRestoredDangerously:WARN",
322		// "-Xep:BindingToUnqualifiedCommonType:WARN",
323		// "-Xep:ConstructorInvokesOverridable:WARN",
324		// "-Xep:ConstructorLeaksThis:WARN",
325		// "-Xep:EmptyTopLevelDeclaration:WARN",
326		// "-Xep:EqualsBrokenForNull:WARN",
327		// "-Xep:ExpectedExceptionChecker:WARN",
328		// "-Xep:FunctionalInterfaceClash:WARN",
329		// "-Xep:HardCodedSdCardPath:WARN",
330		// "-Xep:InconsistentOverloads:WARN",
331		// "-Xep:InvalidParam:WARN",
332		// "-Xep:InvalidTag:WARN",
333		// "-Xep:InvalidThrows:WARN",
334		// "-Xep:MissingDefault:WARN",
335		// "-Xep:MutableMethodReturnType:WARN",
336		// "-Xep:NoFunctionalReturnType:WARN",
337		// "-Xep:NonCanonicalStaticMemberImport:WARN",
338		// "-Xep:NullableDereference:WARN",
339		// "-Xep:PrimitiveArrayPassedToVarargsMethod:WARN",
340		// "-Xep:ProtosAsKeyOfSetOrMap:WARN",
341		// "-Xep:ProvidesFix:WARN",
342		// "-Xep:QualifierWithTypeUse:WARN",
343		// "-Xep:RedundantThrows:WARN",
344		// "-Xep:ReturnFromVoid:WARN",
345		// "-Xep:StaticQualifiedUsingExpression:WARN",
346		// "-Xep:StringEquality:WARN",
347		// "-Xep:SystemExitOutsideMain:WARN",
348		// "-Xep:TestExceptionChecker:WARN",
349		// "-Xep:UnnecessaryDefaultInEnumSwitch:WARN",
350		// "-Xep:Unused:WARN",
351		// "-Xep:UnusedException:WARN",
352		// "-Xep:Var:WARN",
353
354		// Errorprone default severity SUGGESTION
355		// "-Xep:BooleanParameter:SUGGESTION",
356		// "-Xep:ClassNamedLikeTypeParameter:SUGGESTION",
357		// "-Xep:ConstantField:SUGGESTION",
358		// "-Xep:EmptySetMultibindingContributions:SUGGESTION",
359		// "-Xep:ExpectedExceptionRefactoring:SUGGESTION",
360		// "-Xep:FieldCanBeFinal:SUGGESTION",
361		// "-Xep:FieldMissingNullable:SUGGESTION",
362		// "-Xep:ImmutableRefactoring:SUGGESTION",
363		// "-Xep:LambdaFunctionalInterface:SUGGESTION",
364		// "-Xep:MethodCanBeStatic:SUGGESTION",
365		// "-Xep:MixedArrayDimensions:SUGGESTION",
366		// "-Xep:MultiVariableDeclaration:SUGGESTION",
367		// "-Xep:MultipleTopLevelClasses:SUGGESTION",
368		// "-Xep:MultipleUnaryOperatorsInMethodCall:SUGGESTION",
369		// "-Xep:PackageLocation:SUGGESTION",
370		// "-Xep:ParameterComment:SUGGESTION",
371		// "-Xep:ParameterNotNullable:SUGGESTION",
372		// "-Xep:PrivateConstructorForNoninstantiableModule:SUGGESTION",
373		// "-Xep:PrivateConstructorForUtilityClass:SUGGESTION",
374		// "-Xep:RemoveUnusedImports:SUGGESTION",
375		// "-Xep:ReturnMissingNullable:SUGGESTION",
376		// "-Xep:ScopeOnModule:SUGGESTION",
377		// "-Xep:SwitchDefault:SUGGESTION",
378		// "-Xep:TestExceptionRefactoring:SUGGESTION",
379		// "-Xep:ThrowsUncheckedException:SUGGESTION",
380		// "-Xep:TryFailRefactoring:SUGGESTION",
381		// "-Xep:TypeParameterNaming:SUGGESTION",
382		// "-Xep:UngroupedOverloads:SUGGESTION",
383		// "-Xep:UnnecessarySetDefault:SUGGESTION",
384		// "-Xep:UnnecessaryStaticImport:SUGGESTION",
385		// "-Xep:UseBinds:SUGGESTION",
386		// "-Xep:WildcardImport:SUGGESTION",
387	}
388
389	config.ErrorProneChecksOff = []string{
390		// We are not interested in Guava recommendations
391		// for String.split.
392		"-Xep:StringSplitter:OFF",
393		// b/117877739.
394		"-Xep:TruthAssertExpected:OFF",
395		// b/170172949
396		"-Xep:MissingOverride:OFF",
397		"-Xep:UnnecessaryParentheses:OFF",
398	}
399
400	config.ErrorProneFlags = []string{
401		"-Xdiags:verbose",
402		"-XDcompilePolicy=simple",
403		"-XDallowBetterNullChecks=false",
404		"-XDusePolyAttribution=true",
405		"-XDuseStrictMethodClashCheck=true",
406		"-XDuseStructuralMostSpecificResolution=true",
407		"-XDuseGraphInference=true",
408		"-XDandroidCompatible=true",
409		// As we emit errors as warnings,
410		// increase the warning limit.
411		"-Xmaxwarns 9999999",
412
413		// Extra flags needed by ErrorProne for OpenJDK9 from
414		// http://errorprone.info/docs/installation
415		"-J--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED",
416		"-J--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED",
417		"-J--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED",
418		"-J--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED",
419		"-J--add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED",
420		"-J--add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED",
421		"-J--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED",
422		"-J--add-exports=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED",
423		"-J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED",
424	}
425}
426