Sprint 28: end-of-sprint architecture refactor pass

This commit is contained in:
Bill
2026-02-17 09:46:52 -07:00
parent 61605d0e23
commit 0ca4aad44e
5 changed files with 59 additions and 18 deletions

View File

@@ -0,0 +1,11 @@
#pragma once
// Sprint 28 refactor: shared adapter operation helpers
#include <algorithm>
#include <string>
#include <vector>
inline bool adapterHasOperation(const std::vector<std::string>& operations,
const std::string& operation) {
return std::find(operations.begin(), operations.end(), operation) != operations.end();
}

View File

@@ -1,10 +1,11 @@
#pragma once
// Step 539: C/C++ Constructive Edit Adapter
#include <set>
#include <string>
#include <vector>
#include "AdapterOperationUtil.h"
struct CppConstructiveEditRequest {
std::string language; // c or cpp
std::string constructKind; // declaration/definition/include/macro/class/member
@@ -36,7 +37,7 @@ public:
return result;
}
if (!contains(result.legalOperations, request.operation)) {
if (!adapterHasOperation(result.legalOperations, request.operation)) {
result.diagnostics.push_back("operation_not_legal_for_construct");
return result;
}
@@ -83,8 +84,4 @@ private:
return "";
}
static bool contains(const std::vector<std::string>& values,
const std::string& value) {
return std::set<std::string>(values.begin(), values.end()).count(value) != 0;
}
};

View File

@@ -1,10 +1,11 @@
#pragma once
// Step 540: Python/TypeScript Constructive Edit Adapter
#include <set>
#include <string>
#include <vector>
#include "AdapterOperationUtil.h"
struct PyTsConstructiveEditRequest {
std::string language; // python/typescript
std::string constructKind; // function/class/import/signature/module_stmt
@@ -36,7 +37,7 @@ public:
return result;
}
if (!contains(result.legalOperations, request.operation)) {
if (!adapterHasOperation(result.legalOperations, request.operation)) {
result.diagnostics.push_back("operation_not_legal_for_construct");
return result;
}
@@ -77,8 +78,4 @@ private:
return "";
}
static bool contains(const std::vector<std::string>& values,
const std::string& value) {
return std::set<std::string>(values.begin(), values.end()).count(value) != 0;
}
};

View File

@@ -1,10 +1,11 @@
#pragma once
// Step 541: Rust/Go Constructive Edit Adapter
#include <set>
#include <string>
#include <vector>
#include "AdapterOperationUtil.h"
struct RustGoConstructiveEditRequest {
std::string language; // rust/go
std::string constructKind; // function/struct/impl/import/channel/borrow_region
@@ -37,7 +38,7 @@ public:
return result;
}
if (!contains(result.legalOperations, request.operation)) {
if (!adapterHasOperation(result.legalOperations, request.operation)) {
result.diagnostics.push_back("operation_not_legal_for_construct");
return result;
}
@@ -84,8 +85,4 @@ private:
return "";
}
static bool contains(const std::vector<std::string>& values,
const std::string& value) {
return std::set<std::string>(values.begin(), values.end()).count(value) != 0;
}
};