User: rinkrank
  Date: 02/02/22 12:22:31

  Modified:    javacc   Java1.2-b.jjt
  Log:
  Implemented flyweight for ParameterImpl. Sorry Ara, that overwrites your 
optimisation.
  Added signature() to ClassDump
  Bypassed XJavaDocRunner
  
  There is a problem now. It's much slower, and 300000 SimpleNodes are generated!
  I'll try to fix it tomorrow. Seems there is too much parsing going on.
  
  Aslak
  
  Revision  Changes    Path
  1.9       +31 -11    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.8
  retrieving revision 1.9
  diff -u -w -r1.8 -r1.9
  --- Java1.2-b.jjt     22 Feb 2002 18:14:50 -0000      1.8
  +++ Java1.2-b.jjt     22 Feb 2002 20:22:31 -0000      1.9
  @@ -63,8 +63,8 @@
   
      private static SourceClass _sourceClass;
      private static MethodImpl _methodImpl;
  +   private static AbstractExecutableMember _executableMember;
      private static FieldImpl _fieldImpl;
  -   private static XExecutableMember _executableMember;
   
      private static Token getJavaDocSpecialToken(Token t) {
         Token result = null;
  @@ -104,7 +104,7 @@
         if( nameList != null ) {
            StringTokenizer st = new StringTokenizer(nameList, ",");
            while( st.hasMoreTokens() ) {
  -            _methodImpl.addThrownException( st.nextToken() );
  +            _executableMember.addThrownException( st.nextToken() );
            }
         }
      }
  @@ -810,24 +810,44 @@
   {
     [ "final" ] type=Type() variable=VariableDeclaratorId()
     {
  -     ParameterImpl param = new ParameterImpl( 
  -        _executableMember,
  -        type.type,
  -        variable.type,
  -        type.dimension + variable.dimension
  -     );
  +      _executableMember.addParameterData(type.type,variable.type,type.dimension + 
variable.dimension);
     }
   }
   
   void ConstructorDeclaration() :
  -{}
   {
  -  [ "public" | "protected" | "private" ]
  -  <IDENTIFIER> FormalParameters() [ "throws" NameList() ]
  +   Token t;
  +   ConstructorImpl constructor = new ConstructorImpl(_sourceClass, null);
  +   _executableMember = constructor;
  +   String exceptions = null;
  +}
  +{
  +  [ 
  +  t="public" { 
  +       constructor.addModifier( Modifier.PUBLIC );
  +       constructor.setToken( t );
  +       constructor.setDoc(getJavaDocSpecialToken( t ));
  +    }
  +  | t="protected" { 
  +       constructor.addModifier( Modifier.PROTECTED );
  +       constructor.setToken( t );
  +       constructor.setDoc(getJavaDocSpecialToken( t ));
  +    }
  +  | t="private" { 
  +       constructor.addModifier( Modifier.PRIVATE );
  +       constructor.setToken( t );
  +       constructor.setDoc(getJavaDocSpecialToken( t ));
  +    }
  +  ]
  +  <IDENTIFIER> FormalParameters() [ "throws" exceptions=NameList() ]
     "{"
       [ LOOKAHEAD(ExplicitConstructorInvocation()) ExplicitConstructorInvocation() ]
       ( BlockStatement() )*
     "}"
  +  {
  +     setExceptions( exceptions );
  +     _sourceClass.addConstructor(constructor);
  +  }
   }
   
   void ExplicitConstructorInvocation() :
  
  
  

_______________________________________________
Xdoclet-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/xdoclet-devel

Reply via email to