User: ara_e_w
Date: 02/02/22 10:14:50
Modified: javacc Java1.2-b.jjt
Log:
support for fields: XField/FieldImpl/... and a test case
Revision Changes Path
1.8 +60 -3 xjavadoc/javacc/Java1.2-b.jjt
Index: Java1.2-b.jjt
===================================================================
RCS file: /cvsroot/xdoclet/xjavadoc/javacc/Java1.2-b.jjt,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -w -r1.7 -r1.8
--- Java1.2-b.jjt 20 Feb 2002 00:12:03 -0000 1.7
+++ Java1.2-b.jjt 22 Feb 2002 18:14:50 -0000 1.8
@@ -63,6 +63,7 @@
private static SourceClass _sourceClass;
private static MethodImpl _methodImpl;
+ private static FieldImpl _fieldImpl;
private static XExecutableMember _executableMember;
private static Token getJavaDocSpecialToken(Token t) {
@@ -627,10 +628,66 @@
}
void FieldDeclaration() :
-{}
{
- ( "public" | "protected" | "private" | "static" | "final" | "transient" |
"volatile" )*
- Type() VariableDeclarator() ( "," VariableDeclarator() )* ";"
+ Token t;
+ Type type;
+ _fieldImpl = new FieldImpl(_sourceClass, null);
+}
+{
+ (
+ t="public" {
+ _fieldImpl.addModifier( Modifier.PUBLIC );
+ _fieldImpl.setToken( t );
+ _fieldImpl.setDoc(getJavaDocSpecialToken( t ));
+ }
+ | t="protected" {
+ _fieldImpl.addModifier( Modifier.PROTECTED );
+ _fieldImpl.setToken( t );
+ _fieldImpl.setDoc(getJavaDocSpecialToken( t ));
+ }
+ | t="private" {
+ _fieldImpl.addModifier( Modifier.PRIVATE );
+ _fieldImpl.setToken( t );
+ _fieldImpl.setDoc(getJavaDocSpecialToken( t ));
+ }
+ | t="static" {
+ _fieldImpl.addModifier( Modifier.STATIC );
+ _fieldImpl.setToken( t );
+ _fieldImpl.setDoc(getJavaDocSpecialToken( t ));
+ }
+ | t="final" {
+ _fieldImpl.addModifier( Modifier.FINAL );
+ _fieldImpl.setToken( t );
+ _fieldImpl.setDoc(getJavaDocSpecialToken( t ));
+ }
+ | t="transient" {
+ _fieldImpl.addModifier( Modifier.TRANSIENT );
+ _fieldImpl.setToken( t );
+ _fieldImpl.setDoc(getJavaDocSpecialToken( t ));
+ }
+ | t="volatile" {
+ _fieldImpl.addModifier( Modifier.VOLATILE );
+ _fieldImpl.setToken( t );
+ _fieldImpl.setDoc(getJavaDocSpecialToken( t ));
+ }
+ )*
+ type=Type() FieldDeclarator(type) ( "," FieldDeclarator(type) )* ";"
+ {
+ _fieldImpl.setType(type.type);
+ _fieldImpl.setDimension(type.dimension);
+ _sourceClass.addField(_fieldImpl);
+ }
+}
+
+void FieldDeclarator(Type type) :
+{
+ Type variable;
+}
+{
+ variable=VariableDeclaratorId() [ "=" VariableInitializer() ] {
+ _fieldImpl.setName( variable.type );
+ _fieldImpl.setDimension( type.dimension + variable.dimension );
+ }
}
void VariableDeclarator() :
_______________________________________________
Xdoclet-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/xdoclet-devel