annotate wip_debug.patch @ 128:0fdaa93ed62b

Start to clean up new compiler patch
author Louis Opter <louis@lse.epita.fr>
date Mon, 26 Aug 2013 22:53:34 -0700
parents 72b5b4a62cc5
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
127
72b5b4a62cc5 Wip on fixing ref/scalar issues, partly fixed
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
1 # HG changeset patch
72b5b4a62cc5 Wip on fixing ref/scalar issues, partly fixed
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
2 # Parent ea807d6831821c5fb094e7ae9258f5a282ec15e6
128
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents: 127
diff changeset
3
127
72b5b4a62cc5 Wip on fixing ref/scalar issues, partly fixed
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
4 diff --git a/rathaxes/compiler/passes/common/rtxResolve.inc.cws b/rathaxes/compiler/passes/common/rtxResolve.inc.cws
72b5b4a62cc5 Wip on fixing ref/scalar issues, partly fixed
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
5 --- a/rathaxes/compiler/passes/common/rtxResolve.inc.cws
72b5b4a62cc5 Wip on fixing ref/scalar issues, partly fixed
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
6 +++ b/rathaxes/compiler/passes/common/rtxResolve.inc.cws
128
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents: 127
diff changeset
7 @@ -729,9 +729,17 @@
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents: 127
diff changeset
8 // First, try to retrieve value from previous resVals, otherwise build it from chunk
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents: 127
diff changeset
9 if (varName != "self")
127
72b5b4a62cc5 Wip on fixing ref/scalar issues, partly fixed
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
10 {
128
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents: 127
diff changeset
11 + //
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents: 127
diff changeset
12 + // XXX Note: Here, we may encounter some issues if the chunk's type_map isnt properly filled
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents: 127
diff changeset
13 + // (encountered once, the type was scalar instead of ref)
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents: 127
diff changeset
14 + //
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents: 127
diff changeset
15 + local self_reftype = "scalar";
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents: 127
diff changeset
16 + local self_rtype;
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents: 127
diff changeset
17 if (rtxNodeArgs_GetArgByName(resolverValues, varName, self) == true)
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents: 127
diff changeset
18 {
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents: 127
diff changeset
19 rtxNodeArg_getValue(self, self_value);
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents: 127
diff changeset
20 + rtxNodeArg_getRType(self, self_rtype);
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents: 127
diff changeset
21 + self_reftype = self_rtype.qualifier;
127
72b5b4a62cc5 Wip on fixing ref/scalar issues, partly fixed
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
22 }
128
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents: 127
diff changeset
23 else
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents: 127
diff changeset
24 {
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents: 127
diff changeset
25 @@ -740,8 +748,10 @@
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents: 127
diff changeset
26 clearVariable(self_value);
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents: 127
diff changeset
27 cnormNode_TerminalId(self_value, varName);
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents: 127
diff changeset
28 }
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents: 127
diff changeset
29 - rtxNodeArgs_AppendArg(resVal, "self", theChunk.type_map[varName], self_value);
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents: 127
diff changeset
30 - setall self_type = theChunk.type_map[varName];
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents: 127
diff changeset
31 + setall self_rtype = theChunk.type_map[varName];
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents: 127
diff changeset
32 + self_rtype.qualifier = self_reftype;
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents: 127
diff changeset
33 + rtxNodeArgs_AppendArg(resVal, "self", self_rtype, self_value);
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents: 127
diff changeset
34 + setall self_type = self_rtype;
127
72b5b4a62cc5 Wip on fixing ref/scalar issues, partly fixed
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
35 }
128
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents: 127
diff changeset
36 else
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents: 127
diff changeset
37 {