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