🧠 Feature/Meta: Cloneable (round 1) #117

Closed
opened 2023-04-21 23:30:07 +01:00 by deavmi · 9 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
  • VariableAssignment
  • BinaryOperatorExpression
  • IntegerLiteral

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` - [x] `VariableAssignment` - [x] `BinaryOperatorExpression` - [x] `IntegerLiteral` And more to come...
deavmi added the
parser
label 2023-04-21 23:30:07 +01:00
deavmi self-assigned this 2023-04-21 23:30:07 +01:00
deavmi added a new dependency 2023-04-24 07:48:09 +01:00
deavmi added reference feature/meta_programming 2023-04-24 07:48:22 +01:00
deavmi added this to the Basics milestone 2023-04-24 07:48:28 +01:00
deavmi added this to the Parser project 2023-04-24 07:48:30 +01:00
deavmi modified the due date from 2023-04-22 to 2023-04-22 2023-04-24 07:48:34 +01:00
deavmi modified the due date from 2023-04-22 to 2023-04-30 2023-04-24 07:48:40 +01:00
Author
Owner

Added a Cloneable interface as of commit 3a06c49fe3d51f8385a0d8015591b645f17cc3a3

Added a `Cloneable` interface as of commit `3a06c49fe3d51f8385a0d8015591b645f17cc3a3` ✅
Author
Owner

Bump. We should maybe also look into adding this, either in the PR for feature/meta_programming or at a later stage.

Bump. We should maybe also look into adding this, either in the PR for `feature/meta_programming` or at a later stage.
deavmi changed title from 🧠 Feature: Cloneable to 🧠 Feature/Meta: Cloneable 2023-05-29 15:20:04 +01:00
deavmi started working 2023-05-29 15:20:10 +01:00
deavmi stopped working 2023-05-29 15:20:13 +01:00
3 seconds
deavmi removed the due date 2023-04-30 2023-05-29 15:35:16 +01:00
deavmi added the due date 2023-06-21 2023-05-29 15:35:47 +01:00
deavmi removed the due date 2023-06-21 2023-05-29 15:35:50 +01:00
deavmi removed reference feature/meta_programming 2023-05-29 15:58:47 +01:00
deavmi removed a dependency 2023-05-29 15:58:51 +01:00
Author
Owner

The interface has been added but we are yet to make use of a test for it, I think #122 might or probably not - may be a good use for it.

Yeah nah, it would.

Anyways, staying open till this is implemented.

The _interface_ has been added but we are yet to make use of a test for it, I think #122 _might_ or probably not - may be a good use for it. Yeah nah, it would. Anyways, staying open till this is implemented.
deavmi added the
meta
label 2023-07-17 13:39:35 +01:00
deavmi started working 2023-07-17 13:39:36 +01:00
deavmi added reference feature/cloneability 2023-07-17 13:39:39 +01:00
deavmi added the due date 2023-07-22 2023-07-17 13:39:46 +01:00
deavmi added a new dependency 2023-07-17 13:40:07 +01:00
deavmi stopped working 2023-07-17 14:36:59 +01:00
57 minutes 23 seconds
Author
Owner

Yoh, lots of work is being done to add this now...

Yoh, lots of work is being done to add this now...
deavmi started working 2023-07-17 14:37:22 +01:00
deavmi stopped working 2023-07-17 14:41:23 +01:00
4 minutes 1 second
deavmi added spent time 2023-07-17 15:01:08 +01:00
10 minutes
deavmi started working 2023-07-17 15:01:10 +01:00
Author
Owner

Yoh, lots of work is being done to add this now...

Added a unit test to test clone() on a Struct with two Variable (with no assignments) members

> Yoh, lots of work is being done to add this now... Added a unit test to test `clone()` on a `Struct` with two `Variable` (with no assignments) members
deavmi stopped working 2023-07-17 15:10:11 +01:00
9 minutes 1 second
deavmi started working 2023-07-17 15:11:21 +01:00
deavmi stopped working 2023-07-17 15:11:38 +01:00
17 seconds
deavmi changed title from 🧠 Feature/Meta: Cloneable to 🧠 Feature/Meta: Cloneable (round 1) 2023-07-17 15:11:57 +01:00
Author
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.

> ## What is this? > > Ability to deep clone a parser node if it implements the `Cloneable` interface. > > ## Why? > > Will be needed for meta-programming support.
Author
Owner

Closed by mistake

Closed by mistake
deavmi reopened this issue 2023-07-17 15:12:20 +01:00
deavmi started working 2023-07-17 15:14:06 +01:00
deavmi stopped working 2023-07-17 15:14:29 +01:00
23 seconds
Author
Owner

Going to merge this now...

Going to merge this now...
Author
Owner

Merged

Merged
Sign in to join this conversation.
No Milestone
No project
No Assignees
1 Participants
Notifications
Total Time Spent: 1 hour 21 minutes
deavmi
1 hour 21 minutes
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

2023-07-22

Reference: tlang/tlang#117
No description provided.