Skip to content

Cannot recursively initialize Nodes #112

@ryanpoulos

Description

@ryanpoulos

The Node class' dynamic dispatch Initialize method is currently non-reentrant. This breaks any attempt to recursively generate child nodes that may be the same type as the caller. Not sure why Initialize is currently non-reentrant, but switching to shared-clone fixes the issue and should not break any current code that uses this class (they would have to update their Initialize methods to match though).

Example of why this is needed: I have 'data type' Nodes that generate the view hierarchy to match the provided data type. If I have a type that is an array within a cluster within an array, the non-reentrancy breaks the execution at the second array since I'm currently still in an array node's Initialize method, and it cannot be reentered.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions