Skip to content

Sync upstream#11

Merged
mitchej123 merged 46 commits into
LegacyModdingMC:mainfrom
danyadev:sync-upstream
Mar 21, 2026
Merged

Sync upstream#11
mitchej123 merged 46 commits into
LegacyModdingMC:mainfrom
danyadev:sync-upstream

Conversation

@danyadev

@danyadev danyadev commented Mar 3, 2026

Copy link
Copy Markdown

No description provided.

Player3324 and others added 30 commits September 20, 2024 14:23
…ins.

No longer throws when a method call is on an array.

Closes FabricMC#147
The previous implementation did not properly handle pseudo-instructions, sometimes leading to unnecessary mismatches.
The transformer expects binary names and internal format ones can cause unexpected behaviour in several places.
Fixes FabricMC#166.
Previously `ClassInfo`s were used unsynchronized when writing classes.
* New Maven Central publishing

* Only Java 21
Co-authored-by: LlamaLad7 <l3gomindstorms@gmail.com>
…C#176)

* Initial attempt at exposing will-be-transformed-ness of classes via mixin

* Use mixin environment properly

* Fix some ordering

* Make processingCouldTransform default true and log error

* Simplify logic slightly

* Address feedback, sans checkstyle

* Hopefully fix checkstyle

* Log class name as well

* Address feedback

Require that environment passed to `couldTransformClass` be current, and integrate check before `ClassNode` creation in `transformClass` that takes bytes.

* Use locking logic from applyMixins to avoid reentrance issues

* Extract common locking logic

* Add optional byte argument to couldTransform checks

* Revert "Add optional byte argument to couldTransform checks"

This reverts commit 925fa61.

* Revert "Extract common locking logic"

This reverts commit 155fe15.

* Extract common locking logic, but nicer

* Shift around to reduce diff

* Remove unnecessary changes

* Remove more unnecessary format changes

* Update log message to match method name
Analyze jdk classes through reflection instead of asm
…bricMC#157)

* Fix enum MixinEnvironment.Option parsing always using the default

* Incorporate Chocohead's suggestion
* Close resource streams for mixin configs.

* Close resource streams for mixin configs.

* Simplify

* Remove Unneeded changes & Import

---------

Co-authored-by: cputnam-a11y <unknown@cputnam-a11y.github.io>
LlamaLad7 and others added 16 commits October 8, 2025 11:37
This can be expensive to compute since it requires loading ClassInfos for outer classes, and it is a useless warning anyway which only worsens logspam.
The semantics of staticness are likely not identical, but I haven't been able to find a case where they differ. The old one is horribly heuristic anyway.
…is enabled.

The verifier will catch this anyway, this just gives us a better error which blames the particular mixin, but it's very expensive to check so best avoided in the default case.
)

* Fix: Use actual parameter names instead of generic 'argN' names

* Address review FabricMC#191 (review)

* De-dupe code

* Implement review

* Address review

* Address review

---------

Co-authored-by: joe <burtonjae@hotmail.co.uk>
This was a very strange exception to have in the first place, and the default path works fine.
Notably, you are also allowed to have enums inside Mixins, in which case those would be given different names for each target class and therefore any switch tables referencing them are *not* safe to share.
@danyadev danyadev closed this Mar 3, 2026
@danyadev danyadev reopened this Mar 3, 2026
@danyadev danyadev marked this pull request as ready for review March 3, 2026 14:04
@glowredman glowredman requested a review from a team March 4, 2026 19:24
@mitchej123 mitchej123 merged commit 8223271 into LegacyModdingMC:main Mar 21, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.