Unless other names are more illustrative, the following naming conventions should be observed in this file:
This is NOT part of any supported API. If you write code that depends on this, you do so at your own risk. This code and its internal interfaces are subject to change or deletion without notice.
| Modifier and Type | Class and Description |
|---|---|
| pack-priv class | |
| public static class | |
| public class | |
| pack-priv class | Types.
This visitor scans a type recursively looking for occurrences of captured type variables. |
| pack-priv class | |
| public abstract static class | Types.
the return type of the operation implemented by this
visitor; use Void if no return type is needed. R, the type of the second argument (the first being the
symbol itself) of the operation implemented by this visitor; use
Void if a second argument is not needed. S>A default visitor for symbols. |
| public abstract static class | Types.
the return type of the operation implemented by this
visitor; use Void if no return type is needed. R, the type of the second argument (the first being the
type itself) of the operation implemented by this visitor; use
Void if a second argument is not needed. S>A default visitor for types. |
| pack-priv class | Types.
A cache that keeps track of function descriptors associated with given functional interfaces. |
| pack-priv class | Types.
Scope filter used to skip methods that should be ignored (such as methods overridden by j.l.Object) during function interface conversion interface check |
| pack-priv class | |
| public static class | Types.
Exception used to report a function descriptor lookup failure. |
| private static class | |
| private class | |
| pack-priv class | |
| public static class | Types.
the type of the second argument (the first being the
type itself) of this mapping; use Void if a second argument is
not needed. S>A visitor for implementing a mapping from types to types. |
| pack-priv class | |
| private class | |
| public static enum | Types.
This enum defines the strategy for implementing most specific return type check during the most specific and functional interface checks. |
| pack-priv static enum | Types.
A projection kind. |
| pack-priv class | |
| public abstract class | |
| public abstract static class | Types.
the return type of the operation implemented by this
visitor; use Void if no return type is needed. R, the type of the second argument (the first being the
type itself) of the operation implemented by this visitor; use
Void if a second argument is not needed. S>A simple visitor for types. |
| private class | |
| pack-priv abstract class | Types.
Type-equality relation - type variables are considered equals if they share the same object identity. |
| public static class | |
| pack-priv class | |
| pack-priv class | Types.
This visitor performs upwards and downwards projections on types. |
| public abstract static class | Types.
A plain relation on types. |
| public abstract static class | Types.
the return type of the operation implemented by this
visitor; use Void if no return type is needed. R>A convenience visitor for implementing operations that only require one argument (the type itself), that is, unary operations. |
| public static class | Types.
A wrapper for a type that allows use in sets. |
| Modifier and Type | Method and Description |
|---|---|
| public void | adapt(Type
the source type source, Type the target type target, ListBuffer<Type> the type variables of the computed substitution from, ListBuffer<Type> the types of the computed substitution. to)Adapt a type by computing a substitution which maps a source type to a target type. |
| private void | |
| private void | |
| private Type | |
| public Type | asEnclosingSuper(Type
a type t, Symbol a symbol sym)This method returns the first type in a sequence (starting at `t`) that is a subclass of `sym`. |
| public Type | asOuterSuper(Type
a type t, Symbol a symbol sym)This method returns the first type in a sequence (starting at `t`) that is a subclass of `sym`. |
| public Type | |
| public Type | |
| public Symbol. | |
| public Type | |
| public List | |
| public Type | |
| public List | |
| private void | |
| public Type | classBound(Type t)
If the given type is a (possibly selected) type variable, return the bounding class of this type, otherwise return the type itself. |
| public List | |
| public Collector | closureCollector(boolean minClosure, BiPredicate<Type, Type> shouldSkip)
Collect types into a new closure (using a |
| public List | closureMin(List<Type> cl)
Return the minimum types of a closure, suitable for computing compoundMin or glb. |
| private Type | compoundMin(List<Type> cl)
Return the minimum type of a closure, a compound type if no unique minimum exists. |
| public Type | |
| public boolean | |
| pack-priv boolean | |
| public boolean | |
| public boolean | |
| private boolean | |
| public boolean | covariantReturnType(Type t, Type s, Warner warner)
Is t an appropriate return type in an overrider for a method that returns s? |
| public Type | |
| public Type | |
| public Type | |
| public Type | |
| public Type | |
| public Type | |
| public Type | |
| public List | |
| public Type | |
| public int | |
| public List | |
| public boolean | disjointType(Type t, Type s)
Two types or wildcards are considered disjoint if it can be proven that no type can be contained in both. |
| public boolean | |
| public Type | |
| public Type | |
| public List | |
| private boolean | |
| public Type | |
| private Type | |
| public List | |
| public Type | |
| public List | |
| public Symbol | findDescriptorSymbol(Symbol.
Find the method descriptor associated to this class symbol - if the symbol 'origin' is not a functional interface, an exception is thrown. |
| public Type | findDescriptorType(Type origin)
Find the type of the method descriptor associated to this class symbol - if the symbol 'origin' is not a functional interface, an exception is thrown. |
| public Symbol. | |
| private Symbol. | |
| public List | |
| public List | functionalInterfaceBridges(Symbol.
Find the minimal set of methods that are overridden by the functional descriptor in 'origin'. |
| public List | |
| public Attribute. | |
| public Attribute. | |
| private boolean | |
| public Type | |
| public Type | |
| private Type | glbFlattened(List<Type>
List of type to glb flatBounds, Type Original type to use if the result is an error type errT)Perform glb for a list of non-primitive, non-error, non-compound types; redundant elements are removed. |
| public int | |
| public int | |
| public boolean | |
| public boolean | |
| private boolean | |
| public boolean | hasSameBounds(Type.
Does t have the same bounds for quantified variables as s? |
| public Symbol. | implementation(Symbol.
|
| public List | |
| public List | |
| public static Types | |
| public List | |
| public List | |
| public List | |
| public boolean | |
| public boolean | |
| public boolean | |
| public boolean | |
| public boolean | |
| public boolean | |
| public boolean | isConvertible(Type t, Type s, Warner warn)
Is t a subtype of or convertible via boxing/unboxing conversion to s? |
| public boolean | |
| public boolean | |
| public boolean | |
| public boolean | |
| public boolean | |
| public boolean | |
| public boolean | |
| public boolean | |
| public boolean | |
| public boolean | |
| public boolean | |
| public boolean | isSignaturePolymorphic(Symbol.
A polymorphic signature method (JLS 15.12.3) is a method that (i) is declared in the java.lang.invoke.MethodHandle/VarHandle classes; (ii) takes a single variable arity parameter; (iii) whose declared type is Object[]; (iv) has any return type, Object signifying a polymorphic return type; and (v) is native. |
| public boolean | Returns: true if t is a subsignature of s.first signature (possibly raw). t, Type second signature (could be subjected to erasure). s)Returns true iff the first signature is a subsignature of the other. |
| public final boolean | |
| public boolean | |
| public final boolean | |
| public boolean | |
| public boolean | |
| public boolean | |
| public boolean | |
| public boolean | isSubtypeUnchecked(Type t, List<Type> ts, Warner warn)
Is t a subtype of every type in given list `ts'? |
| private boolean | |
| public boolean | |
| public boolean | Returns: true iff the given type is unbounded or rawa type t)Checks that all the arguments to a class are unbounded wildcards or something else that doesn't make any restrictions on the arguments. |
| public boolean | isUnconditionallyExactCombined(Type currentType, Type testType)
Check both type or value-based unconditional exactness between any combination of reference or primitive types for the value of a constant expression according to JLS 5.7.2. |
| public boolean | isUnconditionallyExactTypeBased(Type
Source primitive or reference type source, Type Target primitive or reference type target)Check type-based unconditional exactness between any combination of reference or primitive types according to JLS 5.7.2. |
| public boolean | isUnconditionallyExactValueBased(Type
Source primitive or reference type, should be a numeric value source, Type Target primitive or reference type target)Check value-based unconditional exactness between any combination of reference or primitive types for the value of a constant expression according to JLS 5.7.2. |
| public Type | |
| public Type | |
| public Type. | Returns: the ArrayType for the given componentThe component type of the ArrayType t)Returns an ArrayType with the component type t |
| private Type. | makeExtendsWildcard(Type
the upper bound bound, Type.the formal type parameter that will be
substituted by the wildcard formalCreate a wildcard with the given upper (extends) bound; create an unbounded wildcard if bound is Object. |
| public Symbol. | makeFunctionalInterfaceClass(Env<AttrContext> env, Name name, Type target, long cflags)
Create a symbol for a class that implements a given functional interface and overrides its functional descriptor. |
| public Type. | makeIntersectionType(List<Type>
the types from which the intersection type is formed bounds)Make an intersection type from non-empty list of types. |
| public Type. | makeIntersectionType(List<Type>
the types from which the intersection type is formed bounds, boolean are all bounds interface types? allInterfaces)Make an intersection type from non-empty list of types. |
| private Type. | makeSuperWildcard(Type
the lower bound bound, Type.the formal type parameter that will be
substituted by the wildcard formalCreate a wildcard with the given lower (super) bound; create an
unbounded wildcard if bound is bottom (type of |
| public Scope. | |
| public Type | |
| private Type | |
| public Optional | mergeAbstracts(List<Symbol> ambiguousInOrder, Type site, boolean sigCheck)
Merge multiple abstract methods. |
| public List | newInstances(List<Type> tvars)
Create new vector of type variables from list of variables changing all recursive bounds from old to new list. |
| public void | |
| public boolean | notSoftSubtype(Type t, Type s)
This relation answers the question: is impossible that something of type `t' can be a subtype of `s'? |
| public Symbol | |
| public boolean | Returns: true if either argument is a subsignature of the other.a signature (possible raw, could be subjected to
erasure). t, Type a signature (possible raw, could be subjected to
erasure). s)Returns true iff these signatures are related by override equivalence. |
| public boolean | |
| private boolean | |
| public List | |
| public int | |
| private Type | |
| public Type | |
| public boolean | resultSubtype(Type t, Type s, Warner warner)
Does t have a result that is a subtype of the result type of s, suitable for covariant returns? |
| public boolean | |
| public boolean | |
| private Type | Returns: the type rewritten with wildcards (existential quantifiers) onlya type t, boolean if true return an upper bound; otherwise a lower
bound high, boolean only rewrite captured wildcards if false;
otherwise rewrite all type variables rewriteTypeVars)Rewrite all type variables (universal quantifiers) in the given type to wildcards (existential quantifiers). |
| public void | setBounds(Type.
a type variable t,the bounds, must be nonempty bounds)Same as |
| public void | |
| private boolean | |
| private boolean | |
| public Type | skipTypeVars(Type site, boolean capture)
Recursively skip type-variables until a class/array type is found; capture conversion is then (optionally) applied to the resulting type. |
| public List | |
| public Type | |
| public Type. | |
| public List | |
| public Type | |
| private List | |
| public String | |
| public String | |
| public String | |
| private String | |
| public Type | |
| public Type | unboxedTypeOrType(Type t)
Return the unboxed type if 't' is a boxed class, otherwise return 't' itself. |
| public List | |
| public List | |
| public Type | |
| public Type | wildLowerBound(Type
a type argument, either a wildcard or a type t)Get a wildcard's lower bound, returning non-wildcards unchanged. |
| public Type | wildUpperBound(Type
a type argument, either a wildcard or a type t)Get a wildcard's upper bound, returning non-wildcards unchanged. |