lcompilers / lpython

Python compiler
https://lpython.org/
Other
1.5k stars 158 forks source link

Refactor the StructConstructor #2777

Closed tanay-man closed 1 month ago

tanay-man commented 2 months ago

Currently :

p1 : Class = Class(1,2)
#transformed into in the ASR
p1: Class = Class()
p1___init__(p1, 1, 2)

Instead in the ASR it should be kept as :

p1 : Class = Class(1, 2) #Structconstructor

and in the ASR-> ASR pass ClassConstructor replace as

p1: Class
p1___init__(p1, 1, 2)

Also add the parameters original_name and dt(p1 here) to the subroutine that is being called.