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 &lt;email: pcal-at-bea-dot-com&gt;
  @@ -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