Skip to content

Assembly export API - Classes #4

@FractalFir

Description

@FractalFir

This issue is related to the design of the Assembly Export API, and the new CLI exporter.
There will also be a ILASM exporter, created manly for manual debugging.
What needs to be supported:

  • Ability to create a class, derived from some other class. The name of the parent class will be given as a string. Even tough structs always derive from System.ValueType, ability to specify any parent class, will be needed for future interop.
  • Ability to describe the fields of a class: their names and types.
  • Fields must allow explicit offset: this is needed for enums.

What is nice to have, and could potentially help (In order of decreasing importance):

  • Ability to specify visibility modifiers of a class, such as private/public - makes final assembly cleaner
  • Member functions - can greatly simplify indexing into arrays and slices, and be used to simplify interop
  • Support for generic arguments (can be used to reduce amount of CIL required to describe fixed-size array).
  • Attribute support - could potentially help guide the JIT.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions