Skip to content

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
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