Skip to content

Resolve nested classes, generic field counts, and inherited statics - #146

Open
ero-qt wants to merge 12 commits into
LiveSplit:masterfrom
ero-qt:class-lookups
Open

Resolve nested classes, generic field counts, and inherited statics#146
ero-qt wants to merge 12 commits into
LiveSplit:masterfrom
ero-qt:class-lookups

Conversation

@ero-qt

@ero-qt ero-qt commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

Part of #141.

Adds nested class lookup, generic field counts, and inherited static tables to the walk.

get_class("Ns.Outer+Inner") resolves a nested class, written the way .NET writes it. A build without the enclosing offset measured misses cleanly.

A generic instance declares no field count of its own, so Mono reads the count from the definition. IL2CPP already puts the count on the instance.

A static field found on a parent lives in the parent's own static table. wait_get_static_instance and UnityPointer roots read that table.

The offsets tables grow the members these lookups need, measured per build. A poll-once helper in the mock host lets the wait_ methods be tested without hanging.

cargo test --all-features runs the suite. The new tests cover each lookup, its miss path, and the version tables never contradicting a measured build.


Depends on #145.

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.

1 participant