Author: [email protected]
Date: Wed Apr  1 11:25:07 2009
New Revision: 5144

Modified:
     
changes/scottb/memory/dev/core/src/com/google/gwt/core/ext/typeinfo/DelegateMembers.java
     
changes/scottb/memory/dev/core/src/com/google/gwt/core/ext/typeinfo/Members.java

Log:
SQUASH into AbstractMembers, added implementation notes per feedback from  
John Tamplin.

Modified:  
changes/scottb/memory/dev/core/src/com/google/gwt/core/ext/typeinfo/DelegateMembers.java
==============================================================================
---  
changes/scottb/memory/dev/core/src/com/google/gwt/core/ext/typeinfo/DelegateMembers.java
         
(original)
+++  
changes/scottb/memory/dev/core/src/com/google/gwt/core/ext/typeinfo/DelegateMembers.java
         
Wed Apr  1 11:25:07 2009
@@ -28,6 +28,13 @@
   * {...@link JDelegatingClassType} from its corresponding base type on demand.
   */
  class DelegateMembers extends AbstractMembers {
+  /**
+   * Implementation note: it is critical that everything in this class is
+   * computed as lazily as possible. Many, many more parameterized types,  
raw
+   * types, type bindings, or wilcard types can be created than real  
classes,
+   * and computing anything up front would add runtime overhead and memory.
+   */
+
    private final JClassType baseType;
    private Map<String, JField> fieldMap;
    private JField[] fields;

Modified:  
changes/scottb/memory/dev/core/src/com/google/gwt/core/ext/typeinfo/Members.java
==============================================================================
---  
changes/scottb/memory/dev/core/src/com/google/gwt/core/ext/typeinfo/Members.java
         
(original)
+++  
changes/scottb/memory/dev/core/src/com/google/gwt/core/ext/typeinfo/Members.java
         
Wed Apr  1 11:25:07 2009
@@ -26,6 +26,12 @@
   * A container for methods and fields.
   */
  class Members extends AbstractMembers {
+  /**
+   * Implementation note: cannot be lazily computed because unlike
+   * {...@link DelegateMembers}, this serves as the real internal container  
for
+   * real classes.
+   */
+
    private List<JConstructor> constructors = Lists.create();
    private Map<String, JField> fieldMap = Maps.create();
    private List<JField> fields = Lists.create();

--~--~---------~--~----~------------~-------~--~----~
http://groups.google.com/group/Google-Web-Toolkit-Contributors
-~----------~----~----~----~------~----~------~--~---

Reply via email to