Allow multiple same jsr305 options in the command-line
do not report duplicate jsr305 entries if options are the same
This commit is contained in:
+10
-7
@@ -37,19 +37,21 @@ class Jsr305Parser(private val collector: MessageCollector) {
|
||||
item.startsWith("@") -> {
|
||||
val (name, state) = parseJsr305UserDefined(item) ?: return@forEach
|
||||
val current = userDefined[name]
|
||||
if (current != null) {
|
||||
if (current == null) {
|
||||
userDefined[name] = state
|
||||
} else if (current != state) {
|
||||
reportDuplicateJsr305("@$name:${current.description}", item)
|
||||
return@forEach
|
||||
}
|
||||
userDefined[name] = state
|
||||
}
|
||||
item.startsWith("under-migration") -> {
|
||||
if (migration != null) {
|
||||
val state = parseJsr305UnderMigration(item)
|
||||
if (migration == null) {
|
||||
migration = state
|
||||
} else if (migration != state) {
|
||||
reportDuplicateJsr305("under-migration:${migration?.description}", item)
|
||||
return@forEach
|
||||
}
|
||||
|
||||
migration = parseJsr305UnderMigration(item)
|
||||
}
|
||||
item == "enable" -> {
|
||||
collector.report(
|
||||
@@ -61,11 +63,12 @@ class Jsr305Parser(private val collector: MessageCollector) {
|
||||
global = ReportLevel.STRICT
|
||||
}
|
||||
else -> {
|
||||
if (global != null) {
|
||||
if (global == null) {
|
||||
global = ReportLevel.findByDescription(item)
|
||||
} else if (global!!.description != item) {
|
||||
reportDuplicateJsr305(global!!.description, item)
|
||||
return@forEach
|
||||
}
|
||||
global = ReportLevel.findByDescription(item)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+2
@@ -6,7 +6,9 @@ $TEMP_DIR$
|
||||
-Xjsr305=@hello\:warning
|
||||
-Xjsr305=@hello\:warn
|
||||
-Xjsr305=@hello\:ignore
|
||||
-Xjsr305=@hello\:warn
|
||||
-Xjsr305=strict
|
||||
-Xjsr305=ignore
|
||||
-Xjsr305=under-migration\:ignore
|
||||
-Xjsr305=under-migration\:strict
|
||||
-Xjsr305=under-migration\:ignore
|
||||
|
||||
-1
@@ -2,7 +2,6 @@ warning: option 'enable' for -Xjsr305 flag is deprecated. Please use 'strict' in
|
||||
error: unrecognized -Xjsr305 value: under-migration:stct
|
||||
error: unrecognized -Xjsr305 value: @hello:warning
|
||||
error: conflict duplicating -Xjsr305 value: @hello:warn, @hello:ignore
|
||||
error: conflict duplicating -Xjsr305 value: strict, strict
|
||||
error: conflict duplicating -Xjsr305 value: strict, ignore
|
||||
error: conflict duplicating -Xjsr305 value: under-migration:ignore, under-migration:strict
|
||||
COMPILATION_ERROR
|
||||
|
||||
Reference in New Issue
Block a user