Skip to content

Wrong remap of super method with local static method of same name #87

@kennytv

Description

@kennytv

Given the following mappings, a remap of the super, non-static method getStringRaw results in a mangled call due to the local static method with the same remapped name (being a synthetic lambda method):

c    net/minecraft/server/dedicated/Settings    net/minecraft/server/dedicated/PropertyManager
    m    (Ljava/lang/String;)Ljava/lang/String;    getStringRaw    c
c    net/minecraft/server/dedicated/DedicatedServerProperties    net/minecraft/server/dedicated/DedicatedServerProperties
    m    (Ljava/lang/String;)Ljava/lang/String;    lambda$new$3    c

DedicatedServerProperties being an extending class of Settings:

public class DedicatedServerProperties extends Settings<DedicatedServerProperties> {

The error is:

java.lang.IncompatibleClassChangeError: Expecting non-static method 'java.lang.String net.minecraft.server.dedicated.DedicatedServerProperties.c(java.lang.String)'

Specifically, this happens when cloning Paper and running the runReobf gradle task (or running the jar given by createReobfBundlerJar)
... but apparently only when doing so on Windows, not Mac or Linux

Any help or possible fix would be appreciated

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions