You are viewing a plain text version of this content. The canonical link for it is here.
Posted to xmlbeans-cvs@xml.apache.org by pc...@apache.org on 2004/06/17 20:26:43 UTC
cvs commit: xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/mutable MClass.java
pcal 2004/06/17 11:26:43
Modified: v2/jam/src/org/apache/xmlbeans/impl/jam/internal/elements
BuiltinClassImpl.java ClassImpl.java
v2/jam/src/org/apache/xmlbeans/impl/jam/internal/javadoc
JavadocClassBuilder.java
v2/jam/src/org/apache/xmlbeans/impl/jam/internal/reflect
ReflectClassBuilder.java
v2/jam/src/org/apache/xmlbeans/impl/jam/mutable MClass.java
Log:
jam: support for inner classes
Revision Changes Path
1.8 +2 -0 xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/internal/elements/BuiltinClassImpl.java
Index: BuiltinClassImpl.java
===================================================================
RCS file: /home/cvs/xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/internal/elements/BuiltinClassImpl.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- BuiltinClassImpl.java 2 Apr 2004 02:41:06 -0000 1.7
+++ BuiltinClassImpl.java 17 Jun 2004 18:26:43 -0000 1.8
@@ -134,6 +134,8 @@
public MMethod addNewMethod() { nocando(); return null; }
public void removeMethod(MMethod method) { nocando(); }
public void setModifiers(int modifiers) { nocando(); }
+ public MClass addNewInnerClass(String named) { nocando(); return null; }
+ public void removeInnerClass(MClass inner) { nocando(); }
public JProperty addNewProperty(String name, JMethod m, JMethod x) {
nocando();
1.18 +16 -0 xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/internal/elements/ClassImpl.java
Index: ClassImpl.java
===================================================================
RCS file: /home/cvs/xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/internal/elements/ClassImpl.java,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -r1.17 -r1.18
--- ClassImpl.java 17 May 2004 18:59:33 -0000 1.17
+++ ClassImpl.java 17 Jun 2004 18:26:43 -0000 1.18
@@ -71,6 +71,7 @@
private ArrayList mConstructors = null;
private ArrayList mProperties = null;
private ArrayList mDeclaredProperties = null;
+ private ArrayList mInnerClasses = null;
private String[] mImports = null;
@@ -491,6 +492,21 @@
public void removeDeclaredProperty(JProperty p) {
if (mDeclaredProperties != null) mDeclaredProperties.remove(p);
+ }
+
+ public MClass addNewInnerClass(String name) {
+ MClass inner = new ClassImpl(mPackageName,
+ name,
+ getContext(),
+ getImportSpecs());
+ if (mInnerClasses == null) mInnerClasses = new ArrayList();
+ mInnerClasses.add(inner);
+ return inner;
+ }
+
+ public void removeInnerClass(MClass clazz) {
+ if (mInnerClasses == null) return;
+ mInnerClasses.remove(clazz);
}
public void setIsInterface(boolean b) { mIsInterface = b; }
1.27 +10 -0 xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/internal/javadoc/JavadocClassBuilder.java
Index: JavadocClassBuilder.java
===================================================================
RCS file: /home/cvs/xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/internal/javadoc/JavadocClassBuilder.java,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -r1.26 -r1.27
--- JavadocClassBuilder.java 28 May 2004 17:02:51 -0000 1.26
+++ JavadocClassBuilder.java 17 Jun 2004 18:26:43 -0000 1.27
@@ -239,7 +239,17 @@
for(int i=0; i<methods.length; i++) populate(dest.addNewMethod(),methods[i]);
// add the annotations
addAnnotations(dest, src);
+ // add the source position
addSourcePosition(dest,src);
+ // add any inner classes
+ ClassDoc[] inners = src.innerClasses();
+ if (inners != null) {
+ for(int i=0; i<inners.length; i++) {
+ MClass inner = dest.addNewInnerClass(inners[i].typeName());
+ inner.setArtifact(inners[i]);
+ populate(inner);
+ }
+ }
}
private void populate(MField dest, FieldDoc src) {
1.12 +15 -0 xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/internal/reflect/ReflectClassBuilder.java
Index: ReflectClassBuilder.java
===================================================================
RCS file: /home/cvs/xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/internal/reflect/ReflectClassBuilder.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- ReflectClassBuilder.java 11 May 2004 15:59:08 -0000 1.11
+++ ReflectClassBuilder.java 17 Jun 2004 18:26:43 -0000 1.12
@@ -25,6 +25,8 @@
import java.lang.reflect.Field;
import java.lang.reflect.Method;
+import com.sun.javadoc.ClassDoc;
+
/**
*
* @author Patrick Calahan <email: pcal-at-bea-dot-com>
@@ -146,6 +148,19 @@
for(int i=0; i<ctors.length; i++) populate(dest.addNewConstructor(),ctors[i]);
// add the annotations
if (mDelegate != null) mDelegate.extractAnnotations(dest,src);
+
+ // add any inner classes
+ Class[] inners = src.getDeclaredClasses();
+ if (inners != null) {
+ for(int i=0; i<inners.length; i++) {
+ String simpleName = inners[i].getName();
+ int lastDot = simpleName.lastIndexOf('.');
+ simpleName = simpleName.substring(lastDot+1);
+ MClass inner = dest.addNewInnerClass(simpleName);
+ inner.setArtifact(inners[i]);
+ populate(inner);
+ }
+ }
}
private void populate(MField dest, Field src) {
1.5 +4 -0 xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/mutable/MClass.java
Index: MClass.java
===================================================================
RCS file: /home/cvs/xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/mutable/MClass.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- MClass.java 2 Apr 2004 02:41:07 -0000 1.4
+++ MClass.java 17 Jun 2004 18:26:43 -0000 1.5
@@ -167,6 +167,10 @@
public void removeDeclaredProperty(JProperty prop);
+ public MClass addNewInnerClass(String name);
+
+ public void removeInnerClass(MClass clazz);
+
---------------------------------------------------------------------
To unsubscribe, e-mail: xmlbeans-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xmlbeans-cvs-help@xml.apache.org