Skip to content

Add support for assigning references in importer API #183

@amykyta3

Description

@amykyta3

Currently the importer API only allows building components with "regular" property values.
Add support for assigning instance and property references to component properties.

Some considerations to be aware of:

  • References that involve array indexes may require more complex construction, since simply providing the terminal endpoints is not enough information.
    • Need an intuitive way for the user to be able to provide the lineage of array indexes as well.
    • Alternatively, do not support this yet?
  • Will likely need to add a parent member to the Component class to facilitate construction of the internal ComponentRef object. I believe in most/all cases, parent shall never be deepcopied (copy by ref instead).
    • No longer possible to use this method. Back-end optimizations in 1.30.0 likely prevent this since identical Component instances get re-used, so they cannot have a common parent attribute.
  • This will likely be implemented as Importer.create_inst_reference() and Importer.create_prop_reference() methods.
    • Inputs are the source component, destination component, and source property name (for prop refs)
    • Returns a ComponentRef/PropertyRef object respectively.
  • When assigning the reference object via Importer.assign_property(), check that a DPA is allowed.
    • Since prop refs imply a DPA, check that spec rules are not being violated inadvertently.

Metadata

Metadata

Assignees

Labels

featureNew feature or request

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions