Steps 290-294: Phase 11a — Semanno format, annotation codegen, visitor dispatch (60/60 tests)

Semanno comment format standard (@semanno:type(key=value)) with emitter/parser
covering all 67+ annotation types. SemannoAnnotationImpl CRTP mixin provides
default visitor implementations for all 56 extended annotation methods across
7 language generators. Virtual inheritance resolves diamond ambiguity between
ProjectionGenerator and SemannoAnnotationImpl.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Bill
2026-02-13 18:41:31 +00:00
parent 8cbeef5af4
commit d4a3609050
29 changed files with 2510 additions and 17 deletions

View File

@@ -1,11 +1,14 @@
#pragma once
#include "ProjectionGenerator.h"
#include "Import.h"
#include "../SemannoAnnotationImpl.h"
#include <unordered_map>
#include <unordered_set>
class JavaScriptGenerator : public ProjectionGenerator {
class JavaScriptGenerator : public ProjectionGenerator, public SemannoAnnotationImpl<JavaScriptGenerator> {
public:
std::string commentPrefix() const { return "// "; }
explicit JavaScriptGenerator(bool includeTypes = false)
: includeTypes_(includeTypes) {}