U
- The type of the harmonized key to determine method equality.@HashCodeAndEqualsPlugin.Enhance public static class MethodGraph.Compiler.Default.Key.Store.Entry.Resolved<U> extends java.lang.Object implements MethodGraph.Compiler.Default.Key.Store.Entry<U>
Modifier and Type | Class and Description |
---|---|
protected static class |
MethodGraph.Compiler.Default.Key.Store.Entry.Resolved.Node
A node implementation representing a non-ambiguous method.
|
MethodGraph.Compiler.Default.Key.Store.Entry.Ambiguous<U>, MethodGraph.Compiler.Default.Key.Store.Entry.Initial<U>, MethodGraph.Compiler.Default.Key.Store.Entry.Resolved<U>
Modifier and Type | Field and Description |
---|---|
private MethodGraph.Compiler.Default.Key.Harmonized<U> |
key
The harmonized key this entry represents.
|
private static int |
MADE_VISIBLE
Indicates that a type's methods are already globally visible, meaning that a bridge method is not added
with the intend of creating a visibility bridge.
|
private boolean |
madeVisible
true if this entry's representative was made visible by a visibility bridge. |
private MethodDescription |
methodDescription
The non-ambiguous, representative method of this entry.
|
private static boolean |
NOT_MADE_VISIBLE
Indicates that the entry was not made visible.
|
private Visibility |
visibility
The minimal required visibility for this method.
|
Modifier | Constructor and Description |
---|---|
protected |
Resolved(MethodGraph.Compiler.Default.Key.Harmonized<U> key,
MethodDescription methodDescription,
Visibility visibility,
boolean madeVisible)
Creates a new resolved entry.
|
Modifier and Type | Method and Description |
---|---|
MethodGraph.Node |
asNode(MethodGraph.Compiler.Default.Merger merger)
Transforms this entry into a node.
|
MethodGraph.Compiler.Default.Key.Store.Entry<U> |
extendBy(MethodDescription methodDescription,
MethodGraph.Compiler.Default.Harmonizer<U> harmonizer)
Extends this entry by the given method.
|
java.util.Set<MethodDescription> |
getCandidates()
Returns all candidate methods represented by this entry.
|
MethodGraph.Compiler.Default.Key.Harmonized<U> |
getKey()
Returns the harmonized key of this entry.
|
Visibility |
getVisibility()
Returns the minimal visibility of this entry.
|
MethodGraph.Compiler.Default.Key.Store.Entry<U> |
inject(MethodGraph.Compiler.Default.Key.Harmonized<U> key,
Visibility visibility)
Injects the given key into this entry.
|
private static <V> MethodGraph.Compiler.Default.Key.Store.Entry<V> |
of(MethodGraph.Compiler.Default.Key.Harmonized<V> key,
MethodDescription override,
MethodDescription original,
Visibility visibility)
Creates an entry for an override where a method overrides another method within a super class.
|
private static final int MADE_VISIBLE
private static final boolean NOT_MADE_VISIBLE
private final MethodGraph.Compiler.Default.Key.Harmonized<U> key
private final MethodDescription methodDescription
private final Visibility visibility
private final boolean madeVisible
true
if this entry's representative was made visible by a visibility bridge.protected Resolved(MethodGraph.Compiler.Default.Key.Harmonized<U> key, MethodDescription methodDescription, Visibility visibility, boolean madeVisible)
key
- The harmonized key this entry represents.methodDescription
- The non-ambiguous, representative method of this entry.visibility
- The minimal required visibility for this method.madeVisible
- true
if this entry's representative was made visible by a visibility bridge.private static <V> MethodGraph.Compiler.Default.Key.Store.Entry<V> of(MethodGraph.Compiler.Default.Key.Harmonized<V> key, MethodDescription override, MethodDescription original, Visibility visibility)
V
- The type of the harmonized key to determine method equality.key
- The merged key for both methods.override
- The method declared by the extending type, potentially a bridge method.original
- The method that is overridden by the extending type.visibility
- The minimal required visibility for this entry.public MethodGraph.Compiler.Default.Key.Harmonized<U> getKey()
getKey
in interface MethodGraph.Compiler.Default.Key.Store.Entry<U>
public java.util.Set<MethodDescription> getCandidates()
getCandidates
in interface MethodGraph.Compiler.Default.Key.Store.Entry<U>
public Visibility getVisibility()
getVisibility
in interface MethodGraph.Compiler.Default.Key.Store.Entry<U>
public MethodGraph.Compiler.Default.Key.Store.Entry<U> extendBy(MethodDescription methodDescription, MethodGraph.Compiler.Default.Harmonizer<U> harmonizer)
extendBy
in interface MethodGraph.Compiler.Default.Key.Store.Entry<U>
methodDescription
- The method description to extend this entry with.harmonizer
- The harmonizer to use for determining method equality.public MethodGraph.Compiler.Default.Key.Store.Entry<U> inject(MethodGraph.Compiler.Default.Key.Harmonized<U> key, Visibility visibility)
inject
in interface MethodGraph.Compiler.Default.Key.Store.Entry<U>
key
- The key to inject into this entry.visibility
- The entry's minimal visibility.public MethodGraph.Node asNode(MethodGraph.Compiler.Default.Merger merger)
asNode
in interface MethodGraph.Compiler.Default.Key.Store.Entry<U>
merger
- The merger to use for determining the representative method of an ambiguous node.