Package org.stianloader.remapper
Class SimpleTopLevelLookup.MemberRealm
java.lang.Object
org.stianloader.remapper.SimpleTopLevelLookup.MemberRealm
- Enclosing class:
- SimpleTopLevelLookup
A member realm is a group of class members (so either fields or methods) with the same name
(but not necessarily the same descriptor or signature as it is permissible for subclasses to be more/less
strict on what they return or consume) but different classes. They form a unit (here referred as a realm)
as they must have the same name in both source and destination namespace, otherwise the method hierarchy
may be disjointed, resulting in mapping anomalies which may cause the application to no longer run as intended.
There may be multiple units with the same name, spanning different classes if they never intersect with each other. However, one currently known edge-case (technically a bug)
-
Field Summary
FieldsModifier and TypeFieldDescriptionAll classes (written as aninternal name) where the member is accessible from.final @NotNull MemberRefThe top level declaration of the member realm. -
Constructor Summary
ConstructorsConstructorDescriptionMemberRealm(@NotNull MemberRef rootDefinition, @Unmodifiable @NotNull Set<@NotNull String> realmMembers) -
Method Summary
-
Field Details
-
realmMembers
All classes (written as aninternal name) where the member is accessible from. -
rootDefinition
The top level declaration of the member realm. In case where two different interfaces might define the same method, then the most frequently used interface is defined as the declarer.
-
-
Constructor Details
-
Method Details