Mercurial > archived > louis > epitech > mq > rathaxes
diff wip_fix_regression_in_rathaxes_compiler_passes_correctly_resolve_chunk_args_subidentifiers.patch @ 125:3a92a43a3215
Reorder the patch queue so it stays understable
author | Louis Opter <louis@lse.epita.fr> |
---|---|
date | Sun, 04 Aug 2013 17:09:42 -0700 |
parents | wip.patch@ecba077e0f73 |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wip_fix_regression_in_rathaxes_compiler_passes_correctly_resolve_chunk_args_subidentifiers.patch Sun Aug 04 17:09:42 2013 -0700 @@ -0,0 +1,27 @@ +# HG changeset patch +# Parent 67dc97cbe736ead44d6c596eb339829a41c4b847 +diff --git a/rathaxes/compiler/passes/common/rtxResolve.inc.cws b/rathaxes/compiler/passes/common/rtxResolve.inc.cws +--- a/rathaxes/compiler/passes/common/rtxResolve.inc.cws ++++ b/rathaxes/compiler/passes/common/rtxResolve.inc.cws +@@ -388,7 +388,20 @@ + // Argument comes from the Chunk, so we retrieve the *real* type + // That will be resolved after the "local" resolution. + +- rtxResolve_BuildLocalSelf(subResVal, theChunk, placeHolder, subidentifiers); ++ if (subidentifiers#front == "local") ++ rtxResolve_BuildLocalSelf(subResVal, theChunk, placeHolder, subidentifiers); ++ else ++ { ++ local src_arg; ++ local src_type; ++ local src_value; ++ rtxNodeArgs_GetArgByName(src_resVals, "self", src_arg); ++ if (rtxNodeArg_getRType(src_arg, src_type) == false) ++ return false; ++ if (rtxNodeArg_getValue(src_arg, src_value) == false) ++ return false; ++ rtxNodeArgs_AppendArg(subResVal, "self", src_type, src_value); ++ } + local local_self; + rtxNodeArgs_GetArgByName(subResVal, "self", local_self); + local local_type;