protected int readTokenAndConsume() throws InvalidInputException { int token = readToken(); consumeToken(); return token; }
if (peekChar() == '}') { if (domParser) { createTag(); pushText(textPosition, this.index); int previousPosition = this.index; this.starPosition = -1; char ch = readChar(); nextChar: while (true) { switch (ch) { case '\n': if (domParser) { createTag(); pushText(textPosition, previousPosition); if (this.starPosition >= textPosition) { // valid only if a star was the previous character if (domParser) { createTag(); pushText(textPosition, this.starPosition); ch = readChar();
int token = readTokenSafely(); switch (token) { case TerminalTokens.TokenNameStringLiteral : // @see "string" consumeToken(); int start = this.scanner.getCurrentTokenStartPosition(); if (this.tagValue == TAG_VALUE_VALUE) { if (this.reportProblems) this.sourceParser.problemReporter().javadocInvalidValueReference(start, getTokenEndPosition(), this.sourceParser.modifiers); return false; if (verifyEndLine(previousPosition)) { return createFakeReference(start); consumeToken(); start = this.scanner.getCurrentTokenStartPosition(); if (parseHref()) { consumeToken(); if (this.tagValue == TAG_VALUE_VALUE) { if (this.reportProblems) this.sourceParser.problemReporter().javadocInvalidValueReference(start, getIndexPosition(), this.sourceParser.modifiers); return false; if (verifyEndLine(previousPosition)) { return createFakeReference(start); if (this.reportProblems) this.sourceParser.problemReporter().javadocInvalidValueReference(start, getIndexPosition(), this.sourceParser.modifiers); consumeToken();
this.identifierPtr = -1; this.currentTokenType = -1; setInlineTagStarted(false); this.inlineTagStart = -1; this.lineStarted = false; this.lastBlockTagValue = NO_TAG_VALUE; this.deprecated = false; this.lastLinePtr = getLineNumber(this.javadocEnd); this.textStart = -1; this.abort = false; this.linePtr = getLineNumber(this.firstTagPosition); int realStart = this.linePtr==1 ? this.javadocStart : this.scanner.getLineEnd(this.linePtr-1)+1; if (realStart < this.javadocStart) realStart = this.javadocStart; this.index = realStart; if (realStart == this.javadocStart) { readChar(); // starting '/' readChar(); // first '*' nextCharacter = readChar(); // second '*' while (peekChar() == '*') { nextCharacter = readChar(); // read all contiguous '*' updateLineEnd(); nextCharacter = readChar(); // consider unicodes } else {
if (readToken() == TerminalTokens.TokenNameIdentifier) { if (this.scanner.currentCharacter == '.') { // member name may be qualified (inner class constructor reference) parseQualifiedName(true); } else { consumeToken(); pushIdentifier(true, false); if (readToken() == TerminalTokens.TokenNameLPAREN) { consumeToken(); start = this.scanner.getCurrentTokenStartPosition(); try { return parseArguments(receiver); } catch (InvalidInputException e) { int end = this.scanner.getCurrentTokenEndPosition() < this.lineEnd ? if (!verifySpaceOrEndComment()) { int end = this.starPosition == -1 ? this.lineEnd : this.starPosition; if (this.source[end]=='\n') end--; return null; return createFieldReference(receiver); int end = getTokenEndPosition() - 1; end = start > end ? start : end; if (this.reportProblems) this.sourceParser.problemReporter().javadocInvalidReference(start, end);
typeRef = parseQualifiedName(false); if (this.abort) return null; // May be aborted by specialized parser } catch (InvalidInputException e) { if (!verifySpaceOrEndComment()) { int end = this.starPosition == -1 ? this.lineEnd : this.starPosition; if (this.source[end]=='\n') end--; return createMethodReference(receiver, null); if (readToken() == TerminalTokens.TokenNameLBRACKET) { while (readToken() == TerminalTokens.TokenNameLBRACKET) { int dimStart = this.scanner.getCurrentTokenStartPosition(); consumeToken(); if (readToken() != TerminalTokens.TokenNameRBRACKET) { break nextArg; consumeToken(); dimPositions[dim++] = (((long) dimStart) << 32) + this.scanner.getCurrentTokenEndPosition(); } else if (readToken() == TerminalTokens.TokenNameELLIPSIS) { consumeToken(); isVarargs = true; if (readToken() == TerminalTokens.TokenNameIdentifier) { consumeToken(); if (firstArg) { // verify position
int parserKind = this.kind & PARSER_KIND; nextToken : for (int iToken = 0; ; iToken++) { int token = readTokenSafely(); switch (token) { case TerminalTokens.TokenNameIdentifier : break nextToken; pushIdentifier(iToken == 0, false); consumeToken(); break; consumeToken(); break; case TerminalTokens.TokenNamewhile: if (iToken == 0) { pushIdentifier(true, true); primitiveToken = token; consumeToken(); break nextToken; return syntaxRecoverQualifiedName(primitiveToken); case DOM_PARSER: if (this.currentTokenType != -1) { return createTypeReference(primitiveToken);
protected boolean parseThrows() { int start = this.scanner.currentPosition; try { Object typeRef = parseQualifiedName(true); if (this.abort) return false; // May be aborted by specialized parser if (typeRef == null) { if (this.reportProblems) this.sourceParser.problemReporter().javadocMissingThrowsClassName(this.tagSourceStart, this.tagSourceEnd, this.sourceParser.modifiers); } else { return pushThrowName(typeRef); } } catch (InvalidInputException ex) { if (this.reportProblems) this.sourceParser.problemReporter().javadocInvalidThrowsClass(start, getTokenEndPosition()); } return false; }
try { int start = this.scanner.getCurrentTokenStartPosition(); char currentChar = readChar(); if (currentChar == 'a' || currentChar == 'A') { this.scanner.currentPosition = this.index; if (readToken() == TerminalTokens.TokenNameIdentifier) { consumeToken(); try { if (CharOperation.equals(this.scanner.getCurrentIdentifierSource(), HREF_TAG, false) && readToken() == TerminalTokens.TokenNameEQUAL) { consumeToken(); if (readToken() == TerminalTokens.TokenNameStringLiteral) { consumeToken(); while (this.index < this.javadocEnd) { // main loop to search for the </a> pattern while (readToken() != TerminalTokens.TokenNameGREATER) { if (this.scanner.currentPosition >= this.scanner.eofPosition || this.scanner.currentCharacter == '@' || (this.inlineTagStarted && this.scanner.currentCharacter == '}')) { consumeToken(); // update line end as new lines are allowed in URL description while (readToken() != TerminalTokens.TokenNameLESS) { if (this.scanner.currentPosition >= this.scanner.eofPosition || this.scanner.currentCharacter == '@' || (this.inlineTagStarted && this.scanner.currentCharacter == '}')) { consumeToken(); consumeToken(); start = this.scanner.getCurrentTokenStartPosition(); currentChar = readChar();
int token = readTokenSafely(); switch (token) { case TerminalTokens.TokenNameStringLiteral : // @see "string" consumeToken(); int start = this.scanner.getCurrentTokenStartPosition(); if (this.tagValue == TAG_VALUE_VALUE) { if (this.reportProblems) this.sourceParser.problemReporter().javadocInvalidValueReference(start, getTokenEndPosition(), this.sourceParser.modifiers); return false; if (verifyEndLine(previousPosition)) { return createFakeReference(start); consumeToken(); start = this.scanner.getCurrentTokenStartPosition(); if (parseHref()) { consumeToken(); if (this.tagValue == TAG_VALUE_VALUE) { if (this.reportProblems) this.sourceParser.problemReporter().javadocInvalidValueReference(start, getIndexPosition(), this.sourceParser.modifiers); return false; if (verifyEndLine(previousPosition)) { return createFakeReference(start); if (this.reportProblems) this.sourceParser.problemReporter().javadocInvalidValueReference(start, getIndexPosition(), this.sourceParser.modifiers); consumeToken();
this.identifierPtr = -1; this.currentTokenType = -1; setInlineTagStarted(false); this.inlineTagStart = -1; this.lineStarted = false; this.lastBlockTagValue = NO_TAG_VALUE; this.deprecated = false; this.lastLinePtr = getLineNumber(this.javadocEnd); this.textStart = -1; this.abort = false; this.linePtr = getLineNumber(this.firstTagPosition); int realStart = this.linePtr==1 ? this.javadocStart : this.scanner.getLineEnd(this.linePtr-1)+1; if (realStart < this.javadocStart) realStart = this.javadocStart; this.index = realStart; if (realStart == this.javadocStart) { readChar(); // starting '/' readChar(); // first '*' nextCharacter = readChar(); // second '*' while (peekChar() == '*') { nextCharacter = readChar(); // read all contiguous '*' updateLineEnd(); nextCharacter = readChar(); // consider unicodes } else {
if (readToken() == TerminalTokens.TokenNameIdentifier) { if (this.scanner.currentCharacter == '.') { // member name may be qualified (inner class constructor reference) parseQualifiedName(true); } else { consumeToken(); pushIdentifier(true, false); if (readToken() == TerminalTokens.TokenNameLPAREN) { consumeToken(); start = this.scanner.getCurrentTokenStartPosition(); try { return parseArguments(receiver); } catch (InvalidInputException e) { int end = this.scanner.getCurrentTokenEndPosition() < this.lineEnd ? if (!verifySpaceOrEndComment()) { int end = this.starPosition == -1 ? this.lineEnd : this.starPosition; if (this.source[end]=='\n') end--; return null; return createFieldReference(receiver); int end = getTokenEndPosition() - 1; end = start > end ? start : end; if (this.reportProblems) this.sourceParser.problemReporter().javadocInvalidReference(start, end);
typeRef = parseQualifiedName(false); if (this.abort) return null; // May be aborted by specialized parser } catch (InvalidInputException e) { if (!verifySpaceOrEndComment()) { int end = this.starPosition == -1 ? this.lineEnd : this.starPosition; if (this.source[end]=='\n') end--; return createMethodReference(receiver, null); if (readToken() == TerminalTokens.TokenNameLBRACKET) { while (readToken() == TerminalTokens.TokenNameLBRACKET) { int dimStart = this.scanner.getCurrentTokenStartPosition(); consumeToken(); if (readToken() != TerminalTokens.TokenNameRBRACKET) { break nextArg; consumeToken(); dimPositions[dim++] = (((long) dimStart) << 32) + this.scanner.getCurrentTokenEndPosition(); } else if (readToken() == TerminalTokens.TokenNameELLIPSIS) { consumeToken(); isVarargs = true; if (readToken() == TerminalTokens.TokenNameIdentifier) { consumeToken(); if (firstArg) { // verify position
int parserKind = this.kind & PARSER_KIND; nextToken : for (int iToken = 0; ; iToken++) { int token = readTokenSafely(); switch (token) { case TerminalTokens.TokenNameIdentifier : break nextToken; pushIdentifier(iToken == 0, false); consumeToken(); break; consumeToken(); break; case TerminalTokens.TokenNamewhile: if (iToken == 0) { pushIdentifier(true, true); primitiveToken = token; consumeToken(); break nextToken; return syntaxRecoverQualifiedName(primitiveToken); case DOM_PARSER: if (this.currentTokenType != -1) { return createTypeReference(primitiveToken);
protected boolean parseThrows() { int start = this.scanner.currentPosition; try { Object typeRef = parseQualifiedName(true); if (this.abort) return false; // May be aborted by specialized parser if (typeRef == null) { if (this.reportProblems) this.sourceParser.problemReporter().javadocMissingThrowsClassName(this.tagSourceStart, this.tagSourceEnd, this.sourceParser.modifiers); } else { return pushThrowName(typeRef); } } catch (InvalidInputException ex) { if (this.reportProblems) this.sourceParser.problemReporter().javadocInvalidThrowsClass(start, getTokenEndPosition()); } return false; }
try { int start = this.scanner.getCurrentTokenStartPosition(); char currentChar = readChar(); if (currentChar == 'a' || currentChar == 'A') { this.scanner.currentPosition = this.index; if (readToken() == TerminalTokens.TokenNameIdentifier) { consumeToken(); try { if (CharOperation.equals(this.scanner.getCurrentIdentifierSource(), HREF_TAG, false) && readToken() == TerminalTokens.TokenNameEQUAL) { consumeToken(); if (readToken() == TerminalTokens.TokenNameStringLiteral) { consumeToken(); while (this.index < this.javadocEnd) { // main loop to search for the </a> pattern while (readToken() != TerminalTokens.TokenNameGREATER) { if (this.scanner.currentPosition >= this.scanner.eofPosition || this.scanner.currentCharacter == '@' || (this.inlineTagStarted && this.scanner.currentCharacter == '}')) { consumeToken(); // update line end as new lines are allowed in URL description while (readToken() != TerminalTokens.TokenNameLESS) { if (this.scanner.currentPosition >= this.scanner.eofPosition || this.scanner.currentCharacter == '@' || (this.inlineTagStarted && this.scanner.currentCharacter == '}')) { consumeToken(); consumeToken(); start = this.scanner.getCurrentTokenStartPosition(); currentChar = readChar();
int token = readTokenSafely(); switch (token) { case TerminalTokens.TokenNameStringLiteral : // @see "string" consumeToken(); int start = this.scanner.getCurrentTokenStartPosition(); if (this.tagValue == TAG_VALUE_VALUE) { if (this.reportProblems) this.sourceParser.problemReporter().javadocInvalidValueReference(start, getTokenEndPosition(), this.sourceParser.modifiers); return false; if (verifyEndLine(previousPosition)) { return createFakeReference(start); consumeToken(); start = this.scanner.getCurrentTokenStartPosition(); if (parseHref()) { consumeToken(); if (this.tagValue == TAG_VALUE_VALUE) { if (this.reportProblems) this.sourceParser.problemReporter().javadocInvalidValueReference(start, getIndexPosition(), this.sourceParser.modifiers); return false; if (verifyEndLine(previousPosition)) { return createFakeReference(start); if (this.reportProblems) this.sourceParser.problemReporter().javadocInvalidValueReference(start, getIndexPosition(), this.sourceParser.modifiers); consumeToken();
this.identifierPtr = -1; this.currentTokenType = -1; setInlineTagStarted(false); this.inlineTagStart = -1; this.lineStarted = false; this.lastBlockTagValue = NO_TAG_VALUE; this.deprecated = false; this.lastLinePtr = getLineNumber(this.javadocEnd); this.textStart = -1; this.abort = false; this.linePtr = getLineNumber(this.firstTagPosition); int realStart = this.linePtr==1 ? this.javadocStart : this.scanner.getLineEnd(this.linePtr-1)+1; if (realStart < this.javadocStart) realStart = this.javadocStart; this.index = realStart; if (realStart == this.javadocStart) { readChar(); // starting '/' readChar(); // first '*' nextCharacter = readChar(); // second '*' while (peekChar() == '*') { nextCharacter = readChar(); // read all contiguous '*' updateLineEnd(); nextCharacter = readChar(); // consider unicodes } else {
if (readToken() == TerminalTokens.TokenNameIdentifier) { if (this.scanner.currentCharacter == '.') { // member name may be qualified (inner class constructor reference) parseQualifiedName(true); } else { consumeToken(); pushIdentifier(true, false); if (readToken() == TerminalTokens.TokenNameLPAREN) { consumeToken(); start = this.scanner.getCurrentTokenStartPosition(); try { return parseArguments(receiver); } catch (InvalidInputException e) { int end = this.scanner.getCurrentTokenEndPosition() < this.lineEnd ? if (!verifySpaceOrEndComment()) { int end = this.starPosition == -1 ? this.lineEnd : this.starPosition; if (this.source[end]=='\n') end--; return null; return createFieldReference(receiver); int end = getTokenEndPosition() - 1; end = start > end ? start : end; if (this.reportProblems) this.sourceParser.problemReporter().javadocInvalidReference(start, end);
typeRef = parseQualifiedName(false); if (this.abort) return null; // May be aborted by specialized parser } catch (InvalidInputException e) { if (!verifySpaceOrEndComment()) { int end = this.starPosition == -1 ? this.lineEnd : this.starPosition; if (this.source[end]=='\n') end--; return createMethodReference(receiver, null); if (readToken() == TerminalTokens.TokenNameLBRACKET) { while (readToken() == TerminalTokens.TokenNameLBRACKET) { consumeToken(); if (readToken() != TerminalTokens.TokenNameRBRACKET) { break nextArg; consumeToken(); dimPositions[dim++] = (((long) dimStart) << 32) + this.scanner.getCurrentTokenEndPosition(); } else if (readToken() == TerminalTokens.TokenNameELLIPSIS) { consumeToken(); isVarargs = true; if (readToken() == TerminalTokens.TokenNameIdentifier) { consumeToken(); if (firstArg) { // verify position if (iToken != 1)