Reviewers: zundel,

Description:
Like we do for binary-only annotations, this change allows binary-only
references for compile-time constants.  We don't actually need source in
the GWT compiler, JDT embeds the constant value in the unit we do
compile.

Please review this at http://gwt-code-reviews.appspot.com/1447825/

Affected files:
M dev/core/src/com/google/gwt/dev/javac/BinaryTypeReferenceRestrictionsChecker.java


Index: dev/core/src/com/google/gwt/dev/javac/BinaryTypeReferenceRestrictionsChecker.java diff --git a/dev/core/src/com/google/gwt/dev/javac/BinaryTypeReferenceRestrictionsChecker.java b/dev/core/src/com/google/gwt/dev/javac/BinaryTypeReferenceRestrictionsChecker.java index 3a36580391b8ae618c2066a9eb55340beeef6fec..569de81fe4668ecb5c2d27b02f3030fb128aae88 100644 --- a/dev/core/src/com/google/gwt/dev/javac/BinaryTypeReferenceRestrictionsChecker.java +++ b/dev/core/src/com/google/gwt/dev/javac/BinaryTypeReferenceRestrictionsChecker.java
@@ -22,6 +22,7 @@ import org.eclipse.jdt.internal.compiler.ast.Expression;
 import org.eclipse.jdt.internal.compiler.ast.MarkerAnnotation;
 import org.eclipse.jdt.internal.compiler.ast.NormalAnnotation;
 import org.eclipse.jdt.internal.compiler.ast.SingleMemberAnnotation;
+import org.eclipse.jdt.internal.compiler.impl.Constant;
 import org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding;
 import org.eclipse.jdt.internal.compiler.lookup.BlockScope;
 import org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding;
@@ -93,6 +94,10 @@ public class BinaryTypeReferenceRestrictionsChecker {
     @Override
     protected void onBinaryTypeRef(BinaryTypeBinding binding,
         CompilationUnitDeclaration unitOfReferrer, Expression expression) {
+ if (expression.constant != null && expression.constant != Constant.NotAConstant) {
+        // Const expressions are ok, no source needed.
+        return;
+      }
       binaryTypeReferenceSites.add(new BinaryTypeReferenceSite(expression,
           binding));
     }


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

Reply via email to