diff --git a/src/vscode_plugin/docs/testcaseTypeMapping.md b/src/vscode_plugin/docs/testcaseTypeMapping.md new file mode 100644 index 0000000000000000000000000000000000000000..47fe12067803419e94165c9487172d9401efa76a --- /dev/null +++ b/src/vscode_plugin/docs/testcaseTypeMapping.md @@ -0,0 +1,84 @@ +# 类型与测试用例对应文档 + +## dts2cpp + +### 变量/返回值 +| 类型 | 状态 | 测试用例路径 | +| ------------------------------------------------------------ | ------------------ | ------------ | +| string, number, boolean, void, interface, type,class,Map, Map, Map ,Array\,Array\, Array\,number[],string[],boolean, Set\, Set\,Set\,tuple:如[number,string,boolean], union:如string \| number, enum, any | 已支持,待补充用例 | - | + +### 函数类型 +| 类型 | 状态 | 测试用例路径 | +| --------------- | ------------------ | ------------ | +| static | 已支持,待补充用例 | - | +| $ | 已支持,待补充用例 | - | +| on/off | 已支持,待补充用例 | - | +| callback | 暂不支持 | - | +| promise | 暂不支持 | - | +| arrow func | 暂不支持 | - | +| threadsafe_func | 暂不支持 | - | + +### namespace转换 +| 类型 | 状态 | 测试用例路径 | +| --------- | ---------------------- | ------------------------------------------------------------ | +| class | 已支持 | parse: `src/test/suite/parse/parsetsclass.test.ts`
gen: 待补充用例 | +| function | 已支持 | parse: `src/test/suite/parse/parsetsfunc.test.ts`
gen: 待补充用例 | +| interface | 已支持 | parse: `src/test/suite/parse/parsetsstruct.test.ts`
gen: 待补充用例 | +| enum | 已支持 | parse: `src/test/suite/parse/parsetsenum.test.ts`
gen: 待补充用例 | +| union | 已支持 | parse: `src/test/suite/parse/parsetsunion.test.ts`
gen: 待补充用例 | +| type | parse支持,gen暂不支持 | - | + +### 其它 +| 功能 | 状态 | 测试用例路径 | +| ---------------- | -------- | ------------ | +| import自定义文件 | 暂不支持 | - | + +--- + +## h2dts + +### 变量/返回值 +| 类型 | 状态 | 测试用例路径 | +| ------------------------------------------------------------ | ------ | ------------------------------------------- | +| 基本类型/STL容器/迭代器/map系列/set系列/tuple/pair/智能指针等:
基本类型:int、size_t、double、float、short、long、uint8_t、uint16_t、uint32_t、uint64_t、int8_t、int16_t、int32_t、int64_t、bool、char、wchar_t、char8_t、char16_t、char32_t;
std::string::iterator;
std::vector:std::vector\、std::vector\、std::vector\、std::vector\、std::vector\、std::vector\、std::vector\、std::vector\、std::vector\、std::vector\、std::vector\、std::vector\、std::vector\、std::vector\、std::vector\、std::vector\、std::vector\、std::vector\、std::vector\、std::vector\;
std::vector\::iterator:std::vector\::iterator、...、std::vector\::iterator、std::vector\::iterator、...
std::array: std::array\、...、std::array\、std::array\、...
std::array\::iterator:std::array\::iterator、...、std::array\::iterator、std::array\::iterator、...
std::deque: std::deque\、...、std::deque\、std::deque\、...
std::deque\::iterator: std::deque\::iterator、...、std::deque\::iterator、std::deque\::iterator、...
std::list: std::list\、...、std::list\、std::list\、...
std::list\::iterator: std::list\::iterator、...、std::list\::iterator、std::list\::iterator、...
std::forward_list: std::forward_list\、...、std::forward_list\、std::forward_list\、...
std::forward_list\::iterator: std::forward_list\::iterator、...、std::forward_list\::iterator、std::forward_list\::iterator、...
std::stack: std::stack\、...、std::stack\、std::stack\、...
std::stack\::iterator: std::stack\::iterator、...、std::stack\::iterator、std::stack\::iterator、...
std::queue: std::queue\、...、std::queue\、std::queue\、...
std::queue\::iterator: std::queue\::iterator、...、std::queue\::iterator、std::queue\::iterator、...
std::valarray: std::valarray\、...、std::valarray\、std::valarray\、...
std::valarray\::iterator: std::valarray\::iterator、...、std::valarray\::iterator、std::valarray\::iterator、...
std::priority_queue: std::priority_queue\、...、std::priority_queue\、std::priority_queue\、...
std::priority_queue\::iterator: std::priority_queue\::iterator、...、std::priority_queue\::iterator、std::priority_queue\::iterator、...
std::map: std::map\、std::map\、...
std::map\::itrator:std::map\::iterator、...
std::unordered_map: std::unordered_map\、...
std::unordered_map\::itrator: std::unordered_map\::iterator、...
std::multimap: std::multimap\、...
std::multimap\::itrator: std::multimap\::iterator、...
std::unordered_multimap: std::unordered_multimap\、...
std::unordered_multimap\::itrator: std::unordered_multimap\::iterator
std::set: std::set\、...
std::set\::iterator: std::set\::iterator、...
std::unordered_set: std::unordered_set\、...
std::unordered_set\::iterator: std::unordered_set\::iterator、...
std::multiset: std::multiset\、...
std::multiset\::iterator: std::multiset\::iterator、...
std::unordered_multiset: std::unordered_multiset\、...
std::unordered_multiset\::iterator: std::unordered_multiset\::iterator、...
std::tuple: std::tuple\、...
std::pair: std::pair\、...
std::complex: std::complex\、...
Date: std::time_t、std::clock_t、...
std::function: std::function\、...
智能指针:std::unique_ptr\、std::shared_ptr\、std::weak_ptr\、... | 已支持 | `src/test/suite/gen/gendtstranskey.test.ts` | + +### 函数类型 +| 类型 | 状态 | 测试用例路径 | +| ---------- | ------------------ | ------------------------------------------- | +| 同步函数 | 已支持 | `src/test/suite/gen/gendtsfunction.test.ts` | +| static函数 | 已支持,待补充用例 | - | +| callback | 暂不支持 | - | +| promise | 暂不支持 | - | + +### namespace转换 +| 类型 | 状态 | 测试用例路径 | +| -------- | ------ | ------------------------------------------- | +| class | 已支持 | `src/test/suite/gen/gendtsclasses.test.ts` | +| struct | 已支持 | `src/test/suite/gen/gendtsstructs.test.ts` | +| union | 已支持 | `src/test/suite/gen/gendtsunion.test.ts` | +| enum | 已支持 | `src/test/suite/gen/gendtsenum.test.ts` | +| function | 已支持 | `src/test/suite/gen/gendtsfunction.test.ts` | + +--- + +## h2dtscpp + +### 变量/返回值 +| 类型 | 状态 | 测试用例路径 | +| ------------------------------------------------------------ | ------------------ | ------------ | +| 基本类型/STL容器/迭代器/map系列/set系列/tuple/pair/智能指针等:
基本类型:int、size_t、double、float、short、long、uint8_t、uint16_t、uint32_t、uint64_t、int8_t、int16_t、int32_t、int64_t、bool、char、wchar_t、char8_t、char16_t、char32_t;
std::string::iterator;
std::vector:std::vector\、std::vector\、std::vector\、std::vector\、std::vector\、std::vector\、std::vector\、std::vector\、std::vector\、std::vector\、std::vector\、std::vector\、std::vector\、std::vector\、std::vector\、std::vector\、std::vector\、std::vector\、std::vector\、std::vector\;
std::vector\::iterator:std::vector\::iterator、...、std::vector\::iterator、std::vector\::iterator、...
std::array: std::array\、...、std::array\、std::array\、...
std::array\::iterator:std::array\::iterator、...、std::array\::iterator、std::array\::iterator、...
std::deque: std::deque\、...、std::deque\、std::deque\、...
std::deque\::iterator: std::deque\::iterator、...、std::deque\::iterator、std::deque\::iterator、...
std::list: std::list\、...、std::list\、std::list\、...
std::list\::iterator: std::list\::iterator、...、std::list\::iterator、std::list\::iterator、...
std::forward_list: std::forward_list\、...、std::forward_list\、std::forward_list\、...
std::forward_list\::iterator: std::forward_list\::iterator、...、std::forward_list\::iterator、std::forward_list\::iterator、...
std::stack: std::stack\、...、std::stack\、std::stack\、...
std::stack\::iterator: std::stack\::iterator、...、std::stack\::iterator、std::stack\::iterator、...
std::queue: std::queue\、...、std::queue\、std::queue\、...
std::queue\::iterator: std::queue\::iterator、...、std::queue\::iterator、std::queue\::iterator、...
std::valarray: std::valarray\、...、std::valarray\、std::valarray\、...
std::valarray\::iterator: std::valarray\::iterator、...、std::valarray\::iterator、std::valarray\::iterator、...
std::priority_queue: std::priority_queue\、...、std::priority_queue\、std::priority_queue\、...
std::priority_queue\::iterator: std::priority_queue\::iterator、...、std::priority_queue\::iterator、std::priority_queue\::iterator、...
std::map: std::map\、std::map\、...
std::map\::itrator:std::map\::iterator、...
std::unordered_map: std::unordered_map\、...
std::unordered_map\::itrator: std::unordered_map\::iterator、...
std::multimap: std::multimap\、...
std::multimap\::itrator: std::multimap\::iterator、...
std::unordered_multimap: std::unordered_multimap\、...
std::unordered_multimap\::itrator: std::unordered_multimap\::iterator
std::set: std::set\、...
std::set\::iterator: std::set\::iterator、...
std::unordered_set: std::unordered_set\、...
std::unordered_set\::iterator: std::unordered_set\::iterator、...
std::multiset: std::multiset\、...
std::multiset\::iterator: std::multiset\::iterator、...
std::unordered_multiset: std::unordered_multiset\、...
std::unordered_multiset\::iterator: std::unordered_multiset\::iterator、...
std::tuple: std::tuple\、...
std::pair: std::pair\、...
std::complex: std::complex\、...
Date: std::time_t、std::clock_t、...
std::function: std::function\、...
智能指针:std::unique_ptr\、std::shared_ptr\、std::weak_ptr\、... | 已支持,待补充用例 | - | + +### 函数类型 +| 类型 | 状态 | 测试用例路径 | +| -------- | ------------------ | ------------ | +| 同步函数 | 已支持,待补充用例 | - | +| callback | 暂不支持 | - | +| promise | 暂不支持 | - | + +### 类型转换 +| 类型 | 状态 | 测试用例路径 | +| ------ | ------------------ | ------------ | +| class | 已支持,待补充用例 | - | +| struct | 已支持,待补充用例 | - | +| enum | 已支持,待补充用例 | - | +| union | 已支持,待补充用例 | - | \ No newline at end of file diff --git a/src/vscode_plugin/src/gen/tools/gennapiinit.ts b/src/vscode_plugin/src/gen/tools/gennapiinit.ts index 43ce3b9fcd3c7b9b85391c398ee5b2b5d45fcf56..2e4581b3c816025a42f57797a2e31a89e6fb88cd 100644 --- a/src/vscode_plugin/src/gen/tools/gennapiinit.ts +++ b/src/vscode_plugin/src/gen/tools/gennapiinit.ts @@ -35,8 +35,8 @@ export function doGenNapiInitFile(rootInfo: GenInfo, fileContent: string) { classInit = replaceAll(classInit, '[class_method_replace]', clsMethodDeclare); let { clsVariableDeclare, clsVariableGetSetDeclare } = genClsVariableDeclare(classObj); classInit = replaceAll(classInit, '[class_property_replace]', clsVariableGetSetDeclare); + classesInit += classInit; }); - classesInit += classInit; } // struct的声明 @@ -52,8 +52,8 @@ export function doGenNapiInitFile(rootInfo: GenInfo, fileContent: string) { structInit = replaceAll(structInit, '[class_method_replace]', clsMethodDeclare); let { clsVariableDeclare, clsVariableGetSetDeclare } = genStructVariableDeclare(classObj); structInit = replaceAll(structInit, '[class_property_replace]', clsVariableGetSetDeclare); + structsInit += structInit; }); - structsInit += structInit; } if (rootInfo.parseObj && rootInfo.parseObj.funcs) {