/** * Get list of bounded inference variables (where bound is other than * declared bounds). */ final List<Type> boundedVars() { return filterVars(new Filter<UndetVar>() { public boolean accepts(UndetVar uv) { return uv.getBounds(InferenceBound.UPPER) .diff(uv.getDeclaredBounds()) .appendList(uv.getBounds(InferenceBound.EQ, InferenceBound.LOWER)).nonEmpty(); } }); }
/** * Get list of bounded inference variables (where bound is other than * declared bounds). */ final List<Type> boundedVars() { return filterVars(new Filter<UndetVar>() { public boolean accepts(UndetVar uv) { return uv.getBounds(InferenceBound.UPPER) .diff(uv.getDeclaredBounds()) .appendList(uv.getBounds(InferenceBound.EQ, InferenceBound.LOWER)).nonEmpty(); } }); }
/** * returns the list of instantiated variables (as type-variables) in this * inference context */ List<Type> instvars() { return filterVars(new Filter<UndetVar>() { public boolean accepts(UndetVar uv) { return uv.inst != null; } }); }
/** * returns the list of uninstantiated variables (as type-variables) in this * inference context */ List<Type> restvars() { return filterVars(new Filter<UndetVar>() { public boolean accepts(UndetVar uv) { return uv.inst == null; } }); }
/** * returns the list of instantiated variables (as type-variables) in this * inference context */ List<Type> instvars() { return filterVars(new Filter<UndetVar>() { public boolean accepts(UndetVar uv) { return uv.inst != null; } }); }
/** * returns the list of uninstantiated variables (as type-variables) in this * inference context */ List<Type> restvars() { return filterVars(new Filter<UndetVar>() { public boolean accepts(UndetVar uv) { return uv.inst == null; } }); }