From 4f48cb7cd178572684dd94b2e5eb198034bdd826 Mon Sep 17 00:00:00 2001 From: gou-jingjing Date: Wed, 10 Jul 2024 16:28:44 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E4=BD=BF=E7=94=A8=E7=82=B9=E5=8F=B7?= =?UTF-8?q?=E6=9D=A5=E8=AE=BF=E9=97=AE=E5=AF=B9=E8=B1=A1=E7=9A=84=E5=B1=9E?= =?UTF-8?q?=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: gou-jingjing --- src/cli/cmake2gn/src/src/analyze_command.js | 4 +- src/cli/dts2cpp/src/gen/analyze/function.js | 24 +++--- src/cli/dts2cpp/src/gen/generate/interface.js | 72 +++++++++++------- .../src/gen/generate/param_generate.js | 21 ++++-- .../src/gen/generate/return_generate.js | 74 ++++++++++++------- src/cli/dts2cpp/src/gen/generate/type.js | 54 +++++++++----- .../appCodeGen/src/analyze/function.js | 20 ++--- 7 files changed, 169 insertions(+), 100 deletions(-) diff --git a/src/cli/cmake2gn/src/src/analyze_command.js b/src/cli/cmake2gn/src/src/analyze_command.js index c3e795bf..703bafb3 100644 --- a/src/cli/cmake2gn/src/src/analyze_command.js +++ b/src/cli/cmake2gn/src/src/analyze_command.js @@ -604,10 +604,10 @@ class AnalyzeCommand { } let ret = null; switch (AnalyzeCommand.getCompileCmdId(cmd)) { - case AnalyzeCommand.COMPILE_CMDS['clang']: + case AnalyzeCommand.COMPILE_CMDS.clang: ret = AnalyzeCommand.analyzeCcClang(cmd); break; - case AnalyzeCommand.COMPILE_CMDS['ar']: + case AnalyzeCommand.COMPILE_CMDS.ar: ret = AnalyzeCommand.analyzeCcAr(cmd); break; case AnalyzeCommand.COMPILE_CMDS['clang++']: diff --git a/src/cli/dts2cpp/src/gen/analyze/function.js b/src/cli/dts2cpp/src/gen/analyze/function.js index 36fa8b0e..82fc133f 100644 --- a/src/cli/dts2cpp/src/gen/analyze/function.js +++ b/src/cli/dts2cpp/src/gen/analyze/function.js @@ -60,17 +60,17 @@ function analyzeSubInterfaceVal(t, tt, result) { } function getFuncParaType(v, interfaceName, data, results) { - let arrayType = re.match('(Async)*Callback<(Array<([a-zA-Z_0-9]+)>)>', v['type']) - let parameter = v['type'] + let arrayType = re.match('(Async)*Callback<(Array<([a-zA-Z_0-9]+)>)>', v.type) + let parameter = v.type if (arrayType) { - parameter = re.getReg(v['type'], arrayType.regs[2]) + parameter = re.getReg(v.type, arrayType.regs[2]) } if (isEnum(parameter, data)) { let index = enumIndex(parameter, data) if (data.enum[index].body.enumValueType === EnumValueType.ENUM_VALUE_TYPE_NUMBER) { - v['type'] = v['type'].replace(parameter, 'NUMBER_TYPE_' + NumberIncrease.getAndIncrease()) + v.type = v.type.replace(parameter, 'NUMBER_TYPE_' + NumberIncrease.getAndIncrease()) } else if (data.enum[index].body.enumValueType === EnumValueType.ENUM_VALUE_TYPE_STRING) { - v['type'] = v['type'].replace(parameter, 'string') + v.type = v.type.replace(parameter, 'string') } else { NapiLog.logError('analyzeFunction getFuncParaType is not support this type %s.' .format(data.enum[index].body.enumValueType), getLogErrInfo); @@ -81,10 +81,10 @@ function getFuncParaType(v, interfaceName, data, results) { else if (isEnum(parameter, results)) { let index = enumIndex(parameter, results) if (results.enum[index].body.enumValueType === EnumValueType.ENUM_VALUE_TYPE_NUMBER) { - v['type'] = v['type'].replace(parameter, 'NUMBER_TYPE_' + NumberIncrease.getAndIncrease()) - v['realType'] = v['type'] + v.type = v.type.replace(parameter, 'NUMBER_TYPE_' + NumberIncrease.getAndIncrease()) + v.realType = v.type } else if (results.enum[index].body.enumValueType === EnumValueType.ENUM_VALUE_TYPE_STRING) { - v['type'] = v['type'].replace(parameter, 'string') + v.type = v.type.replace(parameter, 'string') } else { NapiLog.logError('analyzeFunction getFuncParaType is not support this type %s.' .format(results.enum[index].body.enumValueType), getLogErrInfo()); @@ -94,19 +94,19 @@ function getFuncParaType(v, interfaceName, data, results) { let interfaceType = re.match('{([A-Za-z0-9_]+:[A-Za-z0-9_,]+)([A-Za-z0-9_]+:[A-Za-z0-9_]+)}$', v['type']) if (interfaceType) { - v['type'] = interfaceName + v.type = interfaceName } if (parameter.indexOf('number') >= 0) { - v['type'] = v['type'].replace('number', 'NUMBER_TYPE_' + NumberIncrease.getAndIncrease()) - v['realType'] = v['type'] + v.type = v.type.replace('number', 'NUMBER_TYPE_' + NumberIncrease.getAndIncrease()) + v.realType = v.type } // type的处理 if (isType(parameter, data)) { let index = typeIndex(parameter, data) if (data.type[index].isEnum) { - v['type'] = v['type'].replace(parameter, 'string') + v.type = v.type.replace(parameter, 'string') } } return v diff --git a/src/cli/dts2cpp/src/gen/generate/interface.js b/src/cli/dts2cpp/src/gen/generate/interface.js index c242aa99..721bda8e 100644 --- a/src/cli/dts2cpp/src/gen/generate/interface.js +++ b/src/cli/dts2cpp/src/gen/generate/interface.js @@ -74,33 +74,16 @@ function getHDefineOfVariable(name, type, variable, optional) { if (type.indexOf("|") >= 0) { unionTypeString(name, type, variable, optional) } else if (type === "string") { - if (optional) { - variable.hDefine += "\n std::optional %s;".format(name) - } else { - variable.hDefine += "\n std::string %s;".format(name) - } + variableTypeString(optional, variable, name); } else if (InterfaceList.getValue(type)) { - if (optional) { - variable.hDefine += "\n std::optional<%s> %s;".format(type, name) - } else { - variable.hDefine += "\n %s %s;".format(type, name) - } + variableTypeInterface(optional, variable, type, name); } else if (EnumList.getValue(type)) { // 如果是枚举string类型,需要将其转换为std::string类型 - let enumBasicType = EnumList.getValue(type)[0].type - if (enumBasicType === 'string') { - variable.hDefine += "\n %s %s;".format('std::string', name) - } else { - variable.hDefine += "\n %s %s;".format(type, name) - } + variableTypeEnum(type, variable, name); } else if (type.indexOf("Array<") === 0) { typeArrFunctionOne(type, variable, name, optional); } else if (type === "boolean") { - if (optional) { - variable.hDefine += "\n std::optional %s;".format(name) - } else { - variable.hDefine += "\n bool %s;".format(name) - } + variableTypeBoolean(optional, variable, name); } else if (type.substring(type.length - 2) === "[]") { typeArrFunctionTwo(type, variable, name, optional); } else if (type.substring(0, 4) === "Map<" || type.indexOf("{[key:") === 0) { // 支持可选参数? @@ -108,11 +91,7 @@ function getHDefineOfVariable(name, type, variable, optional) { } else if (type === "any") { variable.hDefine += anyTypeString(type, name) } else if (type.substring(0, 12) === "NUMBER_TYPE_") { - if (optional) { - variable.hDefine += "\n std::optional<%s> %s;".format(type, name) - } else { - variable.hDefine += "\n %s %s;".format(type, name) - } + variableTypeNumber(optional, variable, type, name); } else if (type === "Object" || type === "object") { variable.hDefine += "\n std::map %s;".format(name) } @@ -123,6 +102,47 @@ function getHDefineOfVariable(name, type, variable, optional) { } } +function variableTypeNumber(optional, variable, type, name) { + if (optional) { + variable.hDefine += "\n std::optional<%s> %s;".format(type, name); + } else { + variable.hDefine += "\n %s %s;".format(type, name); + } +} + +function variableTypeBoolean(optional, variable, name) { + if (optional) { + variable.hDefine += "\n std::optional %s;".format(name); + } else { + variable.hDefine += "\n bool %s;".format(name); + } +} + +function variableTypeEnum(type, variable, name) { + let enumBasicType = EnumList.getValue(type)[0].type; + if (enumBasicType === 'string') { + variable.hDefine += "\n %s %s;".format('std::string', name); + } else { + variable.hDefine += "\n %s %s;".format(type, name); + } +} + +function variableTypeInterface(optional, variable, type, name) { + if (optional) { + variable.hDefine += "\n std::optional<%s> %s;".format(type, name); + } else { + variable.hDefine += "\n %s %s;".format(type, name); + } +} + +function variableTypeString(optional, variable, name) { + if (optional) { + variable.hDefine += "\n std::optional %s;".format(name); + } else { + variable.hDefine += "\n std::string %s;".format(name); + } +} + function typeArrFunctionTwo(type, variable, name, optional) { let arrayType = getArrayTypeTwo(type); if (arrayType === "any") { diff --git a/src/cli/dts2cpp/src/gen/generate/param_generate.js b/src/cli/dts2cpp/src/gen/generate/param_generate.js index 5289399a..a7b8358f 100644 --- a/src/cli/dts2cpp/src/gen/generate/param_generate.js +++ b/src/cli/dts2cpp/src/gen/generate/param_generate.js @@ -450,18 +450,14 @@ function paramGenerateArray(p, funcValue, param) { } else if (arrayType === "any") { return paramGenerateAnyArray(p, name, type, param) } - else if (keyType === "[key:string]:"|| keyType === "Map* in%d = nullptr;".format(arrayType, p) : "\n std::vector<%s> in%d;".format(arrayType, p) let arrValueCheckout = jsToC(inParamName, "pxt->GetArgv(%d)".format(getConstNum(p)), type) - if (funcValue.optional) { - arrValueCheckout = "if (pxt->GetArgc() > %s) {\n vio->in%d = new std::vector<%s>;\n" - .format(getConstNum(p), p, arrayType) + arrValueCheckout + " }\n" - param.optionalParamDestory += "C_DELETE(vio->in%d);\n ".format(p) - } + arrValueCheckout = getFuncOptionalValue(funcValue, arrValueCheckout, p, arrayType, param); param.valueCheckout += arrValueCheckout param.valueFill += "%svio->in%d".format(param.valueFill.length > 0 ? ", " : "", p) param.valueDefine += "%sstd::vector<%s>%s%s".format(param.valueDefine.length > 0 ? ", " @@ -472,6 +468,19 @@ function paramGenerateArray(p, funcValue, param) { } } +function checkIsMap(keyType) { + return keyType === "[key:string]:" || keyType === "Map::type enumType; if (typeid(enumType) == typeid(uint32_t)) { @@ -691,29 +707,33 @@ function returnGenerate(returnInfo, param, data, isOnFuncFlag = false) { outParam = result[1] generateOptionalAndUnion(returnInfo, param, data, outParam, c2JsresultName); - if (type === "string") { - param.valueOut = returnInfo.optional ? "std::string* out = nullptr;" : "std::string out;\n" - param.valueDefine += "%sstd::string%s out".format(param.valueDefine.length > 0 ? ", " : "", modifiers) - } else if (type === "void") { - NapiLog.logInfo("The current void type don't need generate"); - } else if (type === "boolean") { - param.valueOut = returnInfo.optional ? "bool* out = nullptr;" : "bool out;\n" - param.valueDefine += "%sbool%s out".format(param.valueDefine.length > 0 ? ", " : "", modifiers) - } else if (isEnum(type, data)) { - returnGenerateEnum(data, returnInfo, param) - } else if(generateType(type)){ - returnGenerate2(returnInfo, param, data) - } else if (type.substring(0, 12) === "NUMBER_TYPE_") { - param.valueOut = type + (returnInfo.optional ? "* out = nullptr;" : " out;\n") - param.valueDefine += "%s%s%s out".format(param.valueDefine.length > 0 ? ", " : "", type, modifiers) - } else if (isObjectType(type)) { - returnGenerateObject(returnInfo, param, data) - } else if (isArrowFunc(type)) { - genArrowFuncParam(param, returnInfo, data); - } else { - NapiLog.logError("Do not support returning the type [%s]." - .format(type), getLogErrInfo()); - } + returnGenerateCheckType(type, param, returnInfo, modifiers, data); +} + +function returnGenerateCheckType(type, param, returnInfo, modifiers, data) { + if (type === "string") { + param.valueOut = returnInfo.optional ? "std::string* out = nullptr;" : "std::string out;\n"; + param.valueDefine += "%sstd::string%s out".format(param.valueDefine.length > 0 ? ", " : "", modifiers); + } else if (type === "void") { + NapiLog.logInfo("The current void type don't need generate"); + } else if (type === "boolean") { + param.valueOut = returnInfo.optional ? "bool* out = nullptr;" : "bool out;\n"; + param.valueDefine += "%sbool%s out".format(param.valueDefine.length > 0 ? ", " : "", modifiers); + } else if (isEnum(type, data)) { + returnGenerateEnum(data, returnInfo, param); + } else if (generateType(type)) { + returnGenerate2(returnInfo, param, data); + } else if (type.substring(0, 12) === "NUMBER_TYPE_") { + param.valueOut = type + (returnInfo.optional ? "* out = nullptr;" : " out;\n"); + param.valueDefine += "%s%s%s out".format(param.valueDefine.length > 0 ? ", " : "", type, modifiers); + } else if (isObjectType(type)) { + returnGenerateObject(returnInfo, param, data); + } else if (isArrowFunc(type)) { + genArrowFuncParam(param, returnInfo, data); + } else { + NapiLog.logError("Do not support returning the type [%s]." + .format(type), getLogErrInfo()); + } } function genArrowFuncParam(param, returnInfo, data) { diff --git a/src/cli/dts2cpp/src/gen/generate/type.js b/src/cli/dts2cpp/src/gen/generate/type.js index f7612736..3ca4eaaa 100644 --- a/src/cli/dts2cpp/src/gen/generate/type.js +++ b/src/cli/dts2cpp/src/gen/generate/type.js @@ -75,35 +75,23 @@ function getHDefineOfVariable(name, type, variable, optional) { if (type.indexOf("|") >= 0) { unionTypeString(name, type, variable, optional) } else if (type === "string") { - if (optional) { - variable.hDefine += "\n std::optional %s;".format(name) - } else { - variable.hDefine += "\n std::string %s;".format(name) - } + variableTypeString(optional, variable, name); } else if (TypeList.getValue(type)) variable.hDefine += "\n %s %s;".format(type, name) else if (EnumList.getValue(type)) variable.hDefine += "\n %s %s;".format(type, name) else if (type.indexOf("Array<") === 0) { typeArrFunctionOne(type, variable, name, optional); } else if (type === "boolean") { - if (optional) { - variable.hDefine += "\n std::optional %s;".format(name) - } else { - variable.hDefine += "\n bool %s;".format(name) - } + variableTypeBoolean(optional, variable, name); } else if (type.substring(type.length - 2) === "[]") { typeArrFunctionTwo(type, variable, name, optional); - } else if (type.substring(0, 4) === "Map<" || type.indexOf("{[key:") === 0) { + } else if (checkIsMap(type)) { variable.hDefine += mapTypeString(type, name, optional) } else if (type === "any") { variable.hDefine += anyTypeString(type, name) } else if (type.substring(0, 12) === "NUMBER_TYPE_") { - if (optional) { - variable.hDefine += "\n std::optional<%s> %s;".format(type, name) - } else { - variable.hDefine += "\n %s %s;".format(type, name) - } - } else if (type === "Object" || type === "object") { + variableTypeNumber(optional, variable, type, name); + } else if (checkIsObject(type)) { variable.hDefine += "\n std::map %s;".format(name) } else { @@ -113,6 +101,38 @@ function getHDefineOfVariable(name, type, variable, optional) { } } +function checkIsObject(type) { + return type === "Object" || type === "object"; +} + +function checkIsMap(type) { + return type.substring(0, 4) === "Map<" || type.indexOf("{[key:") === 0; +} + +function variableTypeNumber(optional, variable, type, name) { + if (optional) { + variable.hDefine += "\n std::optional<%s> %s;".format(type, name); + } else { + variable.hDefine += "\n %s %s;".format(type, name); + } +} + +function variableTypeBoolean(optional, variable, name) { + if (optional) { + variable.hDefine += "\n std::optional %s;".format(name); + } else { + variable.hDefine += "\n bool %s;".format(name); + } +} + +function variableTypeString(optional, variable, name) { + if (optional) { + variable.hDefine += "\n std::optional %s;".format(name); + } else { + variable.hDefine += "\n std::string %s;".format(name); + } +} + function typeArrFunctionTwo(type, variable, name, optional) { let arrayType = getArrayTypeTwo(type); if (arrayType === "any") { diff --git a/src/cli/dts2ets/appCodeGen/src/analyze/function.js b/src/cli/dts2ets/appCodeGen/src/analyze/function.js index 91eda57d..0f749c7a 100644 --- a/src/cli/dts2ets/appCodeGen/src/analyze/function.js +++ b/src/cli/dts2ets/appCodeGen/src/analyze/function.js @@ -60,17 +60,17 @@ function analyzeSubInterfaceVariable(t, tt, result) { } function getFuncParaType(v, interfaceName, data, results) { - let arrayType = re.match('(Async)*Callback<(Array<([a-zA-Z_0-9]+)>)>', v['type']) - let parameter = v['type'] + let arrayType = re.match('(Async)*Callback<(Array<([a-zA-Z_0-9]+)>)>', v.type) + let parameter = v.type if (arrayType) { - parameter = re.getReg(v['type'], arrayType.regs[2]) + parameter = re.getReg(v.type, arrayType.regs[2]) } if (isEnum(parameter, data)) { let index = enumIndex(parameter, data) if (data.enum[index].body.enumValueType === EnumValueType.ENUM_VALUE_TYPE_NUMBER) { - v['type'] = v['type'].replace(parameter, 'NUMBER_TYPE_' + NumberIncrease.getAndIncrease()) + v.type = v.type.replace(parameter, 'NUMBER_TYPE_' + NumberIncrease.getAndIncrease()) } else if (data.enum[index].body.enumValueType === EnumValueType.ENUM_VALUE_TYPE_STRING) { - v['type'] = v['type'].replace(parameter, 'string') + v.type = v.type.replace(parameter, 'string') } else { NapiLog.logError('analyzeFunction getFuncParaType is not support this type %s.' .format(data.enum[index].body.enumValueType), getLogErrInfo); @@ -81,9 +81,9 @@ function getFuncParaType(v, interfaceName, data, results) { else if (isEnum(parameter, results)) { let index = enumIndex(parameter, results) if (results.enum[index].body.enumValueType === EnumValueType.ENUM_VALUE_TYPE_NUMBER) { - v['type'] = v['type'].replace(parameter, 'NUMBER_TYPE_' + NumberIncrease.getAndIncrease()) + v.type = v.type.replace(parameter, 'NUMBER_TYPE_' + NumberIncrease.getAndIncrease()) } else if (results.enum[index].body.enumValueType === EnumValueType.ENUM_VALUE_TYPE_STRING) { - v['type'] = v['type'].replace(parameter, 'string') + v.type = v.type.replace(parameter, 'string') } else { NapiLog.logError('analyzeFunction getFuncParaType is not support this type %s.' .format(results.enum[index].body.enumValueType), getLogErrInfo()); @@ -93,18 +93,18 @@ function getFuncParaType(v, interfaceName, data, results) { let interfaceType = re.match('{([A-Za-z0-9_]+:[A-Za-z0-9_,]+)([A-Za-z0-9_]+:[A-Za-z0-9_]+)}$', v['type']) if (interfaceType) { - v['type'] = interfaceName + v.type = interfaceName } if (parameter.indexOf('number') >= 0) { - v['type'] = v['type'].replace('number', 'NUMBER_TYPE_' + NumberIncrease.getAndIncrease()) + v.type = v.type.replace('number', 'NUMBER_TYPE_' + NumberIncrease.getAndIncrease()) } // type的处理 if (isType(parameter, data)) { let index = typeIndex(parameter, data) if (data.type[index].isEnum) { - v['type'] = v['type'].replace(parameter, 'string') + v.type = v.type.replace(parameter, 'string') } } return v -- Gitee From 32348bb8e4a99727fac30bdd3878b18e1a47785c Mon Sep 17 00:00:00 2001 From: gou-jingjing Date: Wed, 10 Jul 2024 16:44:42 +0800 Subject: [PATCH 2/2] fix codecheck Signed-off-by: gou-jingjing --- src/cli/dts2cpp/src/gen/generate/interface.js | 20 ++++++------- .../src/gen/generate/param_generate.js | 8 ++--- .../src/gen/generate/return_generate.js | 30 +++++++++---------- src/cli/dts2cpp/src/gen/generate/type.js | 16 +++++----- 4 files changed, 37 insertions(+), 37 deletions(-) diff --git a/src/cli/dts2cpp/src/gen/generate/interface.js b/src/cli/dts2cpp/src/gen/generate/interface.js index 721bda8e..73e3edc4 100644 --- a/src/cli/dts2cpp/src/gen/generate/interface.js +++ b/src/cli/dts2cpp/src/gen/generate/interface.js @@ -104,42 +104,42 @@ function getHDefineOfVariable(name, type, variable, optional) { function variableTypeNumber(optional, variable, type, name) { if (optional) { - variable.hDefine += "\n std::optional<%s> %s;".format(type, name); + variable.hDefine += '\n std::optional<%s> %s;'.format(type, name); } else { - variable.hDefine += "\n %s %s;".format(type, name); + variable.hDefine += '\n %s %s;'.format(type, name); } } function variableTypeBoolean(optional, variable, name) { if (optional) { - variable.hDefine += "\n std::optional %s;".format(name); + variable.hDefine += '\n std::optional %s;'.format(name); } else { - variable.hDefine += "\n bool %s;".format(name); + variable.hDefine += '\n bool %s;'.format(name); } } function variableTypeEnum(type, variable, name) { let enumBasicType = EnumList.getValue(type)[0].type; if (enumBasicType === 'string') { - variable.hDefine += "\n %s %s;".format('std::string', name); + variable.hDefine += '\n %s %s;'.format('std::string', name); } else { - variable.hDefine += "\n %s %s;".format(type, name); + variable.hDefine += '\n %s %s;'.format(type, name); } } function variableTypeInterface(optional, variable, type, name) { if (optional) { - variable.hDefine += "\n std::optional<%s> %s;".format(type, name); + variable.hDefine += '\n std::optional<%s> %s;'.format(type, name); } else { - variable.hDefine += "\n %s %s;".format(type, name); + variable.hDefine += '\n %s %s;'.format(type, name); } } function variableTypeString(optional, variable, name) { if (optional) { - variable.hDefine += "\n std::optional %s;".format(name); + variable.hDefine += '\n std::optional %s;'.format(name); } else { - variable.hDefine += "\n std::string %s;".format(name); + variable.hDefine += '\n std::string %s;'.format(name); } } diff --git a/src/cli/dts2cpp/src/gen/generate/param_generate.js b/src/cli/dts2cpp/src/gen/generate/param_generate.js index a7b8358f..7570c080 100644 --- a/src/cli/dts2cpp/src/gen/generate/param_generate.js +++ b/src/cli/dts2cpp/src/gen/generate/param_generate.js @@ -469,14 +469,14 @@ function paramGenerateArray(p, funcValue, param) { } function checkIsMap(keyType) { - return keyType === "[key:string]:" || keyType === "Map 0 ? ", " : "", modifiers); - } else if (type === "void") { - NapiLog.logInfo("The current void type don't need generate"); - } else if (type === "boolean") { - param.valueOut = returnInfo.optional ? "bool* out = nullptr;" : "bool out;\n"; - param.valueDefine += "%sbool%s out".format(param.valueDefine.length > 0 ? ", " : "", modifiers); + if (type === 'string') { + param.valueOut = returnInfo.optional ? 'std::string* out = nullptr;' : 'std::string out;\n'; + param.valueDefine += '%sstd::string%s out'.format(param.valueDefine.length > 0 ? ', ' : '', modifiers); + } else if (type === 'void') { + NapiLog.logInfo('The current void type do not need generate'); + } else if (type === 'boolean') { + param.valueOut = returnInfo.optional ? 'bool* out = nullptr;' : 'bool out;\n'; + param.valueDefine += '%sbool%s out'.format(param.valueDefine.length > 0 ? ', ' : '', modifiers); } else if (isEnum(type, data)) { returnGenerateEnum(data, returnInfo, param); } else if (generateType(type)) { returnGenerate2(returnInfo, param, data); - } else if (type.substring(0, 12) === "NUMBER_TYPE_") { - param.valueOut = type + (returnInfo.optional ? "* out = nullptr;" : " out;\n"); - param.valueDefine += "%s%s%s out".format(param.valueDefine.length > 0 ? ", " : "", type, modifiers); + } else if (type.substring(0, 12) === 'NUMBER_TYPE_') { + param.valueOut = type + (returnInfo.optional ? '* out = nullptr;' : ' out;\n'); + param.valueDefine += '%s%s%s out'.format(param.valueDefine.length > 0 ? ', ' : '', type, modifiers); } else if (isObjectType(type)) { returnGenerateObject(returnInfo, param, data); } else if (isArrowFunc(type)) { genArrowFuncParam(param, returnInfo, data); } else { - NapiLog.logError("Do not support returning the type [%s]." + NapiLog.logError('Do not support returning the type [%s].' .format(type), getLogErrInfo()); } } diff --git a/src/cli/dts2cpp/src/gen/generate/type.js b/src/cli/dts2cpp/src/gen/generate/type.js index 3ca4eaaa..b43aa7ea 100644 --- a/src/cli/dts2cpp/src/gen/generate/type.js +++ b/src/cli/dts2cpp/src/gen/generate/type.js @@ -102,34 +102,34 @@ function getHDefineOfVariable(name, type, variable, optional) { } function checkIsObject(type) { - return type === "Object" || type === "object"; + return type === 'Object' || type === 'object'; } function checkIsMap(type) { - return type.substring(0, 4) === "Map<" || type.indexOf("{[key:") === 0; + return type.substring(0, 4) === 'Map<' || type.indexOf('{[key:') === 0; } function variableTypeNumber(optional, variable, type, name) { if (optional) { - variable.hDefine += "\n std::optional<%s> %s;".format(type, name); + variable.hDefine += '\n std::optional<%s> %s;'.format(type, name); } else { - variable.hDefine += "\n %s %s;".format(type, name); + variable.hDefine += '\n %s %s;'.format(type, name); } } function variableTypeBoolean(optional, variable, name) { if (optional) { - variable.hDefine += "\n std::optional %s;".format(name); + variable.hDefine += '\n std::optional %s;'.format(name); } else { - variable.hDefine += "\n bool %s;".format(name); + variable.hDefine += '\n bool %s;'.format(name); } } function variableTypeString(optional, variable, name) { if (optional) { - variable.hDefine += "\n std::optional %s;".format(name); + variable.hDefine += '\n std::optional %s;'.format(name); } else { - variable.hDefine += "\n std::string %s;".format(name); + variable.hDefine += '\n std::string %s;'.format(name); } } -- Gitee