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
-~----------~----~----~----~------~----~------~--~---