| 2124 | } |
| 2125 | |
| 2126 | void AddUnaryModifyOpNode(const char* pos, bool isInc, bool prefixOp) |
| 2127 | { |
| 2128 | NodeZeroOP *pointer = CodeInfo::nodeList.back(); |
| 2129 | CheckForImmutable(pointer->typeInfo, pos); |
| 2130 | |
| 2131 | // For indexes that aren't known at compile-time |
| 2132 | if(pointer->nodeType == typeNodeArrayIndex && !((NodeArrayIndex*)pointer)->knownShift) |
| 2133 | { |
| 2134 | // Create variable that will hold calculated pointer |
| 2135 | AddInplaceVariable(pos); |
| 2136 | // Get pointer from it |
| 2137 | CodeInfo::nodeList.push_back(new NodeDereference()); |
| 2138 | CodeInfo::nodeList.push_back(new NodePreOrPostOp(isInc, prefixOp)); |
| 2139 | AddExtraNode(); |
| 2140 | }else{ |
| 2141 | CodeInfo::nodeList.push_back(new NodePreOrPostOp(isInc, prefixOp)); |
| 2142 | } |
| 2143 | } |
| 2144 | |
| 2145 | void AddModifyVariableNode(const char* pos, CmdID cmd, const char* name) |
| 2146 | { |
no test coverage detected