User: patriot1burke Date: 04/04/23 20:24:08 Added: src/main/org/jboss/aop/annotation/ast ASTAnnotation.java ASTChar.java ASTIdentifier.java ASTMemberValue.java ASTMemberValueArrayInitializer.java ASTMemberValuePair.java ASTMemberValuePairs.java ASTSingleMemberValue.java ASTStart.java ASTString.java AnnotationParser.java AnnotationParserConstants.java AnnotationParserTester.java AnnotationParserTester.java~ AnnotationParserTokenManager.java AnnotationParserTreeConstants.java AnnotationParserVisitor.java JJTAnnotationParserState.java Node.java ParseException.java SimpleCharStream.java SimpleNode.java Token.java TokenMgrError.java annotation.jjt Log: added annotation compiler for JDK 1.4 and JDK 1.5 annotation abstraction changed annotation compiler so that it takes JDK 1.5 syntax. Revision Changes Path 1.1 jboss-aop/src/main/org/jboss/aop/annotation/ast/ASTAnnotation.java Index: ASTAnnotation.java =================================================================== /* Generated By:JJTree: Do not edit this line. ASTAnnotation.java */ package org.jboss.aop.annotation.ast; public class ASTAnnotation extends ASTMemberValue { public ASTAnnotation(int id) { super(id); } public ASTAnnotation(AnnotationParser p, int id) { super(p, id); } /** Accept the visitor. **/ public Object jjtAccept(AnnotationParserVisitor visitor, Object data) { return visitor.visit(this, data); } private String identifier; public String getIdentifier() { return identifier; } public void setIdentifier(String identifier) { this.identifier = identifier; } } 1.1 jboss-aop/src/main/org/jboss/aop/annotation/ast/ASTChar.java Index: ASTChar.java =================================================================== /* Generated By:JJTree: Do not edit this line. ASTChar.java */ package org.jboss.aop.annotation.ast; public class ASTChar extends ASTMemberValue { public ASTChar(int id) { super(id); } public ASTChar(AnnotationParser p, int id) { super(p, id); } /** Accept the visitor. **/ public Object jjtAccept(AnnotationParserVisitor visitor, Object data) { return visitor.visit(this, data); } private char value; public void setValue(String val) { value = val.charAt(1); } public char getValue() { return value; } } 1.1 jboss-aop/src/main/org/jboss/aop/annotation/ast/ASTIdentifier.java Index: ASTIdentifier.java =================================================================== /* Generated By:JJTree: Do not edit this line. ASTIdentifier.java */ package org.jboss.aop.annotation.ast; public class ASTIdentifier extends ASTMemberValue { public ASTIdentifier(int id) { super(id); } public ASTIdentifier(AnnotationParser p, int id) { super(p, id); } /** Accept the visitor. **/ public Object jjtAccept(AnnotationParserVisitor visitor, Object data) { return visitor.visit(this, data); } String value; public String getValue() { return value; } public void setValue(String value) { this.value = value; } } 1.1 jboss-aop/src/main/org/jboss/aop/annotation/ast/ASTMemberValue.java Index: ASTMemberValue.java =================================================================== /* Generated By:JJTree: Do not edit this line. ASTMemberValue.java */ package org.jboss.aop.annotation.ast; public class ASTMemberValue extends SimpleNode { public ASTMemberValue(int id) { super(id); } public ASTMemberValue(AnnotationParser p, int id) { super(p, id); } /** Accept the visitor. **/ public Object jjtAccept(AnnotationParserVisitor visitor, Object data) { return visitor.visit(this, data); } } 1.1 jboss-aop/src/main/org/jboss/aop/annotation/ast/ASTMemberValueArrayInitializer.java Index: ASTMemberValueArrayInitializer.java =================================================================== /* Generated By:JJTree: Do not edit this line. ASTMemberValueArrayInitializer.java */ package org.jboss.aop.annotation.ast; public class ASTMemberValueArrayInitializer extends ASTMemberValue { public ASTMemberValueArrayInitializer(int id) { super(id); } public ASTMemberValueArrayInitializer(AnnotationParser p, int id) { super(p, id); } /** Accept the visitor. **/ public Object jjtAccept(AnnotationParserVisitor visitor, Object data) { return visitor.visit(this, data); } } 1.1 jboss-aop/src/main/org/jboss/aop/annotation/ast/ASTMemberValuePair.java Index: ASTMemberValuePair.java =================================================================== /* Generated By:JJTree: Do not edit this line. ASTMemberValuePair.java */ package org.jboss.aop.annotation.ast; public class ASTMemberValuePair extends SimpleNode { public ASTMemberValuePair(int id) { super(id); } public ASTMemberValuePair(AnnotationParser p, int id) { super(p, id); } /** Accept the visitor. **/ public Object jjtAccept(AnnotationParserVisitor visitor, Object data) { return visitor.visit(this, data); } private ASTIdentifier identifier; private ASTMemberValue value; public void jjtAddChild(Node n, int i) { if ((n instanceof ASTIdentifier) && i == 0) { identifier = (ASTIdentifier)n; return; } if (n instanceof ASTMemberValue) value = (ASTMemberValue)n; } public ASTIdentifier getIdentifier() { return identifier; } public ASTMemberValue getValue() { return value; } } 1.1 jboss-aop/src/main/org/jboss/aop/annotation/ast/ASTMemberValuePairs.java Index: ASTMemberValuePairs.java =================================================================== /* Generated By:JJTree: Do not edit this line. ASTMemberValuePairs.java */ package org.jboss.aop.annotation.ast; public class ASTMemberValuePairs extends SimpleNode { public ASTMemberValuePairs(int id) { super(id); } public ASTMemberValuePairs(AnnotationParser p, int id) { super(p, id); } /** Accept the visitor. **/ public Object jjtAccept(AnnotationParserVisitor visitor, Object data) { return visitor.visit(this, data); } } 1.1 jboss-aop/src/main/org/jboss/aop/annotation/ast/ASTSingleMemberValue.java Index: ASTSingleMemberValue.java =================================================================== /* Generated By:JJTree: Do not edit this line. ASTSingleMemberValue.java */ package org.jboss.aop.annotation.ast; public class ASTSingleMemberValue extends SimpleNode { public ASTSingleMemberValue(int id) { super(id); } public ASTSingleMemberValue(AnnotationParser p, int id) { super(p, id); } /** Accept the visitor. **/ public Object jjtAccept(AnnotationParserVisitor visitor, Object data) { return visitor.visit(this, data); } private ASTMemberValue value; public void jjtAddChild(Node n, int i) { if (n instanceof ASTMemberValue) value = (ASTMemberValue) n; } public ASTMemberValue getValue() { return value; } } 1.1 jboss-aop/src/main/org/jboss/aop/annotation/ast/ASTStart.java Index: ASTStart.java =================================================================== /* Generated By:JJTree: Do not edit this line. ASTStart.java */ package org.jboss.aop.annotation.ast; public class ASTStart extends SimpleNode { public ASTStart(int id) { super(id); } public ASTStart(AnnotationParser p, int id) { super(p, id); } /** Accept the visitor. **/ public Object jjtAccept(AnnotationParserVisitor visitor, Object data) { return visitor.visit(this, data); } } 1.1 jboss-aop/src/main/org/jboss/aop/annotation/ast/ASTString.java Index: ASTString.java =================================================================== /* Generated By:JJTree: Do not edit this line. ASTString.java */ package org.jboss.aop.annotation.ast; public class ASTString extends ASTMemberValue { public ASTString(int id) { super(id); } public ASTString(AnnotationParser p, int id) { super(p, id); } /** Accept the visitor. **/ public Object jjtAccept(AnnotationParserVisitor visitor, Object data) { return visitor.visit(this, data); } private String value; public void setValue(String val) { value = val.substring(1, val.length() - 1); } public String getValue() { return value; } } 1.1 jboss-aop/src/main/org/jboss/aop/annotation/ast/AnnotationParser.java Index: AnnotationParser.java =================================================================== /* Generated By:JJTree&JavaCC: Do not edit this line. AnnotationParser.java */ package org.jboss.aop.annotation.ast; public class AnnotationParser/*@bgen(jjtree)*/implements AnnotationParserTreeConstants, AnnotationParserConstants {/*@bgen(jjtree)*/ protected JJTAnnotationParserState jjtree = new JJTAnnotationParserState(); final public ASTStart Start() throws ParseException { /*@bgen(jjtree) Start */ ASTStart jjtn000 = new ASTStart(JJTSTART); boolean jjtc000 = true; jjtree.openNodeScope(jjtn000); try { Annotation(); switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case 7: jj_consume_token(7); break; case 8: jj_consume_token(8); break; case 0: jj_consume_token(0); break; default: jj_la1[0] = jj_gen; jj_consume_token(-1); throw new ParseException(); } jjtree.closeNodeScope(jjtn000, true); jjtc000 = false; {if (true) return jjtn000;} } catch (Throwable jjte000) { if (jjtc000) { jjtree.clearNodeScope(jjtn000); jjtc000 = false; } else { jjtree.popNode(); } if (jjte000 instanceof RuntimeException) { {if (true) throw (RuntimeException)jjte000;} } if (jjte000 instanceof ParseException) { {if (true) throw (ParseException)jjte000;} } {if (true) throw (Error)jjte000;} } finally { if (jjtc000) { jjtree.closeNodeScope(jjtn000, true); } } throw new Error("Missing return statement in function"); } final public void Annotation() throws ParseException { /*@bgen(jjtree) Annotation */ ASTAnnotation jjtn000 = new ASTAnnotation(JJTANNOTATION); boolean jjtc000 = true; jjtree.openNodeScope(jjtn000);Token tok; try { jj_consume_token(9); tok = jj_consume_token(IDENTIFIER); jjtn000.setIdentifier(tok.image); switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case 10: jj_consume_token(10); switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case IDENTIFIER: case CHARACTER: case STRING: case 9: case 14: if (jj_2_1(2)) { MemberValuePairs(); } else { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case IDENTIFIER: case CHARACTER: case STRING: case 9: case 14: SingleMemberValue(); break; default: jj_la1[1] = jj_gen; jj_consume_token(-1); throw new ParseException(); } } break; default: jj_la1[2] = jj_gen; ; } jj_consume_token(11); break; default: jj_la1[3] = jj_gen; ; } } catch (Throwable jjte000) { if (jjtc000) { jjtree.clearNodeScope(jjtn000); jjtc000 = false; } else { jjtree.popNode(); } if (jjte000 instanceof RuntimeException) { {if (true) throw (RuntimeException)jjte000;} } if (jjte000 instanceof ParseException) { {if (true) throw (ParseException)jjte000;} } {if (true) throw (Error)jjte000;} } finally { if (jjtc000) { jjtree.closeNodeScope(jjtn000, true); } } } final public void SingleMemberValue() throws ParseException { /*@bgen(jjtree) SingleMemberValue */ ASTSingleMemberValue jjtn000 = new ASTSingleMemberValue(JJTSINGLEMEMBERVALUE); boolean jjtc000 = true; jjtree.openNodeScope(jjtn000); try { MemberValue(); } catch (Throwable jjte000) { if (jjtc000) { jjtree.clearNodeScope(jjtn000); jjtc000 = false; } else { jjtree.popNode(); } if (jjte000 instanceof RuntimeException) { {if (true) throw (RuntimeException)jjte000;} } if (jjte000 instanceof ParseException) { {if (true) throw (ParseException)jjte000;} } {if (true) throw (Error)jjte000;} } finally { if (jjtc000) { jjtree.closeNodeScope(jjtn000, true); } } } final public void MemberValuePairs() throws ParseException { /*@bgen(jjtree) MemberValuePairs */ ASTMemberValuePairs jjtn000 = new ASTMemberValuePairs(JJTMEMBERVALUEPAIRS); boolean jjtc000 = true; jjtree.openNodeScope(jjtn000); try { MemberValuePair(); label_1: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case 12: ; break; default: jj_la1[4] = jj_gen; break label_1; } jj_consume_token(12); MemberValuePair(); } } catch (Throwable jjte000) { if (jjtc000) { jjtree.clearNodeScope(jjtn000); jjtc000 = false; } else { jjtree.popNode(); } if (jjte000 instanceof RuntimeException) { {if (true) throw (RuntimeException)jjte000;} } if (jjte000 instanceof ParseException) { {if (true) throw (ParseException)jjte000;} } {if (true) throw (Error)jjte000;} } finally { if (jjtc000) { jjtree.closeNodeScope(jjtn000, true); } } } final public void MemberValuePair() throws ParseException { /*@bgen(jjtree) MemberValuePair */ ASTMemberValuePair jjtn000 = new ASTMemberValuePair(JJTMEMBERVALUEPAIR); boolean jjtc000 = true; jjtree.openNodeScope(jjtn000);Token specialToken; try { Identifier(); jj_consume_token(13); MemberValue(); } catch (Throwable jjte000) { if (jjtc000) { jjtree.clearNodeScope(jjtn000); jjtc000 = false; } else { jjtree.popNode(); } if (jjte000 instanceof RuntimeException) { {if (true) throw (RuntimeException)jjte000;} } if (jjte000 instanceof ParseException) { {if (true) throw (ParseException)jjte000;} } {if (true) throw (Error)jjte000;} } finally { if (jjtc000) { jjtree.closeNodeScope(jjtn000, true); } } } final public void MemberValue() throws ParseException { Token tok; switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case 9: Annotation(); break; case 14: MemberValueArrayInitializer(); break; case STRING: String(); break; case CHARACTER: Char(); break; case IDENTIFIER: Identifier(); break; default: jj_la1[5] = jj_gen; jj_consume_token(-1); throw new ParseException(); } } final public void MemberValueArrayInitializer() throws ParseException { /*@bgen(jjtree) MemberValueArrayInitializer */ ASTMemberValueArrayInitializer jjtn000 = new ASTMemberValueArrayInitializer(JJTMEMBERVALUEARRAYINITIALIZER); boolean jjtc000 = true; jjtree.openNodeScope(jjtn000); try { jj_consume_token(14); switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case IDENTIFIER: case CHARACTER: case STRING: case 9: case 14: MemberValue(); label_2: while (true) { if (jj_2_2(2)) { ; } else { break label_2; } jj_consume_token(12); MemberValue(); } switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case 12: jj_consume_token(12); break; default: jj_la1[6] = jj_gen; ; } break; default: jj_la1[7] = jj_gen; ; } jj_consume_token(15); } catch (Throwable jjte000) { if (jjtc000) { jjtree.clearNodeScope(jjtn000); jjtc000 = false; } else { jjtree.popNode(); } if (jjte000 instanceof RuntimeException) { {if (true) throw (RuntimeException)jjte000;} } if (jjte000 instanceof ParseException) { {if (true) throw (ParseException)jjte000;} } {if (true) throw (Error)jjte000;} } finally { if (jjtc000) { jjtree.closeNodeScope(jjtn000, true); } } } final public void Identifier() throws ParseException { /*@bgen(jjtree) Identifier */ ASTIdentifier jjtn000 = new ASTIdentifier(JJTIDENTIFIER); boolean jjtc000 = true; jjtree.openNodeScope(jjtn000);Token tok; try { tok = jj_consume_token(IDENTIFIER); jjtree.closeNodeScope(jjtn000, true); jjtc000 = false; jjtn000.setValue(tok.image); } finally { if (jjtc000) { jjtree.closeNodeScope(jjtn000, true); } } } final public void String() throws ParseException { /*@bgen(jjtree) String */ ASTString jjtn000 = new ASTString(JJTSTRING); boolean jjtc000 = true; jjtree.openNodeScope(jjtn000);Token tok; try { tok = jj_consume_token(STRING); jjtree.closeNodeScope(jjtn000, true); jjtc000 = false; jjtn000.setValue(tok.image); } finally { if (jjtc000) { jjtree.closeNodeScope(jjtn000, true); } } } final public void Char() throws ParseException { /*@bgen(jjtree) Char */ ASTChar jjtn000 = new ASTChar(JJTCHAR); boolean jjtc000 = true; jjtree.openNodeScope(jjtn000);Token tok; try { tok = jj_consume_token(CHARACTER); jjtree.closeNodeScope(jjtn000, true); jjtc000 = false; jjtn000.setValue(tok.image); } finally { if (jjtc000) { jjtree.closeNodeScope(jjtn000, true); } } } final private boolean jj_2_1(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_1(); } catch(LookaheadSuccess ls) { return true; } finally { jj_save(0, xla); } } final private boolean jj_2_2(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_2(); } catch(LookaheadSuccess ls) { return true; } finally { jj_save(1, xla); } } final private boolean jj_3R_4() { Token xsp; xsp = jj_scanpos; if (jj_3R_6()) { jj_scanpos = xsp; if (jj_3R_7()) { jj_scanpos = xsp; if (jj_3R_8()) { jj_scanpos = xsp; if (jj_3R_9()) { jj_scanpos = xsp; if (jj_3R_10()) return true; } } } } return false; } final private boolean jj_3R_6() { if (jj_3R_12()) return true; return false; } final private boolean jj_3_1() { if (jj_3R_3()) return true; return false; } final private boolean jj_3R_14() { if (jj_scan_token(STRING)) return true; return false; } final private boolean jj_3R_13() { if (jj_scan_token(14)) return true; return false; } final private boolean jj_3R_5() { if (jj_3R_11()) return true; if (jj_scan_token(13)) return true; return false; } final private boolean jj_3_2() { if (jj_scan_token(12)) return true; if (jj_3R_4()) return true; return false; } final private boolean jj_3R_10() { if (jj_3R_11()) return true; return false; } final private boolean jj_3R_9() { if (jj_3R_15()) return true; return false; } final private boolean jj_3R_12() { if (jj_scan_token(9)) return true; return false; } final private boolean jj_3R_11() { if (jj_scan_token(IDENTIFIER)) return true; return false; } final private boolean jj_3R_15() { if (jj_scan_token(CHARACTER)) return true; return false; } final private boolean jj_3R_8() { if (jj_3R_14()) return true; return false; } final private boolean jj_3R_3() { if (jj_3R_5()) return true; return false; } final private boolean jj_3R_7() { if (jj_3R_13()) return true; return false; } public AnnotationParserTokenManager token_source; SimpleCharStream jj_input_stream; public Token token, jj_nt; private int jj_ntk; private Token jj_scanpos, jj_lastpos; private int jj_la; public boolean lookingAhead = false; private boolean jj_semLA; private int jj_gen; final private int[] jj_la1 = new int[8]; static private int[] jj_la1_0; static { jj_la1_0(); } private static void jj_la1_0() { jj_la1_0 = new int[] {0x181,0x4268,0x4268,0x400,0x1000,0x4268,0x1000,0x4268,}; } final private JJCalls[] jj_2_rtns = new JJCalls[2]; private boolean jj_rescan = false; private int jj_gc = 0; public AnnotationParser(java.io.InputStream stream) { jj_input_stream = new SimpleCharStream(stream, 1, 1); token_source = new AnnotationParserTokenManager(jj_input_stream); token = new Token(); jj_ntk = -1; jj_gen = 0; for (int i = 0; i < 8; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); } public void ReInit(java.io.InputStream stream) { jj_input_stream.ReInit(stream, 1, 1); token_source.ReInit(jj_input_stream); token = new Token(); jj_ntk = -1; jjtree.reset(); jj_gen = 0; for (int i = 0; i < 8; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); } public AnnotationParser(java.io.Reader stream) { jj_input_stream = new SimpleCharStream(stream, 1, 1); token_source = new AnnotationParserTokenManager(jj_input_stream); token = new Token(); jj_ntk = -1; jj_gen = 0; for (int i = 0; i < 8; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); } public void ReInit(java.io.Reader stream) { jj_input_stream.ReInit(stream, 1, 1); token_source.ReInit(jj_input_stream); token = new Token(); jj_ntk = -1; jjtree.reset(); jj_gen = 0; for (int i = 0; i < 8; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); } public AnnotationParser(AnnotationParserTokenManager tm) { token_source = tm; token = new Token(); jj_ntk = -1; jj_gen = 0; for (int i = 0; i < 8; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); } public void ReInit(AnnotationParserTokenManager tm) { token_source = tm; token = new Token(); jj_ntk = -1; jjtree.reset(); jj_gen = 0; for (int i = 0; i < 8; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); } final private Token jj_consume_token(int kind) throws ParseException { Token oldToken; if ((oldToken = token).next != null) token = token.next; else token = token.next = token_source.getNextToken(); jj_ntk = -1; if (token.kind == kind) { jj_gen++; if (++jj_gc > 100) { jj_gc = 0; for (int i = 0; i < jj_2_rtns.length; i++) { JJCalls c = jj_2_rtns[i]; while (c != null) { if (c.gen < jj_gen) c.first = null; c = c.next; } } } return token; } token = oldToken; jj_kind = kind; throw generateParseException(); } static private final class LookaheadSuccess extends java.lang.Error { } final private LookaheadSuccess jj_ls = new LookaheadSuccess(); final private boolean jj_scan_token(int kind) { if (jj_scanpos == jj_lastpos) { jj_la--; if (jj_scanpos.next == null) { jj_lastpos = jj_scanpos = jj_scanpos.next = token_source.getNextToken(); } else { jj_lastpos = jj_scanpos = jj_scanpos.next; } } else { jj_scanpos = jj_scanpos.next; } if (jj_rescan) { int i = 0; Token tok = token; while (tok != null && tok != jj_scanpos) { i++; tok = tok.next; } if (tok != null) jj_add_error_token(kind, i); } if (jj_scanpos.kind != kind) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) throw jj_ls; return false; } final public Token getNextToken() { if (token.next != null) token = token.next; else token = token.next = token_source.getNextToken(); jj_ntk = -1; jj_gen++; return token; } final public Token getToken(int index) { Token t = lookingAhead ? jj_scanpos : token; for (int i = 0; i < index; i++) { if (t.next != null) t = t.next; else t = t.next = token_source.getNextToken(); } return t; } final private int jj_ntk() { if ((jj_nt=token.next) == null) return (jj_ntk = (token.next=token_source.getNextToken()).kind); else return (jj_ntk = jj_nt.kind); } private java.util.Vector jj_expentries = new java.util.Vector(); private int[] jj_expentry; private int jj_kind = -1; private int[] jj_lasttokens = new int[100]; private int jj_endpos; private void jj_add_error_token(int kind, int pos) { if (pos >= 100) return; if (pos == jj_endpos + 1) { jj_lasttokens[jj_endpos++] = kind; } else if (jj_endpos != 0) { jj_expentry = new int[jj_endpos]; for (int i = 0; i < jj_endpos; i++) { jj_expentry[i] = jj_lasttokens[i]; } boolean exists = false; for (java.util.Enumeration e = jj_expentries.elements(); e.hasMoreElements();) { int[] oldentry = (int[])(e.nextElement()); if (oldentry.length == jj_expentry.length) { exists = true; for (int i = 0; i < jj_expentry.length; i++) { if (oldentry[i] != jj_expentry[i]) { exists = false; break; } } if (exists) break; } } if (!exists) jj_expentries.addElement(jj_expentry); if (pos != 0) jj_lasttokens[(jj_endpos = pos) - 1] = kind; } } public ParseException generateParseException() { jj_expentries.removeAllElements(); boolean[] la1tokens = new boolean[16]; for (int i = 0; i < 16; i++) { la1tokens[i] = false; } if (jj_kind >= 0) { la1tokens[jj_kind] = true; jj_kind = -1; } for (int i = 0; i < 8; i++) { if (jj_la1[i] == jj_gen) { for (int j = 0; j < 32; j++) { if ((jj_la1_0[i] & (1<<j)) != 0) { la1tokens[j] = true; } } } } for (int i = 0; i < 16; i++) { if (la1tokens[i]) { jj_expentry = new int[1]; jj_expentry[0] = i; jj_expentries.addElement(jj_expentry); } } jj_endpos = 0; jj_rescan_token(); jj_add_error_token(0, 0); int[][] exptokseq = new int[jj_expentries.size()][]; for (int i = 0; i < jj_expentries.size(); i++) { exptokseq[i] = (int[])jj_expentries.elementAt(i); } return new ParseException(token, exptokseq, tokenImage); } final public void enable_tracing() { } final public void disable_tracing() { } final private void jj_rescan_token() { jj_rescan = true; for (int i = 0; i < 2; i++) { JJCalls p = jj_2_rtns[i]; do { if (p.gen > jj_gen) { jj_la = p.arg; jj_lastpos = jj_scanpos = p.first; switch (i) { case 0: jj_3_1(); break; case 1: jj_3_2(); break; } } p = p.next; } while (p != null); } jj_rescan = false; } final private void jj_save(int index, int xla) { JJCalls p = jj_2_rtns[index]; while (p.gen > jj_gen) { if (p.next == null) { p = p.next = new JJCalls(); break; } p = p.next; } p.gen = jj_gen + xla - jj_la; p.first = token; p.arg = xla; } static final class JJCalls { int gen; Token first; int arg; JJCalls next; } } 1.1 jboss-aop/src/main/org/jboss/aop/annotation/ast/AnnotationParserConstants.java Index: AnnotationParserConstants.java =================================================================== /* Generated By:JJTree&JavaCC: Do not edit this line. AnnotationParserConstants.java */ package org.jboss.aop.annotation.ast; public interface AnnotationParserConstants { int EOF = 0; int IDENTIFIER = 3; int LETTER = 4; int CHARACTER = 5; int STRING = 6; int DEFAULT = 0; String[] tokenImage = { "<EOF>", "\" \"", "\"\\t\"", "<IDENTIFIER>", "<LETTER>", "<CHARACTER>", "<STRING>", "\"\\r\\n\"", "\"\\n\"", "\"@\"", "\"(\"", "\")\"", "\",\"", "\"=\"", "\"{\"", "\"}\"", }; } 1.1 jboss-aop/src/main/org/jboss/aop/annotation/ast/AnnotationParserTester.java Index: AnnotationParserTester.java =================================================================== package org.jboss.aop.annotation.ast; import java.io.StringReader; public class AnnotationParserTester implements AnnotationParserVisitor { private int indent = 0; private String indentString() { StringBuffer sb = new StringBuffer(); for (int i = 0; i < indent; ++i) { sb.append(" "); } return sb.toString(); } public Object visit(ASTSingleMemberValue node, Object data) { System.out.println(indentString() + node); ++indent; data = node.childrenAccept(this, data); --indent; return data; } public Object visit(SimpleNode node, Object data) { System.out.println(indentString() + node + ": acceptor not unimplemented in subclass?"); ++indent; data = node.childrenAccept(this, data); --indent; return data; } public Object visit(ASTStart node, Object data) { System.out.println(indentString() + node); ++indent; data = node.childrenAccept(this, data); --indent; return data; } public Object visit(ASTAnnotation node, Object data) { System.out.println(indentString() + node); ++indent; data = node.childrenAccept(this, data); --indent; return data; } public Object visit(ASTMemberValuePairs node, Object data) { System.out.println(indentString() + node); ++indent; data = node.childrenAccept(this, data); --indent; return data; } public Object visit(ASTMemberValuePair node, Object data) { System.out.println(indentString() + node); ++indent; data = node.childrenAccept(this, data); --indent; return data; } public Object visit(ASTMemberValueArrayInitializer node, Object data) { System.out.println(indentString() + node); ++indent; data = node.childrenAccept(this, data); --indent; return data; } public Object visit(ASTIdentifier node, Object data) { System.out.println(indentString() + node); ++indent; data = node.childrenAccept(this, data); --indent; return data; } public Object visit(ASTString node, Object data) { System.out.println(indentString() + node); ++indent; data = node.childrenAccept(this, data); --indent; return data; } public Object visit(ASTChar node, Object data) { System.out.println(indentString() + node); ++indent; data = node.childrenAccept(this, data); --indent; return data; } public static void main(String args[]) { // System.out.println("----" + args[0]); // StringReader reader = new StringReader(args[0]); System.out.println("Reading from stdin"); AnnotationParser t = new AnnotationParser(System.in); //PointcutExpressionParser t = new PointcutExpressionParser(System.in); try { ASTStart n = t.Start(); AnnotationParserVisitor v = new AnnotationParserTester(); n.jjtAccept(v, null); } catch (Exception e) { System.out.println("Oops."); System.out.println(e.getMessage()); e.printStackTrace(); } } } /*end*/ 1.1 jboss-aop/src/main/org/jboss/aop/annotation/ast/AnnotationParserTester.java~ Index: AnnotationParserTester.java~ =================================================================== import java.io.StringReader; public class AnnotationParserTester implements AnnotationParserVisitor { private int indent = 0; private String indentString() { StringBuffer sb = new StringBuffer(); for (int i = 0; i < indent; ++i) { sb.append(" "); } return sb.toString(); } public Object visit(SimpleNode node, Object data) { System.out.println(indentString() + node + ": acceptor not unimplemented in subclass?"); ++indent; data = node.childrenAccept(this, data); --indent; return data; } public Object visit(ASTStart node, Object data) { System.out.println(indentString() + node); ++indent; data = node.childrenAccept(this, data); --indent; return data; } public Object visit(ASTAnnotation node, Object data) { System.out.println(indentString() + node); ++indent; data = node.childrenAccept(this, data); --indent; return data; } public Object visit(ASTMemberValuePairs node, Object data) { System.out.println(indentString() + node); ++indent; data = node.childrenAccept(this, data); --indent; return data; } public Object visit(ASTMemberValuePair node, Object data) { System.out.println(indentString() + node); ++indent; data = node.childrenAccept(this, data); --indent; return data; } public Object visit(ASTMemberValue node, Object data) { System.out.println(indentString() + node); ++indent; data = node.childrenAccept(this, data); --indent; return data; } public Object visit(ASTMemberValueArrayInitializer node, Object data) { System.out.println(indentString() + node); ++indent; data = node.childrenAccept(this, data); --indent; return data; } public Object visit(ASTIdentifier node, Object data) { System.out.println(indentString() + node); ++indent; data = node.childrenAccept(this, data); --indent; return data; } public Object visit(ASTString node, Object data) { System.out.println(indentString() + node); ++indent; data = node.childrenAccept(this, data); --indent; return data; } public Object visit(ASTChar node, Object data) { System.out.println(indentString() + node); ++indent; data = node.childrenAccept(this, data); --indent; return data; } public static void main(String args[]) { // System.out.println("----" + args[0]); // StringReader reader = new StringReader(args[0]); System.out.println("Reading from stdin"); AnnotationParser t = new AnnotationParser(System.in); //PointcutExpressionParser t = new PointcutExpressionParser(System.in); try { ASTStart n = t.Start(); AnnotationParserVisitor v = new AnnotationParserTester(); n.jjtAccept(v, null); } catch (Exception e) { System.out.println("Oops."); System.out.println(e.getMessage()); e.printStackTrace(); } } } /*end*/ 1.1 jboss-aop/src/main/org/jboss/aop/annotation/ast/AnnotationParserTokenManager.java Index: AnnotationParserTokenManager.java =================================================================== /* Generated By:JJTree&JavaCC: Do not edit this line. AnnotationParserTokenManager.java */ package org.jboss.aop.annotation.ast; public class AnnotationParserTokenManager implements AnnotationParserConstants { public java.io.PrintStream debugStream = System.out; public void setDebugStream(java.io.PrintStream ds) { debugStream = ds; } private final int jjStopStringLiteralDfa_0(int pos, long active0) { switch (pos) { default : return -1; } } private final int jjStartNfa_0(int pos, long active0) { return jjMoveNfa_0(jjStopStringLiteralDfa_0(pos, active0), pos + 1); } private final int jjStopAtPos(int pos, int kind) { jjmatchedKind = kind; jjmatchedPos = pos; return pos + 1; } private final int jjStartNfaWithStates_0(int pos, int kind, int state) { jjmatchedKind = kind; jjmatchedPos = pos; try { curChar = input_stream.readChar(); } catch(java.io.IOException e) { return pos + 1; } return jjMoveNfa_0(state, pos + 1); } private final int jjMoveStringLiteralDfa0_0() { switch(curChar) { case 10: return jjStopAtPos(0, 8); case 13: return jjMoveStringLiteralDfa1_0(0x80L); case 40: return jjStopAtPos(0, 10); case 41: return jjStopAtPos(0, 11); case 44: return jjStopAtPos(0, 12); case 61: return jjStopAtPos(0, 13); case 64: return jjStopAtPos(0, 9); case 123: return jjStopAtPos(0, 14); case 125: return jjStopAtPos(0, 15); default : return jjMoveNfa_0(1, 0); } } private final int jjMoveStringLiteralDfa1_0(long active0) { try { curChar = input_stream.readChar(); } catch(java.io.IOException e) { jjStopStringLiteralDfa_0(0, active0); return 1; } switch(curChar) { case 10: if ((active0 & 0x80L) != 0L) return jjStopAtPos(1, 7); break; default : break; } return jjStartNfa_0(0, active0); } private final void jjCheckNAdd(int state) { if (jjrounds[state] != jjround) { jjstateSet[jjnewStateCnt++] = state; jjrounds[state] = jjround; } } private final void jjAddStates(int start, int end) { do { jjstateSet[jjnewStateCnt++] = jjnextStates[start]; } while (start++ != end); } private final void jjCheckNAddTwoStates(int state1, int state2) { jjCheckNAdd(state1); jjCheckNAdd(state2); } private final void jjCheckNAddStates(int start, int end) { do { jjCheckNAdd(jjnextStates[start]); } while (start++ != end); } private final void jjCheckNAddStates(int start) { jjCheckNAdd(jjnextStates[start]); jjCheckNAdd(jjnextStates[start + 1]); } static final long[] jjbitVec0 = { 0x0L, 0x0L, 0xffffffffffffffffL, 0xffffffffffffffffL }; private final int jjMoveNfa_0(int startState, int curPos) { int[] nextStates; int startsAt = 0; jjnewStateCnt = 27; int i = 1; jjstateSet[0] = startState; int j, kind = 0x7fffffff; for (;;) { if (++jjround == 0x7fffffff) ReInitRounds(); if (curChar < 64) { long l = 1L << curChar; MatchLoop: do { switch(jjstateSet[--i]) { case 1: if ((0x3ff401000000000L & l) != 0L) { if (kind > 3) kind = 3; jjCheckNAdd(0); } else if (curChar == 34) jjCheckNAddStates(0, 2); else if (curChar == 39) jjAddStates(3, 4); break; case 0: if ((0x3ff401000000000L & l) == 0L) break; if (kind > 3) kind = 3; jjCheckNAdd(0); break; case 2: if ((0xffffff7fffffdbffL & l) != 0L) jjCheckNAdd(3); break; case 3: if (curChar == 39 && kind > 5) kind = 5; break; case 5: if ((0x8000008400000000L & l) != 0L) jjCheckNAdd(3); break; case 6: if (curChar == 48) jjCheckNAddTwoStates(7, 3); break; case 7: if ((0xff000000000000L & l) != 0L) jjCheckNAddTwoStates(7, 3); break; case 8: if ((0x3fe000000000000L & l) != 0L) jjCheckNAddTwoStates(9, 3); break; case 9: if ((0x3ff000000000000L & l) != 0L) jjCheckNAddTwoStates(9, 3); break; case 10: if (curChar == 48) jjAddStates(5, 6); break; case 12: if ((0x3ff000000000000L & l) != 0L) jjCheckNAddTwoStates(12, 3); break; case 14: if (curChar == 34) jjCheckNAddStates(0, 2); break; case 15: if ((0xfffffffbffffdbffL & l) != 0L) jjCheckNAddStates(0, 2); break; case 17: if ((0x8000008400000000L & l) != 0L) jjCheckNAddStates(0, 2); break; case 18: if (curChar == 34 && kind > 6) kind = 6; break; case 19: if (curChar == 48) jjCheckNAddStates(7, 10); break; case 20: if ((0xff000000000000L & l) != 0L) jjCheckNAddStates(7, 10); break; case 21: if ((0x3fe000000000000L & l) != 0L) jjCheckNAddStates(11, 14); break; case 22: if ((0x3ff000000000000L & l) != 0L) jjCheckNAddStates(11, 14); break; case 23: if (curChar == 48) jjAddStates(15, 16); break; case 25: if ((0x3ff000000000000L & l) != 0L) jjCheckNAddStates(17, 20); break; default : break; } } while(i != startsAt); } else if (curChar < 128) { long l = 1L << (curChar & 077); MatchLoop: do { switch(jjstateSet[--i]) { case 1: case 0: if ((0x7fffffe87fffffeL & l) == 0L) break; if (kind > 3) kind = 3; jjCheckNAdd(0); break; case 2: if ((0xffffffffefffffffL & l) != 0L) jjCheckNAdd(3); break; case 4: if (curChar == 92) jjAddStates(21, 24); break; case 5: if ((0x54404610000000L & l) != 0L) jjCheckNAdd(3); break; case 11: if (curChar == 120) jjCheckNAdd(12); break; case 12: if ((0x7e0000007eL & l) != 0L) jjCheckNAddTwoStates(12, 3); break; case 13: if (curChar == 88) jjCheckNAdd(12); break; case 15: if ((0xffffffffefffffffL & l) != 0L) jjCheckNAddStates(0, 2); break; case 16: if (curChar == 92) jjAddStates(25, 28); break; case 17: if ((0x54404610000000L & l) != 0L) jjCheckNAddStates(0, 2); break; case 24: if (curChar == 120) jjCheckNAdd(25); break; case 25: if ((0x7e0000007eL & l) != 0L) jjCheckNAddStates(17, 20); break; case 26: if (curChar == 88) jjCheckNAdd(25); break; default : break; } } while(i != startsAt); } else { int i2 = (curChar & 0xff) >> 6; long l2 = 1L << (curChar & 077); MatchLoop: do { switch(jjstateSet[--i]) { case 2: if ((jjbitVec0[i2] & l2) != 0L) jjstateSet[jjnewStateCnt++] = 3; break; case 15: if ((jjbitVec0[i2] & l2) != 0L) jjAddStates(0, 2); break; default : break; } } while(i != startsAt); } if (kind != 0x7fffffff) { jjmatchedKind = kind; jjmatchedPos = curPos; kind = 0x7fffffff; } ++curPos; if ((i = jjnewStateCnt) == (startsAt = 27 - (jjnewStateCnt = startsAt))) return curPos; try { curChar = input_stream.readChar(); } catch(java.io.IOException e) { return curPos; } } } static final int[] jjnextStates = { 15, 16, 18, 2, 4, 11, 13, 15, 16, 20, 18, 15, 16, 22, 18, 24, 26, 15, 16, 25, 18, 5, 6, 8, 10, 17, 19, 21, 23, }; public static final String[] jjstrLiteralImages = { "", null, null, null, null, null, null, "\15\12", "\12", "\100", "\50", "\51", "\54", "\75", "\173", "\175", }; public static final String[] lexStateNames = { "DEFAULT", }; static final long[] jjtoToken = { 0xffe9L, }; static final long[] jjtoSkip = { 0x6L, }; protected SimpleCharStream input_stream; private final int[] jjrounds = new int[27]; private final int[] jjstateSet = new int[54]; protected char curChar; public AnnotationParserTokenManager(SimpleCharStream stream) { if (SimpleCharStream.staticFlag) throw new Error("ERROR: Cannot use a static CharStream class with a non-static lexical analyzer."); input_stream = stream; } public AnnotationParserTokenManager(SimpleCharStream stream, int lexState) { this(stream); SwitchTo(lexState); } public void ReInit(SimpleCharStream stream) { jjmatchedPos = jjnewStateCnt = 0; curLexState = defaultLexState; input_stream = stream; ReInitRounds(); } private final void ReInitRounds() { int i; jjround = 0x80000001; for (i = 27; i-- > 0;) jjrounds[i] = 0x80000000; } public void ReInit(SimpleCharStream stream, int lexState) { ReInit(stream); SwitchTo(lexState); } public void SwitchTo(int lexState) { if (lexState >= 1 || lexState < 0) throw new TokenMgrError("Error: Ignoring invalid lexical state : " + lexState + ". State unchanged.", TokenMgrError.INVALID_LEXICAL_STATE); else curLexState = lexState; } protected Token jjFillToken() { Token t = Token.newToken(jjmatchedKind); t.kind = jjmatchedKind; String im = jjstrLiteralImages[jjmatchedKind]; t.image = (im == null) ? input_stream.GetImage() : im; t.beginLine = input_stream.getBeginLine(); t.beginColumn = input_stream.getBeginColumn(); t.endLine = input_stream.getEndLine(); t.endColumn = input_stream.getEndColumn(); return t; } int curLexState = 0; int defaultLexState = 0; int jjnewStateCnt; int jjround; int jjmatchedPos; int jjmatchedKind; public Token getNextToken() { int kind; Token specialToken = null; Token matchedToken; int curPos = 0; EOFLoop : for (;;) { try { curChar = input_stream.BeginToken(); } catch(java.io.IOException e) { jjmatchedKind = 0; matchedToken = jjFillToken(); return matchedToken; } try { input_stream.backup(0); while (curChar <= 32 && (0x100000200L & (1L << curChar)) != 0L) curChar = input_stream.BeginToken(); } catch (java.io.IOException e1) { continue EOFLoop; } jjmatchedKind = 0x7fffffff; jjmatchedPos = 0; curPos = jjMoveStringLiteralDfa0_0(); if (jjmatchedKind != 0x7fffffff) { if (jjmatchedPos + 1 < curPos) input_stream.backup(curPos - jjmatchedPos - 1); if ((jjtoToken[jjmatchedKind >> 6] & (1L << (jjmatchedKind & 077))) != 0L) { matchedToken = jjFillToken(); return matchedToken; } else { continue EOFLoop; } } int error_line = input_stream.getEndLine(); int error_column = input_stream.getEndColumn(); String error_after = null; boolean EOFSeen = false; try { input_stream.readChar(); input_stream.backup(1); } catch (java.io.IOException e1) { EOFSeen = true; error_after = curPos <= 1 ? "" : input_stream.GetImage(); if (curChar == '\n' || curChar == '\r') { error_line++; error_column = 0; } else error_column++; } if (!EOFSeen) { input_stream.backup(1); error_after = curPos <= 1 ? "" : input_stream.GetImage(); } throw new TokenMgrError(EOFSeen, curLexState, error_line, error_column, error_after, curChar, TokenMgrError.LEXICAL_ERROR); } } } 1.1 jboss-aop/src/main/org/jboss/aop/annotation/ast/AnnotationParserTreeConstants.java Index: AnnotationParserTreeConstants.java =================================================================== /* Generated By:JJTree: Do not edit this line. AnnotationParserTreeConstants.java */ package org.jboss.aop.annotation.ast; public interface AnnotationParserTreeConstants { public int JJTSTART = 0; public int JJTANNOTATION = 1; public int JJTSINGLEMEMBERVALUE = 2; public int JJTMEMBERVALUEPAIRS = 3; public int JJTMEMBERVALUEPAIR = 4; public int JJTVOID = 5; public int JJTMEMBERVALUEARRAYINITIALIZER = 6; public int JJTIDENTIFIER = 7; public int JJTSTRING = 8; public int JJTCHAR = 9; public String[] jjtNodeName = { "Start", "Annotation", "SingleMemberValue", "MemberValuePairs", "MemberValuePair", "void", "MemberValueArrayInitializer", "Identifier", "String", "Char", }; } 1.1 jboss-aop/src/main/org/jboss/aop/annotation/ast/AnnotationParserVisitor.java Index: AnnotationParserVisitor.java =================================================================== /* Generated By:JJTree: Do not edit this line. AnnotationParserVisitor.java */ package org.jboss.aop.annotation.ast; public interface AnnotationParserVisitor { public Object visit(SimpleNode node, Object data); public Object visit(ASTStart node, Object data); public Object visit(ASTAnnotation node, Object data); public Object visit(ASTSingleMemberValue node, Object data); public Object visit(ASTMemberValuePairs node, Object data); public Object visit(ASTMemberValuePair node, Object data); public Object visit(ASTMemberValueArrayInitializer node, Object data); public Object visit(ASTIdentifier node, Object data); public Object visit(ASTString node, Object data); public Object visit(ASTChar node, Object data); } 1.1 jboss-aop/src/main/org/jboss/aop/annotation/ast/JJTAnnotationParserState.java Index: JJTAnnotationParserState.java =================================================================== /* Generated By:JJTree: Do not edit this line. JJTAnnotationParserState.java */ package org.jboss.aop.annotation.ast; class JJTAnnotationParserState { private java.util.Stack nodes; private java.util.Stack marks; private int sp; // number of nodes on stack private int mk; // current mark private boolean node_created; JJTAnnotationParserState() { nodes = new java.util.Stack(); marks = new java.util.Stack(); sp = 0; mk = 0; } /* Determines whether the current node was actually closed and pushed. This should only be called in the final user action of a node scope. */ boolean nodeCreated() { return node_created; } /* Call this to reinitialize the node stack. It is called automatically by the parser's ReInit() method. */ void reset() { nodes.removeAllElements(); marks.removeAllElements(); sp = 0; mk = 0; } /* Returns the root node of the AST. It only makes sense to call this after a successful parse. */ Node rootNode() { return (Node)nodes.elementAt(0); } /* Pushes a node on to the stack. */ void pushNode(Node n) { nodes.push(n); ++sp; } /* Returns the node on the top of the stack, and remove it from the stack. */ Node popNode() { if (--sp < mk) { mk = ((Integer)marks.pop()).intValue(); } return (Node)nodes.pop(); } /* Returns the node currently on the top of the stack. */ Node peekNode() { return (Node)nodes.peek(); } /* Returns the number of children on the stack in the current node scope. */ int nodeArity() { return sp - mk; } void clearNodeScope(Node n) { while (sp > mk) { popNode(); } mk = ((Integer)marks.pop()).intValue(); } void openNodeScope(Node n) { marks.push(new Integer(mk)); mk = sp; n.jjtOpen(); } /* A definite node is constructed from a specified number of children. That number of nodes are popped from the stack and made the children of the definite node. Then the definite node is pushed on to the stack. */ void closeNodeScope(Node n, int num) { mk = ((Integer)marks.pop()).intValue(); while (num-- > 0) { Node c = popNode(); c.jjtSetParent(n); n.jjtAddChild(c, num); } n.jjtClose(); pushNode(n); node_created = true; } /* A conditional node is constructed if its condition is true. All the nodes that have been pushed since the node was opened are made children of the the conditional node, which is then pushed on to the stack. If the condition is false the node is not constructed and they are left on the stack. */ void closeNodeScope(Node n, boolean condition) { if (condition) { int a = nodeArity(); mk = ((Integer)marks.pop()).intValue(); while (a-- > 0) { Node c = popNode(); c.jjtSetParent(n); n.jjtAddChild(c, a); } n.jjtClose(); pushNode(n); node_created = true; } else { mk = ((Integer)marks.pop()).intValue(); node_created = false; } } } 1.1 jboss-aop/src/main/org/jboss/aop/annotation/ast/Node.java Index: Node.java =================================================================== /* Generated By:JJTree: Do not edit this line. Node.java */ package org.jboss.aop.annotation.ast; /* All AST nodes must implement this interface. It provides basic machinery for constructing the parent and child relationships between nodes. */ public interface Node { /** This method is called after the node has been made the current node. It indicates that child nodes can now be added to it. */ public void jjtOpen(); /** This method is called after all the child nodes have been added. */ public void jjtClose(); /** This pair of methods are used to inform the node of its parent. */ public void jjtSetParent(Node n); public Node jjtGetParent(); /** This method tells the node to add its argument to the node's list of children. */ public void jjtAddChild(Node n, int i); /** This method returns a child node. The children are numbered from zero, left to right. */ public Node jjtGetChild(int i); /** Return the number of children the node has. */ public int jjtGetNumChildren(); /** Accept the visitor. **/ public Object jjtAccept(AnnotationParserVisitor visitor, Object data); } 1.1 jboss-aop/src/main/org/jboss/aop/annotation/ast/ParseException.java Index: ParseException.java =================================================================== /* Generated By:Java... [truncated message content] |