ShaneBeeStudios / McDeob

Re-mapping and deobfuscation tool for Minecraft
Apache License 2.0
178 stars 16 forks source link

Synthetics #22

Closed DalekCraft2 closed 2 years ago

DalekCraft2 commented 2 years ago

The decompiler sometimes makes "synthetic" methods, which are just methods which delegate to another method of the same signature. Because they have the same signature, it does not compile.

It does this with some classes, too, as I showed in my package-info issue. I think that it only does it with package-info files, too.

Edit: It also adds a synthetic $values method for enums.

Edit 2: Some lambdas are also turned into synthetic methods. They are not used, though.

ShaneBeee commented 2 years ago

Unfortunately I did not write the decompiler. It's FernFlower. So I have no control over what happens in the decompilation process.

Here is a link to the repo for FernFlower