| 12 | namespace das { |
| 13 | |
| 14 | void SimSource::visit(SimVisitor & vis) { |
| 15 | switch (type) { |
| 16 | case SimSourceType::sSimNode: |
| 17 | V_SUB(subexpr); |
| 18 | break; |
| 19 | case SimSourceType::sConstValue: |
| 20 | if ( isStringConstant ) { |
| 21 | V_ARG(valuePtr); |
| 22 | } else { |
| 23 | V_ARG(value); |
| 24 | } |
| 25 | break; |
| 26 | case SimSourceType::sCMResOff: |
| 27 | V_ARG(offset); |
| 28 | break; |
| 29 | case SimSourceType::sGlobal: |
| 30 | V_ARG(mangledNameHash); |
| 31 | break; |
| 32 | case SimSourceType::sShared: |
| 33 | V_ARG(mangledNameHash); |
| 34 | break; |
| 35 | case SimSourceType::sBlockCMResOff: |
| 36 | V_SP(argStackTop); |
| 37 | V_ARG(offset); |
| 38 | break; |
| 39 | case SimSourceType::sLocal: |
| 40 | V_SP(stackTop); |
| 41 | break; |
| 42 | case SimSourceType::sLocalRefOff: |
| 43 | V_SP(stackTop); |
| 44 | V_ARG(offset); |
| 45 | break; |
| 46 | case SimSourceType::sArgument: |
| 47 | case SimSourceType::sArgumentRef: |
| 48 | case SimSourceType::sThisBlockArgument: |
| 49 | V_SP(index); |
| 50 | break; |
| 51 | case SimSourceType::sArgumentRefOff: |
| 52 | case SimSourceType::sThisBlockArgumentRef: |
| 53 | V_SP(index); |
| 54 | V_ARG(offset); |
| 55 | break; |
| 56 | case SimSourceType::sBlockArgument: |
| 57 | V_SP(argStackTop); |
| 58 | V_SP(index); |
| 59 | break; |
| 60 | case SimSourceType::sBlockArgumentRef: |
| 61 | V_SP(argStackTop); |
| 62 | V_SP(index); |
| 63 | V_ARG(offset); |
| 64 | break; |
| 65 | } |
| 66 | } |
| 67 | |
| 68 | SimNode * SimNode::visit ( SimVisitor & vis ) { |
| 69 | V_BEGIN(); |
no test coverage detected