Mercurial > archived > louis > epitech > mq > rathaxes
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 |
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 { |