Step 303: New AST nodes — AsyncFunction, AwaitExpression, LambdaExpression, DecoratorAnnotation (12/12 tests)

4 modern language construct nodes with full JSON roundtrip serialization.
AsyncFunction extends Function with isAsync flag, AwaitExpression wraps
awaited expressions, LambdaExpression captures variables with captureList,
DecoratorAnnotation models @decorator(args) patterns.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Bill
2026-02-14 16:57:10 +00:00
parent 87615a7187
commit 15230df621
4 changed files with 374 additions and 0 deletions

View File

@@ -1813,4 +1813,8 @@ add_executable(step302_test tests/step302_test.cpp)
target_include_directories(step302_test PRIVATE src)
target_link_libraries(step302_test PRIVATE nlohmann_json::nlohmann_json)
add_executable(step303_test tests/step303_test.cpp)
target_include_directories(step303_test PRIVATE src)
target_link_libraries(step303_test PRIVATE nlohmann_json::nlohmann_json)
# Step 12: Dear ImGui shell scaffolding created (main.cpp exists but not built due to dependencies)