Moved copy_constructing into functions and destructing the results into obj_lower. Removed all defer_stack from c_generator. The last thing should be to move ref handling into obj_lower or maybe a pass after, then the rest of c_generator can be cleaned up and fixing interpreter (except for closures) should be easy.

This commit is contained in:
Nathan Braswell
2016-06-26 04:44:54 -07:00
parent 4cc0d26c4c
commit 15fe2aeba4
7 changed files with 140 additions and 185 deletions

View File

@@ -12,13 +12,11 @@ constructed object 100 : 100
copy constructed object 100 : 200 from 100 : 100
destructed object 100 : 100
copy constructed object 100 : 300 from 100 : 200
destructed object 100 : 200
copy constructed object 100 : 400 from 100 : 300
copy constructed object 100 : 500 from 100 : 400
destructed object 100 : 400
destructed object 100 : 300
copy constructed object 100 : 600 from 100 : 500
destructed object 100 : 500
done assignment to old variable
matched an_obj correctly 100 : 600
int assignment to old var
@@ -31,7 +29,6 @@ constructed object 110 : 110
copy constructed object 110 : 210 from 110 : 110
destructed object 110 : 110
copy constructed object 110 : 310 from 110 : 210
destructed object 110 : 210
copy constructed object 110 : 410 from 110 : 310
copy constructed object 110 : 510 from 110 : 410
destructed object 110 : 410
@@ -41,7 +38,6 @@ constructed object 110 : 110
copy constructed object 110 : 210 from 110 : 110
destructed object 110 : 110
copy constructed object 110 : 310 from 110 : 210
destructed object 110 : 210
copy constructed object 110 : 410 from 110 : 310
copy constructed object 110 : 510 from 110 : 410
destructed object 110 : 410
@@ -49,7 +45,11 @@ destructed object 110 : 310
copy constructed object 110 : 610 from 110 : 510
destructed object 110 : 610
equality an_obj correctly
destructed object 110 : 510
destructed object 110 : 510
done test copy_construct for non ref equality
10
destructed object 110 : 510
destructed object 110 : 210
destructed object 110 : 510
destructed object 110 : 210
destructed object 100 : 500
destructed object 100 : 200