| 53 | } |
| 54 | |
| 55 | void GcnCompiler::compileTokenEnd(const GcnToken& token) |
| 56 | { |
| 57 | auto match = token.getMatch(); |
| 58 | auto kind = match->kind(); |
| 59 | switch (kind) |
| 60 | { |
| 61 | case GcnTokenKind::If: |
| 62 | case GcnTokenKind::IfNot: |
| 63 | this->emitControlFlowEndIf(token); |
| 64 | break; |
| 65 | case GcnTokenKind::Loop: |
| 66 | this->emitControlFlowEndLoop(token); |
| 67 | break; |
| 68 | case GcnTokenKind::Block: |
| 69 | this->emitControlFlowEndBlock(token); |
| 70 | break; |
| 71 | default: |
| 72 | Logger::exception(fmt::format("GcnCompiler: Invalid header kind: {}", (uint32_t)kind)); |
| 73 | break; |
| 74 | } |
| 75 | } |
| 76 | |
| 77 | void GcnCompiler::compileTokenVariable(const GcnToken& token) |
| 78 | { |
nothing calls this directly
no test coverage detected