📄 parseexception.java
字号:
// Decompiled by Jad v1.5.7g. Copyright 2000 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/SiliconValley/Bridge/8617/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi
// Source File Name: ParseException.java
package com.laoer.bbscs.lucene.html;
// Referenced classes of package com.laoer.bbscs.lucene.html:
// Token
public class ParseException extends Exception
{
protected boolean specialConstructor;
public Token currentToken;
public int expectedTokenSequences[][];
public String tokenImage[];
protected String eol;
public ParseException(Token currentTokenVal, int expectedTokenSequencesVal[][], String tokenImageVal[])
{
super("");
eol = System.getProperty("line.separator", "\n");
specialConstructor = true;
currentToken = currentTokenVal;
expectedTokenSequences = expectedTokenSequencesVal;
tokenImage = tokenImageVal;
}
public ParseException()
{
eol = System.getProperty("line.separator", "\n");
specialConstructor = false;
}
public ParseException(String message)
{
super(message);
eol = System.getProperty("line.separator", "\n");
specialConstructor = false;
}
public String getMessage()
{
if(!specialConstructor)
return super.getMessage();
String expected = "";
int maxSize = 0;
for(int i = 0; i < expectedTokenSequences.length; i++)
{
if(maxSize < expectedTokenSequences[i].length)
maxSize = expectedTokenSequences[i].length;
for(int j = 0; j < expectedTokenSequences[i].length; j++)
expected = expected + tokenImage[expectedTokenSequences[i][j]] + " ";
if(expectedTokenSequences[i][expectedTokenSequences[i].length - 1] != 0)
expected = expected + "...";
expected = expected + eol + " ";
}
String retval = "Encountered \"";
Token tok = currentToken.next;
int i = 0;
do
{
if(i >= maxSize)
break;
if(i != 0)
retval = retval + " ";
if(tok.kind == 0)
{
retval = retval + tokenImage[0];
break;
}
retval = retval + add_escapes(tok.image);
tok = tok.next;
i++;
} while(true);
retval = retval + "\" at line " + currentToken.next.beginLine + ", column " + currentToken.next.beginColumn;
retval = retval + "." + eol;
if(expectedTokenSequences.length == 1)
retval = retval + "Was expecting:" + eol + " ";
else
retval = retval + "Was expecting one of:" + eol + " ";
retval = retval + expected;
return retval;
}
protected String add_escapes(String str)
{
StringBuffer retval = new StringBuffer();
for(int i = 0; i < str.length(); i++)
{
char ch;
switch(str.charAt(i))
{
case 0: // '\0'
break;
case 8: // '\b'
retval.append("\\b");
break;
case 9: // '\t'
retval.append("\\t");
break;
case 10: // '\n'
retval.append("\\n");
break;
case 12: // '\f'
retval.append("\\f");
break;
case 13: // '\r'
retval.append("\\r");
break;
case 34: // '"'
retval.append("\\\"");
break;
case 39: // '\''
retval.append("\\'");
break;
case 92: // '\\'
retval.append("\\\\");
break;
default:
if((ch = str.charAt(i)) < ' ' || ch > '~')
{
String s = "0000" + Integer.toString(ch, 16);
retval.append("\\u" + s.substring(s.length() - 4, s.length()));
} else
{
retval.append(ch);
}
break;
}
}
return retval.toString();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -