Javac does not respect policy to stop after CompileState.PARSE, CompileState.ENTER and CompileState.PROCESS, and it performs full attribution instead.
Following four command lines have identical effect - compiler finishes attribution:
javac -XDshould-stop.ifNoError=PARSE
javac -XDshould-stop.ifNoError=ENTER
javac -XDshould-stop.ifNoError=PROCESS
javac -XDshould-stop.ifNoError=ATTR
To verify the bug and the fix it is necessary to run javac under profiler or debugger or benchmark it.
Following four command lines have identical effect - compiler finishes attribution:
javac -XDshould-stop.ifNoError=PARSE
javac -XDshould-stop.ifNoError=ENTER
javac -XDshould-stop.ifNoError=PROCESS
javac -XDshould-stop.ifNoError=ATTR
To verify the bug and the fix it is necessary to run javac under profiler or debugger or benchmark it.