Author: [email protected]
Date: Thu Mar 19 19:01:26 2009
New Revision: 5059
Modified:
changes/jat/ihm/dev/core/src/com/google/gwt/core/ext/typeinfo/JRealClassType.java
changes/jat/ihm/dev/core/src/com/google/gwt/dev/javac/TypeOracleMediator.java
Log:
Enum support, a bit of cleanup.
Modified:
changes/jat/ihm/dev/core/src/com/google/gwt/core/ext/typeinfo/JRealClassType.java
==============================================================================
---
changes/jat/ihm/dev/core/src/com/google/gwt/core/ext/typeinfo/JRealClassType.java
(original)
+++
changes/jat/ihm/dev/core/src/com/google/gwt/core/ext/typeinfo/JRealClassType.java
Thu Mar 19 19:01:26 2009
@@ -60,6 +60,8 @@
private JClassType superclass;
private boolean resolved = false;
+
+ private int nextEnumOrdinal = 0;
public JRealClassType(TypeOracle oracle, JPackage declaringPackage,
JClassType enclosingType, boolean isLocalType, String name,
@@ -150,6 +152,10 @@
public JClassType getEnclosingType() {
return enclosingType;
+ }
+
+ public int getEnumOrdinal() {
+ return nextEnumOrdinal++;
}
@Override
Modified:
changes/jat/ihm/dev/core/src/com/google/gwt/dev/javac/TypeOracleMediator.java
==============================================================================
---
changes/jat/ihm/dev/core/src/com/google/gwt/dev/javac/TypeOracleMediator.java
(original)
+++
changes/jat/ihm/dev/core/src/com/google/gwt/dev/javac/TypeOracleMediator.java
Thu Mar 19 19:01:26 2009
@@ -612,7 +612,7 @@
protected static class MyClassVisitor extends EmptyVisitor {
/**
- * Type of this class {...@linkplain }
+ * Type of this class.
*/
public enum ClassType {
TopLevel,
@@ -905,9 +905,6 @@
// remove "this$1" as a parameter
int skip = 1;
int n = argTypes.length - skip;
- if (n < 0) {
- boolean stophere = true;
- }
Type[] newArgTypes = new Type[n];
System.arraycopy(argTypes, skip, newArgTypes, 0, n);
argTypes = newArgTypes;
@@ -1877,18 +1874,6 @@
return resolvedType;
}
- private boolean resolveBoundsForTypeParameters(TreeLogger logger,
- JTypeParameter[] typeParams, TypeParameterLookup typeParamLookup) {
-// logger.log(TreeLogger.WARN,
-// "Unimplemented: resolveBoundsForTypeParameters");
- if (typeParams == null || typeParams.length == 0) {
- return true;
- }
- for (JTypeParameter typeParam : typeParams) {
- }
- return true;
- }
-
private boolean resolveClass(TreeLogger logger, JRealClassType type) {
assert type != null;
// Avoid cycles and useless computation.
@@ -2078,11 +2063,10 @@
resolveAnnotations(logger, field.getAnnotations(),
declaredAnnotations);
String name = field.getName();
JField jfield;
- if (false /* TODO(jat): !! enum constant */) {
+ if ((field.getAccess() & Opcodes.ACC_ENUM) != 0) {
assert (type.isEnum() != null);
- // TODO(jat): is this right?
jfield = new JEnumConstant(type, name, declaredAnnotations,
- ((Integer) field.getValue()).intValue());
+ type.getEnumOrdinal());
} else {
jfield = new JField(type, name, declaredAnnotations);
}
--~--~---------~--~----~------------~-------~--~----~
http://groups.google.com/group/Google-Web-Toolkit-Contributors
-~----------~----~----~----~------~----~------~--~---