Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

avm2: More work on the class refactor #16655

Merged
merged 4 commits into from
Jun 12, 2024

Conversation

Lord-McSweeney
Copy link
Collaborator

@Lord-McSweeney Lord-McSweeney commented Jun 9, 2024

This is work on storing a Class instead of a ClassObject as an Object's instance_of, which is necessary for the refactor.

Notable changes:

  • ClassObject no longer stores its interfaces
  • ClassObject no longer stores its type parameter, and the applications map is now a Option<Class> -> ClassObject map instead of an Option<ClassObject> -> ClassObject
  • has_class_in_chain has been moved to Class
  • Class now stores a list of all its interfaces (all_interfaces)
  • ClassKey and ClassHashWrapper have been removed as they were no longer necessary after avm2: Simplify uses of GcCell<'gc, Class<'gc>> #16128
  • VectorStorage now stores the value type as a Class instead of a ClassObject
  • Logic for applying a type parameter to a ClassObject has been moved into its own function, ClassObject::parametrize

@Lord-McSweeney Lord-McSweeney force-pushed the avm2-instance-of-class branch 2 times, most recently from 8995fe1 to cbe8d2a Compare June 9, 2024 18:17
@Lord-McSweeney Lord-McSweeney added the A-avm2 Area: AVM2 (ActionScript 3) label Jun 9, 2024
@Lord-McSweeney Lord-McSweeney force-pushed the avm2-instance-of-class branch from 1503f68 to da2d946 Compare June 12, 2024 15:46
@Lord-McSweeney Lord-McSweeney enabled auto-merge (rebase) June 12, 2024 15:47
@torokati44
Copy link
Member

torokati44 commented Jun 12, 2024

Note that this did not auto-merge, because the Test Rust beta / ubuntu-22.04 check is required, and it's currently failing.
One way to fix it is #16682. It will probably be fixed in the next beta anyway (rust-lang/rust#126278), but that's six weeks from now.
Alternatively, a repo admin could just force-merge this of course.

@Lord-McSweeney Lord-McSweeney disabled auto-merge June 12, 2024 17:10
@adrian17 adrian17 merged commit 0e062c4 into ruffle-rs:master Jun 12, 2024
15 of 17 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-avm2 Area: AVM2 (ActionScript 3)
Projects
Status: No status
Development

Successfully merging this pull request may close these issues.

3 participants