annotate rathaxes_compiler_passes_look_for_locally_casted_variables_in_sequence_calls.patch @ 115:5a663f8f0e54

WIP, fix another small bug in rathaxes sequence calls
author Louis Opter <louis@lse.epita.fr>
date Mon, 22 Jul 2013 13:52:00 -0700
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
115
5a663f8f0e54 WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
1 # HG changeset patch
5a663f8f0e54 WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
2 # User David Pineau <dav.pineau@gmail.com>, Louis Opter <louis@lse.epita.fr>
5a663f8f0e54 WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
3 # Parent 163975605ce8e4b9049deb60207358acc904f14c
5a663f8f0e54 WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
4 rathaxes: correctly resolve locally casted variables during sequence calls
5a663f8f0e54 WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
5
5a663f8f0e54 WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
6 C variables declared locally and casted into Rathaxes types weren't
5a663f8f0e54 WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
7 taken into account during sequence calls. This changeset fixes it.
5a663f8f0e54 WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
8
5a663f8f0e54 WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
9 diff --git a/rathaxes/compiler/passes/back/rtxIntrospect.inc.cws b/rathaxes/compiler/passes/back/rtxIntrospect.inc.cws
5a663f8f0e54 WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
10 --- a/rathaxes/compiler/passes/back/rtxIntrospect.inc.cws
5a663f8f0e54 WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
11 +++ b/rathaxes/compiler/passes/back/rtxIntrospect.inc.cws
5a663f8f0e54 WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
12 @@ -751,6 +751,8 @@
5a663f8f0e54 WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
13 local theType;
5a663f8f0e54 WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
14 if (findElement(theVar.name, theChunk.type_map))
5a663f8f0e54 WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
15 ref theType = theChunk.type_map[theVar.name];
5a663f8f0e54 WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
16 + else if (findElement(theVar.name, theChunk.variables))
5a663f8f0e54 WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
17 + ref theType = theChunk.variables[theVar.name].type_node;
5a663f8f0e54 WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
18 insert param.rtype;
5a663f8f0e54 WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
19 if (getArraySize(param.identifiers) > 2)
5a663f8f0e54 WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
20 {