}
final TokenScanner getScanner() {
if (this.tokenScanner == null) {
CompilerOptions compilerOptions = new CompilerOptions(this.options);
Scanner scanner;
if (this.recoveryScannerData == null) {
scanner =
new Scanner(
true,/*tokenizeComments*/
false,/*tokenizeWhiteSpace*/
false,/*checkNonExternalizedStringLiterals*/
compilerOptions.sourceLevel,
compilerOptions.complianceLevel,
null/*taskTags*/,
null/*taskPriorities*/,
true/*taskCaseSensitive*/);
} else {
scanner =
new RecoveryScanner(
false,/*tokenizeWhiteSpace*/
false,/*checkNonExternalizedStringLiterals*/
compilerOptions.sourceLevel,
compilerOptions.complianceLevel,
null/*taskTags*/,
null/*taskPriorities*/,
true/*taskCaseSensitive*/,
this.recoveryScannerData);
}
scanner.setSource(this.content);
this.tokenScanner= new TokenScanner(scanner);
}
return this.tokenScanner;
}