changeset 1448:ed0ff181ee27

Bug fixes: *) Remove bogus import on Types.java *) Change Infer.BoundFilter so that <nulltype> bounds are discarded
author mcimadamore
date Tue, 07 Aug 2012 16:42:43 +0100
parents 027ae5764025
children 8b3093bc9f0d
files src/share/classes/com/sun/tools/javac/code/Types.java src/share/classes/com/sun/tools/javac/comp/GraphInfer.java src/share/classes/com/sun/tools/javac/comp/Infer.java
diffstat 3 files changed, 3 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/src/share/classes/com/sun/tools/javac/code/Types.java	Tue Aug 07 15:55:05 2012 +0100
+++ b/src/share/classes/com/sun/tools/javac/code/Types.java	Tue Aug 07 16:42:43 2012 +0100
@@ -44,7 +44,6 @@
 import static com.sun.tools.javac.code.Flags.*;
 import static com.sun.tools.javac.code.BoundKind.*;
 import static com.sun.tools.javac.util.ListBuffer.lb;
-import com.sun.xml.internal.messaging.saaj.packaging.mime.util.BEncoderStream;
 
 /**
  * Utility class containing various operations on types.
--- a/src/share/classes/com/sun/tools/javac/comp/GraphInfer.java	Tue Aug 07 15:55:05 2012 +0100
+++ b/src/share/classes/com/sun/tools/javac/comp/GraphInfer.java	Tue Aug 07 16:42:43 2012 +0100
@@ -539,11 +539,7 @@
             }
 
             List<Type> filterBounds(UndetVar uv) {
-                return Type.filter(uv.getBounds(ib), new Filter<Type>() {
-                        public boolean accepts(Type t) {
-                            return !t.containsAny(inferenceContext.inferenceVars());
-                        }
-                });
+                return Type.filter(uv.getBounds(ib), new BoundFilter(inferenceContext));
             }
         }
 
--- a/src/share/classes/com/sun/tools/javac/comp/Infer.java	Tue Aug 07 15:55:05 2012 +0100
+++ b/src/share/classes/com/sun/tools/javac/comp/Infer.java	Tue Aug 07 16:42:43 2012 +0100
@@ -251,7 +251,8 @@
 
                 @Override
                 public boolean accepts(Type t) {
-                    return !t.isErroneous() && !inferenceContext.free(t);
+                    return !t.isErroneous() && !inferenceContext.free(t) &&
+                            t.tag != BOT;
                 }
             };