下面列出了org.eclipse.jface.text.BadLocationException#getLocalizedMessage ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
@Override
public Symbol nextToken() throws IOException, Exception
{
IToken token = fTokenScanner.nextToken();
while (isIgnored(token))
{
token = fTokenScanner.nextToken();
}
int offset = fTokenScanner.getTokenOffset();
int length = fTokenScanner.getTokenLength();
if (token.isEOF())
{
return createSymbol(offset, offset, "", token); //$NON-NLS-1$
}
try
{
String text = fDocument.get(offset, length);
return createSymbol(offset, offset + length - 1, text, token);
}
catch (BadLocationException e)
{
throw new Scanner.Exception(e.getLocalizedMessage());
}
}
/**
* createSymbol
*
* @param data
* @return
* @throws Exception
*/
protected Symbol createSymbol(Object data) throws Exception
{
DTDParserScanner scanner;
IDocument document;
if (this._nestedScanners.size() > 0)
{
scanner = this._nestedScanners.peek();
document = scanner.getDocument();
}
else
{
scanner = this._sourceScanner;
document = this._document;
}
int offset = scanner.getTokenOffset();
int length = scanner.getTokenLength();
DTDTokenType type = (data == null) ? DTDTokenType.EOF : (DTDTokenType) data;
try
{
int totalLength = document.getLength();
if (offset > totalLength)
{
offset = totalLength;
}
if (length == -1)
{
length = 0;
}
return new Symbol(type.getIndex(), offset, offset + length - 1, document.get(offset, length));
}
catch (BadLocationException e)
{
throw new Scanner.Exception(e.getLocalizedMessage());
}
}