annotate dmd/InterState.d @ 178:e3afd1303184

Many small bugs fixed Made all classes derive from TObject to detect memory leaks (functionality is disabled for now) Began work on overriding backend memory allocations (to avoid memory leaks)
author korDen
date Sun, 17 Oct 2010 07:42:00 +0400
parents e28b18c23469
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
1 module dmd.InterState;
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
2
114
e28b18c23469 added a module dmd.common for commonly used stuff
Trass3r
parents: 74
diff changeset
3 import dmd.common;
0
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
4 import dmd.FuncDeclaration;
74
7e0d548de9e6 Switch Arrays of Dsymbols to the new templated Vector type
Eldar Insafutdinov <e.insafutdinov@gmail.com>
parents: 63
diff changeset
5 import dmd.Dsymbol;
0
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
6 import dmd.Expression;
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
7 import dmd.Statement;
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
8
178
e3afd1303184 Many small bugs fixed
korDen
parents: 114
diff changeset
9 import dmd.TObject;
e3afd1303184 Many small bugs fixed
korDen
parents: 114
diff changeset
10
e3afd1303184 Many small bugs fixed
korDen
parents: 114
diff changeset
11 class InterState : TObject
0
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
12 {
63
cab4c37afb89 A bunch of implementations
korDen
parents: 0
diff changeset
13 this()
cab4c37afb89 A bunch of implementations
korDen
parents: 0
diff changeset
14 {
178
e3afd1303184 Many small bugs fixed
korDen
parents: 114
diff changeset
15 register();
63
cab4c37afb89 A bunch of implementations
korDen
parents: 0
diff changeset
16 vars = new Dsymbols();
cab4c37afb89 A bunch of implementations
korDen
parents: 0
diff changeset
17 }
cab4c37afb89 A bunch of implementations
korDen
parents: 0
diff changeset
18
cab4c37afb89 A bunch of implementations
korDen
parents: 0
diff changeset
19 InterState caller; // calling function's InterState
0
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
20 FuncDeclaration fd; // function being interpreted
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
21 Dsymbols vars; // variables used in this function
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
22 Statement start; // if !=NULL, start execution at this statement
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
23 Statement gotoTarget; // target of EXP_GOTO_INTERPRET result
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
24 Expression localThis; // value of 'this', or NULL if none
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
25 }