home *** CD-ROM | disk | FTP | other *** search
- package com.sun.java.swing.text.html;
-
- class ParseException extends ParseError {
- protected boolean specialConstructor;
- public Token currentToken;
- public int[][] expectedTokenSequences;
- public String[] tokenImage;
- protected String eol = System.getProperty("line.separator", "\n");
-
- public ParseException(Token var1, int[][] var2, String[] var3) {
- super("");
- this.specialConstructor = true;
- this.currentToken = var1;
- this.expectedTokenSequences = var2;
- this.tokenImage = var3;
- }
-
- public ParseException() {
- this.specialConstructor = false;
- }
-
- public ParseException(String var1) {
- super(var1);
- this.specialConstructor = false;
- }
-
- public String getMessage() {
- if (!this.specialConstructor) {
- return super.getMessage();
- } else {
- String var1 = "";
- int var2 = 0;
-
- for(int var3 = 0; var3 < this.expectedTokenSequences.length; ++var3) {
- if (var2 < this.expectedTokenSequences[var3].length) {
- var2 = this.expectedTokenSequences[var3].length;
- }
-
- for(int var4 = 0; var4 < this.expectedTokenSequences[var3].length; ++var4) {
- var1 = var1 + this.tokenImage[this.expectedTokenSequences[var3][var4]] + " ";
- }
-
- if (this.expectedTokenSequences[var3][this.expectedTokenSequences[var3].length - 1] != 0) {
- var1 = var1 + "...";
- }
-
- var1 = var1 + this.eol + " ";
- }
-
- String var7 = "Encountered \"";
- Token var5 = this.currentToken.next;
-
- for(int var6 = 0; var6 < var2; ++var6) {
- if (var6 != 0) {
- var7 = var7 + " ";
- }
-
- if (var5.kind == 0) {
- var7 = var7 + this.tokenImage[0];
- break;
- }
-
- var7 = var7 + this.add_escapes(var5.image);
- var5 = var5.next;
- }
-
- var7 = var7 + "\" at line " + this.currentToken.next.beginLine + ", column " + this.currentToken.next.beginColumn + "." + this.eol;
- if (this.expectedTokenSequences.length == 1) {
- var7 = var7 + "Was expecting:" + this.eol + " ";
- } else {
- var7 = var7 + "Was expecting one of:" + this.eol + " ";
- }
-
- var7 = var7 + var1;
- return var7;
- }
- }
-
- protected String add_escapes(String var1) {
- StringBuffer var2 = new StringBuffer();
-
- for(int var4 = 0; var4 < var1.length(); ++var4) {
- switch (var1.charAt(var4)) {
- case '\u0000':
- break;
- case '\b':
- var2.append("\\b");
- break;
- case '\t':
- var2.append("\\t");
- break;
- case '\n':
- var2.append("\\n");
- break;
- case '\f':
- var2.append("\\f");
- break;
- case '\r':
- var2.append("\\r");
- break;
- case '"':
- var2.append("\\\"");
- break;
- case '\'':
- var2.append("\\'");
- break;
- case '\\':
- var2.append("\\\\");
- break;
- default:
- char var3;
- if ((var3 = var1.charAt(var4)) >= ' ' && var3 <= '~') {
- var2.append(var3);
- } else {
- String var5 = "0000" + Integer.toString(var3, 16);
- var2.append("\\u" + var5.substring(var5.length() - 4, var5.length()));
- }
- }
- }
-
- return var2.toString();
- }
- }
-