diff options
author | Adrian Thurston <thurston@complang.org> | 2015-01-10 15:36:03 -0500 |
---|---|---|
committer | Adrian Thurston <thurston@complang.org> | 2015-01-10 15:36:03 -0500 |
commit | ca923f14202030ea69729b60734c94b4584783c0 (patch) | |
tree | cac993451dfc53883460e52e7dea40423985fb44 /src/declare.cc | |
parent | b45f08baf7ac6a1846b7bc80c0fc01d278f2a41b (diff) | |
download | colm-ca923f14202030ea69729b60734c94b4584783c0.tar.gz |
more object semantics fixes and test case updates
Diffstat (limited to 'src/declare.cc')
-rw-r--r-- | src/declare.cc | 28 |
1 files changed, 21 insertions, 7 deletions
diff --git a/src/declare.cc b/src/declare.cc index a83c0b0c..a4469366 100644 --- a/src/declare.cc +++ b/src/declare.cc @@ -648,7 +648,9 @@ void Compiler::addInput( ObjectDef *frame ) el->inGetR = IN_LOAD_INPUT_R; el->inGetWV = IN_LOAD_INPUT_WV; el->inGetWC = IN_LOAD_INPUT_WC; - el->inGetValR = IN_LOAD_INPUT_WC; + el->inGetValR = IN_LOAD_INPUT_R; + el->inGetValWC = IN_LOAD_INPUT_WC; + el->inGetValWV = IN_LOAD_INPUT_WV; frame->rootScope->insertField( el->name, el ); } @@ -663,7 +665,9 @@ void Compiler::addCtx( ObjectDef *frame ) el->inGetR = IN_LOAD_CTX_R; el->inGetWV = IN_LOAD_CTX_WV; el->inGetWC = IN_LOAD_CTX_WC; - el->inGetValR = IN_LOAD_CTX_WC; + el->inGetValR = IN_LOAD_CTX_R; + el->inGetValWC = IN_LOAD_CTX_WC; + el->inGetValWV = IN_LOAD_CTX_WV; frame->rootScope->insertField( el->name, el ); } @@ -824,7 +828,9 @@ void Compiler::addStdin() el->inGetR = IN_GET_STDIN; el->inGetWC = IN_GET_STDIN; el->inGetWV = IN_GET_STDIN; - el->inGetValR = IN_GET_STDIN; + el->inGetValR = IN_GET_STDIN; + el->inGetValWC = IN_GET_STDIN; + el->inGetValWV = IN_GET_STDIN; globalObjectDef->rootScope->insertField( el->name, el ); } @@ -840,7 +846,10 @@ void Compiler::addStdout() el->inGetR = IN_GET_STDOUT; el->inGetWC = IN_GET_STDOUT; el->inGetWV = IN_GET_STDOUT; - el->inGetValR = IN_GET_STDOUT; + + el->inGetValR = IN_GET_STDOUT; + el->inGetValWC = IN_GET_STDOUT; + el->inGetValWV = IN_GET_STDOUT; globalObjectDef->rootScope->insertField( el->name, el ); } @@ -856,7 +865,10 @@ void Compiler::addStderr() el->inGetR = IN_GET_STDERR; el->inGetWC = IN_GET_STDERR; el->inGetWV = IN_GET_STDERR; - el->inGetValR = IN_GET_STDERR; + + el->inGetValR = IN_GET_STDERR; + el->inGetValWC = IN_GET_STDERR; + el->inGetValWV = IN_GET_STDERR; globalObjectDef->rootScope->insertField( el->name, el ); } @@ -973,7 +985,9 @@ void Compiler::initListField( GenericType *gen, const char *name, int offset ) el->inSetWC = IN_SET_LIST_MEM_WC; el->inSetWV = IN_SET_LIST_MEM_WV; - el->inGetValR = IN_GET_LIST_MEM_R; + el->inGetValR = IN_GET_LIST_MEM_R; + el->inGetValWC = IN_GET_LIST_MEM_WC; + el->inGetValWV = IN_GET_LIST_MEM_WV; gen->objDef->rootScope->insertField( el->name, el ); @@ -1038,7 +1052,7 @@ void Compiler::initCtxField( GenericType *gen ) el->inGetValR = IN_GET_PARSER_CTX_R; el->inSetValWC = IN_SET_PARSER_CTX_WC; - el->inSetValWV = IN_SET_PARSER_CTX_WC; + el->inSetValWV = IN_SET_PARSER_CTX_WV; gen->objDef->rootScope->insertField( el->name, el ); } |