🧠 Feature/Meta: Cloneable (round 2) #148

Closed
opened 2023-07-17 15:14:12 +01:00 by deavmi · 2 comments
Owner

What is this?

Ability to deep clone a parser node if it implements the Cloneable interface.

Why?

Will be needed for meta-programming support.

Current support

We want to add support to the following:

  • Struct
  • Variable
    • Check re-parenting
  • VariableAssignment
    • Check re-parenting
  • BinaryOperatorExpression
    • Check re-parenting
  • IntegerLiteral
    • Check re-parenting
  • Module
  • Class
  • Function
  • UnaryOpExpression

And more to come...

## What is this? Ability to deep clone a parser node if it implements the `Cloneable` interface. ## Why? Will be needed for meta-programming support. ## Current support We want to add support to the following: - [x] `Struct` - [x] `Variable` - [ ] Check re-parenting - [x] `VariableAssignment` - [ ] Check re-parenting - [x] `BinaryOperatorExpression` - [ ] Check re-parenting - [x] `IntegerLiteral` - [ ] Check re-parenting - [ ] `Module` - [ ] `Class` - [ ] `Function` - [ ] `UnaryOpExpression` And more to come...
deavmi added the due date 2023-08-06 2023-07-17 15:14:21 +01:00
deavmi added reference feature/cloneability 2023-07-17 15:14:32 +01:00
deavmi added the
meta
parser
labels 2023-07-17 15:14:49 +01:00
deavmi added this to the Basics milestone 2023-07-17 15:14:54 +01:00
deavmi added this to the Parser project 2023-07-17 15:14:57 +01:00
deavmi self-assigned this 2023-07-17 15:15:00 +01:00
deavmi started working 2023-07-17 15:17:57 +01:00
deavmi stopped working 2023-07-17 15:18:05 +01:00
8 seconds
Author
Owner

I must see if this is still relevant. I kind of work on these as they come, but a once off "make sure everything supports it" type of PR would be useful.

I must see if this is still relevant. I kind of work on these as they come, but a once off "make sure everything supports it" type of PR would be useful.
Author
Owner

I'm actually going to close this for now. Will probably redo this work later.

I'm actually going to close this for now. Will probably redo this work later.
Sign in to join this conversation.
No Milestone
No project
No Assignees
1 Participants
Notifications
Total Time Spent: 8 seconds
deavmi
8 seconds
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

2023-08-06

Dependencies

No dependencies set.

Reference: tlang/tlang#148
No description provided.