< prev index next >
src/jdk.vm.ci/share/classes/jdk.vm.ci.meta/src/jdk/vm/ci/meta/Assumptions.java
Print this page
@@ -42,11 +42,14 @@
public abstract static class Assumption {
}
/**
* A class for providing information that is only valid in association with a set of
- * {@link Assumption}s.
+ * {@link Assumption}s. It is permissible for AssumptionResults to have no assumptions at all.
+ * For instance, if {@link ResolvedJavaType#isLeaf()} returns true for a type
+ * {@link ResolvedJavaType#findLeafConcreteSubtype()} can return an AssumptionResult with no
+ * assumptions since the leaf information is statically true.
*
* @param <T>
*/
public static class AssumptionResult<T> {
Assumption[] assumptions;
@@ -185,10 +188,11 @@
* Type the assumption is made about.
*/
public final ResolvedJavaType context;
public LeafType(ResolvedJavaType context) {
+ assert !context.isLeaf() : "assumption isn't required for leaf types";
this.context = context;
}
@Override
public int hashCode() {
< prev index next >