User: ara_e_w
Date: 02/03/18 14:11:50
Modified: core/src/xdoclet/tags Tag: XJAVADOC_REFACTORING
AbstractProgramElementTagsHandler.java
TypeTagsHandler.java
Log:
well, ejbdoclet/webdoclet builds and compiles now
Revision Changes Path
No revision
No revision
1.23.2.2 +2 -2
xdoclet/core/src/xdoclet/tags/AbstractProgramElementTagsHandler.java
Index: AbstractProgramElementTagsHandler.java
===================================================================
RCS file:
/cvsroot/xdoclet/xdoclet/core/src/xdoclet/tags/AbstractProgramElementTagsHandler.java,v
retrieving revision 1.23.2.1
retrieving revision 1.23.2.2
diff -u -w -r1.23.2.1 -r1.23.2.2
--- AbstractProgramElementTagsHandler.java 16 Mar 2002 18:22:05 -0000
1.23.2.1
+++ AbstractProgramElementTagsHandler.java 18 Mar 2002 22:11:50 -0000
1.23.2.2
@@ -32,7 +32,7 @@
/**
* @author Ara Abrahamian ([EMAIL PROTECTED])
* @created Oct 15, 2001
- * @version $Revision: 1.23.2.1 $
+ * @version $Revision: 1.23.2.2 $
*/
public abstract class AbstractProgramElementTagsHandler extends XDocletTagSupport
{
@@ -602,7 +602,7 @@
// otherwisee (most cases), follow these rules:
// a) if superclasses == true -> handle it anyway
// b) if superclasses == false -> only handle it if
it's defined in the current class
- if( ( superclasses || ( !superclasses &&
members[j].containingClass() == cur_class ) ) && !"<clinit>".equals( members[j].name()
) )
+ if( ( superclasses || ( !superclasses &&
members[j].containingClass().equals( cur_class ) ) ) && !"<clinit>".equals(
members[j].name() ) )
{
if( already.contains( members[j] ) == false )
{
1.12.2.2 +40 -19 xdoclet/core/src/xdoclet/tags/TypeTagsHandler.java
Index: TypeTagsHandler.java
===================================================================
RCS file: /cvsroot/xdoclet/xdoclet/core/src/xdoclet/tags/TypeTagsHandler.java,v
retrieving revision 1.12.2.1
retrieving revision 1.12.2.2
diff -u -w -r1.12.2.1 -r1.12.2.2
--- TypeTagsHandler.java 16 Mar 2002 18:22:06 -0000 1.12.2.1
+++ TypeTagsHandler.java 18 Mar 2002 22:11:50 -0000 1.12.2.2
@@ -1,6 +1,7 @@
package xdoclet.tags;
import xjavadoc.XClass;
+import xjavadoc.XJavaDoc;
import xdoclet.XDocletException;
import xdoclet.XDocletTagSupport;
import xdoclet.util.Log;
@@ -15,7 +16,7 @@
*
* @author Dmitri Colebatch ([EMAIL PROTECTED])
* @created October 12, 2001
- * @version $Revision: 1.12.2.1 $
+ * @version $Revision: 1.12.2.2 $
*/
public class TypeTagsHandler extends XDocletTagSupport
{
@@ -422,28 +423,48 @@
{
String value = attributes.getProperty( "value" );
String type_name = attributes.getProperty( "type" );
+ String type_dim = "";
int extent = extractExtentType( attributes.getProperty( "extent" ) );
XClass cur_type = null;
+ String cur_dim_str = "";
- if( value == null || value.equalsIgnoreCase( "class" ) )
+ //strip away [] from type_name and put it in type_dim
+ int array_dim_in_type_name_index = type_name.indexOf( '[' );
+ if( array_dim_in_type_name_index != -1 )
{
+ type_dim = type_name.substring( array_dim_in_type_name_index );
+ type_name = type_name.substring( 0, array_dim_in_type_name_index );
+ }
+
+ if( value == null )
+ {
+ //assume return type if getCurrentMethod()!=null else assume
getCurrentClass()
+ if( getCurrentMethod() != null )
+ {
+ cur_type = getCurrentMethod().returnType();
+ cur_dim_str = getCurrentMethod().returnDimensionAsString();
+ }
+ else
cur_type = getCurrentClass();
}
+ else
+ {
+ if( value.equalsIgnoreCase( "class" ) )
+ cur_type = getCurrentClass();
else if( value.equalsIgnoreCase( "return-type" ) )
{
cur_type = getCurrentMethod().returnType();
+ cur_dim_str = getCurrentMethod().returnDimensionAsString();
}
else
{
- throw new XDocletException("value must be class or
return-type");
//full class name literally specified
- //cur_type = getDocletContext().getRoot().classNamed( value );
+ cur_type = XJavaDoc.getInstance().getXClass( value );
+ }
}
- // if the current type is null, then it must be a primitive
- if( cur_type == null &&
getCurrentMethod().returnType().qualifiedName().equals( type_name ) == condition )
- generate( template );
- else if( isOfType( cur_type, type_name, extent ) == condition )
+ //if of that type and dimension
+ if( isOfType( cur_type, type_name, extent ) == condition &&
type_dim.equals( cur_dim_str ) == condition )
generate( template );
}
_______________________________________________
Xdoclet-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/xdoclet-devel