From db021ca9fe2dbccdb344807e0a8fe8b5720f7c56 Mon Sep 17 00:00:00 2001 From: lizhonghan Date: Wed, 21 May 2025 14:43:59 +0800 Subject: [PATCH] Fix arkts-numeric-semantic Issue: Description: 1. report all NumericLiteral integer and autofix it append '.0', like 11 -> 11.0 2. ignore initializer of EnumMember 3. ignore argument of ElementAccess 4. ignore NumericLiteral as name of ts.Nodes like InterfaceDeclaration ... 5. ignore scientific notation NumericLiteral and non-decimal notation NumericLiteral Change-Id: I754ae55c921404d26ecd966ed3e12d76707b63fb Signed-off-by: lizhonghan --- ets2panda/linter/src/lib/TypeScriptLinter.ts | 80 +- .../linter/src/lib/autofixes/Autofixer.ts | 5 + .../builtin_callsignature.ets.arkts2.json | 110 + ...upport_property_descriptor.ets.arkts2.json | 20 + .../builtin/builtin_thisArgs.ets.arkts2.json | 74 +- ...oncurrent_decorator_arkts2.ets.arkts2.json | 12 +- ...ncurrent_decorator_arkts2.ets.autofix.json | 47 +- ...oncurrent_decorator_arkts2.ets.migrate.ets | 2 +- ...t_sharedarraybuffer_arkts2.ets.arkts2.json | 22 +- ..._sharedarraybuffer_arkts2.ets.autofix.json | 254 ++- ...t_sharedarraybuffer_arkts2.ets.migrate.ets | 4 +- .../interop/call_function.ets.arkts2.json | 10 + .../call_object_methods.ets.arkts2.json | 10 + .../call_object_methods.ets.autofix.json | 33 +- .../call_object_methods.ets.migrate.ets | 2 +- ...increases_decreases_js_obj.ets.arkts2.json | 10 + ...ncreases_decreases_js_obj.ets.autofix.json | 81 +- ...increases_decreases_js_obj.ets.migrate.ets | 2 +- .../instantiated_js_obj.ets.arkts2.json | 40 + .../instantiated_js_obj.ets.autofix.json | 138 +- .../instantiated_js_obj.ets.migrate.ets | 8 +- .../interop_import_js_compare.ets.arkts2.json | 60 + .../interop_import_js_index.ets.arkts2.json | 10 + .../interop_import_js_index.ets.autofix.json | 69 +- .../interop_import_js_index.ets.migrate.ets | 4 +- .../interop_import_js_rules.ets.arkts2.json | 90 +- .../interop_import_js_rules.ets.autofix.json | 156 +- .../interop_import_typeof_js.ets.arkts2.json | 30 + .../interop_import_typeof_js.ets.autofix.json | 291 ++- .../interop_import_typeof_js.ets.migrate.ets | 6 +- ...p_not_have_property_arkts2.ets.arkts2.json | 30 + ..._not_have_property_arkts2.ets.autofix.json | 123 +- ...p_not_have_property_arkts2.ets.migrate.ets | 4 +- .../interop/no_js_instanceof.ets.arkts2.json | 34 +- ...object_literal_constructor.ets.arkts2.json | 12 +- ...matable_extend_decorator_1.ets.arkts2.json | 60 + ...atable_extend_decorator_1.ets.autofix.json | 180 +- ...matable_extend_decorator_1.ets.migrate.ets | 8 +- ...matable_extend_decorator_2.ets.arkts2.json | 60 + ...atable_extend_decorator_2.ets.autofix.json | 126 ++ ...matable_extend_decorator_2.ets.migrate.ets | 8 +- ...arkts-array-type-immutable.ets.arkts2.json | 60 + ...imitive-type-normalization.ets.arkts2.json | 30 + ...o_duplicate_function_name3.ets.arkts2.json | 120 ++ .../main/arktsutils_module.ets.arkts2.json | 42 +- .../main/arktsutils_module.ets.autofix.json | 120 +- .../main/arktsutils_module.ets.migrate.ets | 8 +- .../array_index_expr_type.ets.arkts2.json | 312 ++- .../array_index_expr_type.ets.autofix.json | 827 +++++++- .../array_index_expr_type.ets.migrate.ets | 38 +- .../avoid_using_union_types.ets.arkts2.json | 80 +- .../test/main/case_expr.ets.arkts2.json | 88 +- .../test/main/class_as_object.ets.arkts2.json | 70 +- .../test/main/custom_layout.ets.arkts2.json | 200 ++ .../test/main/custom_layout.ets.autofix.json | 594 +++++- .../test/main/custom_layout.ets.migrate.ets | 34 +- .../default_required_args.ets.arkts2.json | 90 + .../main/definite_assignment.ets.arkts2.json | 50 + .../main/dollar_binding_1.ets.arkts2.json | 44 +- .../main/dollar_binding_1.ets.autofix.json | 126 +- .../main/dollar_binding_1.ets.migrate.ets | 4 +- .../main/dollar_binding_2.ets.arkts2.json | 23 +- .../main/dollar_binding_2.ets.autofix.json | 45 +- .../main/dollar_binding_2.ets.migrate.ets | 4 +- .../double_dollar_binding_1.ets.arkts2.json | 10 + .../double_dollar_binding_1.ets.autofix.json | 93 +- .../double_dollar_binding_1.ets.migrate.ets | 2 +- .../double_dollar_binding_2.ets.arkts2.json | 13 +- .../double_dollar_binding_2.ets.autofix.json | 24 +- .../double_dollar_binding_2.ets.migrate.ets | 2 +- .../double_excla_binding_1.ets.arkts2.json | 94 +- .../double_excla_binding_1.ets.autofix.json | 381 +++- .../double_excla_binding_1.ets.migrate.ets | 14 +- .../double_excla_binding_2.ets.arkts2.json | 94 +- .../double_excla_binding_2.ets.autofix.json | 171 +- .../double_excla_binding_2.ets.migrate.ets | 14 +- .../main/dynamic_ctor_call.ets.arkts2.json | 40 + .../entry_annotation_test10_1.ets.arkts2.json | 64 +- ...entry_annotation_test10_1.ets.autofix.json | 27 +- .../entry_annotation_test10_1.ets.migrate.ets | 50 +- .../entry_annotation_test10_2.ets.arkts2.json | 43 +- ...entry_annotation_test10_2.ets.autofix.json | 54 +- .../entry_annotation_test10_2.ets.migrate.ets | 50 +- .../enum_not_support_float.ets.arkts2.json | 80 + .../main/equals_token_option.ets.arkts2.json | 140 ++ .../test/main/es_object.ets.arkts2.json | 170 ++ .../explicit_function_type.ets.arkts2.json | 120 +- .../explicit_function_type.ets.autofix.json | 267 ++- .../explicit_function_type.ets.migrate.ets | 12 +- .../explicit_function_type.ets.migrate.json | 10 +- .../linter/test/main/exponent.ets.arkts2.json | 60 + .../test/main/exponent.ets.autofix.json | 150 +- .../linter/test/main/exponent.ets.migrate.ets | 8 +- .../test/main/exponent.ets.migrate.json | 8 +- .../main/extend_decorator_1.ets.arkts2.json | 74 +- .../main/extend_decorator_1.ets.autofix.json | 141 +- .../main/extend_decorator_1.ets.migrate.ets | 10 +- .../main/extend_decorator_2.ets.arkts2.json | 74 +- .../main/extend_decorator_2.ets.autofix.json | 129 +- .../main/extend_decorator_2.ets.migrate.ets | 10 +- .../main/extends_expression.ets.arkts2.json | 256 ++- .../func_inferred_type_args.ets.arkts2.json | 92 +- .../test/main/global_this.ets.arkts2.json | 20 + .../test/main/global_this.ets.autofix.json | 72 +- .../test/main/global_this.ets.migrate.ets | 4 +- .../incompatible_function.ets.arkts2.json | 122 +- .../test/main/index_negative.ets.arkts2.json | 192 +- .../main/interface_import_1.ets.arkts2.json | 54 +- .../main/interface_import_1.ets.autofix.json | 171 +- .../main/interface_import_1.ets.migrate.ets | 6 +- .../main/interface_import_2.ets.arkts2.json | 54 +- .../main/interface_import_2.ets.autofix.json | 87 +- .../main/interface_import_2.ets.migrate.ets | 6 +- .../main/invalid_identifier.ets.arkts2.json | 1732 ++++++++-------- .../test/main/limit_void_type.ets.arkts2.json | 50 + .../main/limited_literal_type.ets.arkts2.json | 190 ++ .../main/limited_stdlib_api.ets.arkts2.json | 94 +- .../literals_as_prop_names.ets.arkts2.json | 80 + .../literals_as_prop_names.ets.autofix.json | 438 +++- .../literals_as_prop_names.ets.migrate.ets | 12 +- .../literals_as_prop_names.ets.migrate.json | 4 +- .../test/main/make_observed_1.ets.arkts2.json | 40 + .../test/main/make_observed_2.ets.arkts2.json | 40 + .../test/main/make_observed_3.ets.arkts2.json | 50 + .../main/method_inheritance.ets.arkts2.json | 40 + .../test/main/no_sparse_array.ets.arkts2.json | 20 + .../no_ts_like_smart_type.ets.arkts2.json | 20 + .../main/no_tuples_arrays.ets.arkts2.json | 210 ++ .../numeric_bigint_compare.ets.arkts2.json | 10 + .../main/numeric_semantics.ets.arkts2.json | 1844 +++++++++++------ .../main/numeric_semantics.ets.autofix.json | 1053 +++++++++- .../main/numeric_semantics.ets.migrate.ets | 420 ++-- .../linter/test/main/numeric_semantics2.ets | 126 ++ .../main/numeric_semantics2.ets.args.json | 21 + .../main/numeric_semantics2.ets.arkts2.json | 678 ++++++ .../main/numeric_semantics2.ets.autofix.json | 1267 +++++++++++ .../test/main/numeric_semantics2.ets.json | 228 ++ .../main/numeric_semantics2.ets.migrate.ets | 129 ++ .../main/numeric_semantics2.ets.migrate.json | 208 ++ ...object_literals_properties.ets.arkts2.json | 420 ++++ ...bject_literals_properties.ets.autofix.json | 1198 ++++++++++- ...object_literals_properties.ets.migrate.ets | 74 +- ...bject_literals_properties.ets.migrate.json | 6 +- .../main/parameter_properties.ets.arkts2.json | 140 ++ .../parameter_properties.ets.autofix.json | 702 ++++++- .../main/parameter_properties.ets.migrate.ets | 20 +- ...decorator_and_interfaces_1.ets.arkts2.json | 10 + ...decorator_and_interfaces_2.ets.arkts2.json | 20 + ...decorator_and_interfaces_3.ets.arkts2.json | 140 ++ .../property_access_by_index.ets.arkts2.json | 422 +++- .../property_decl_on_function.ets.arkts2.json | 40 + ...object_literals_properties.ets.arkts2.json | 63 +- .../main/runtime_array_bound.ets.arkts2.json | 670 +++++- .../main/runtime_array_bound.ets.migrate.ets | 52 +- .../test/main/stdlib_array.ets.arkts2.json | 120 ++ .../main/structural_identity.ets.arkts2.json | 42 +- ...ntity_extended_inheritance.ets.arkts2.json | 140 ++ .../styles_decorator_anon_1.ets.arkts2.json | 30 + .../styles_decorator_anon_1.ets.autofix.json | 105 +- .../styles_decorator_anon_1.ets.migrate.ets | 6 +- .../styles_decorator_anon_2.ets.arkts2.json | 33 +- .../styles_decorator_anon_2.ets.autofix.json | 66 +- .../styles_decorator_anon_2.ets.migrate.ets | 6 +- .../styles_decorator_global_1.ets.arkts2.json | 40 + ...styles_decorator_global_1.ets.autofix.json | 168 +- .../styles_decorator_global_1.ets.migrate.ets | 8 +- .../styles_decorator_global_2.ets.arkts2.json | 43 +- ...styles_decorator_global_2.ets.autofix.json | 87 +- .../styles_decorator_global_2.ets.migrate.ets | 8 +- .../styles_decorator_struct_1.ets.arkts2.json | 20 + ...styles_decorator_struct_1.ets.autofix.json | 204 +- .../styles_decorator_struct_1.ets.migrate.ets | 4 +- .../styles_decorator_struct_2.ets.arkts2.json | 20 + ...styles_decorator_struct_2.ets.autofix.json | 42 + .../styles_decorator_struct_2.ets.migrate.ets | 4 +- .../test/main/swicth_expr.ets.arkts2.json | 1452 +++++++++---- ...taskpool_deprecated_usages.ets.arkts2.json | 144 +- .../main/ts-like-catch-type.ets.arkts2.json | 44 +- .../test/main/ts_overload.ets.arkts2.json | 60 + .../test/main/type_inference.ets.arkts2.json | 20 + .../test/main/void_operator.ets.arkts2.json | 180 ++ .../test/main/void_operator.ets.autofix.json | 570 ++++- .../test/main/void_operator.ets.migrate.ets | 22 +- .../linter/test/rules/rule207.ets.arkts2.json | 20 + ...cl_with_duplicate_name_sdk.ets.arkts2.json | 572 ++--- .../limit_void_type_sdk.ets.arkts2.json | 60 + .../limit_void_type_sdk2.ets.arkts2.json | 40 + 187 files changed, 22584 insertions(+), 3950 deletions(-) create mode 100755 ets2panda/linter/test/main/numeric_semantics2.ets create mode 100755 ets2panda/linter/test/main/numeric_semantics2.ets.args.json create mode 100755 ets2panda/linter/test/main/numeric_semantics2.ets.arkts2.json create mode 100644 ets2panda/linter/test/main/numeric_semantics2.ets.autofix.json create mode 100755 ets2panda/linter/test/main/numeric_semantics2.ets.json create mode 100644 ets2panda/linter/test/main/numeric_semantics2.ets.migrate.ets create mode 100644 ets2panda/linter/test/main/numeric_semantics2.ets.migrate.json diff --git a/ets2panda/linter/src/lib/TypeScriptLinter.ts b/ets2panda/linter/src/lib/TypeScriptLinter.ts index 15dc1ea2f3..a42dad1d22 100644 --- a/ets2panda/linter/src/lib/TypeScriptLinter.ts +++ b/ets2panda/linter/src/lib/TypeScriptLinter.ts @@ -381,7 +381,8 @@ export class TypeScriptLinter extends BaseTypeScriptLinter { [ts.SyntaxKind.TypeOfExpression, this.handleInterOpImportJsOnTypeOfNode], [ts.SyntaxKind.AwaitExpression, this.handleAwaitExpression], [ts.SyntaxKind.PostfixUnaryExpression, this.handlePostfixUnaryExpression], - [ts.SyntaxKind.BigIntLiteral, this.handleBigIntLiteral] + [ts.SyntaxKind.BigIntLiteral, this.handleBigIntLiteral], + [ts.SyntaxKind.NumericLiteral, this.handleNumericLiteral] ]); lint(): void { @@ -4617,7 +4618,6 @@ export class TypeScriptLinter extends BaseTypeScriptLinter { return; } this.checkTypeArgumentsForGenericCallWithNoTypeArgs(callLikeExpr, callSignature); - this.checkTypeArgumentsForGenericCallWithNoTypeArgsNumber(callLikeExpr, callSignature); } private static isInvalidBuiltinGenericConstructorCall(newExpression: ts.CallExpression | ts.NewExpression): boolean { @@ -4679,53 +4679,6 @@ export class TypeScriptLinter extends BaseTypeScriptLinter { return !!declaration && ts.isClassDeclaration(declaration) && !declaration.typeParameters; } - checkTypeArgumentsForGenericCallWithNoTypeArgsNumber( - callLikeExpr: ts.CallExpression | ts.NewExpression, - callSignature: ts.Signature - ): void { - if (TypeScriptLinter.isArrayFromCall(callLikeExpr)) { - return; - } - - const tsSyntaxKind = ts.isNewExpression(callLikeExpr) ? - ts.SyntaxKind.Constructor : - ts.SyntaxKind.FunctionDeclaration; - const signFlags = ts.NodeBuilderFlags.WriteTypeArgumentsOfSignature | ts.NodeBuilderFlags.IgnoreErrors; - const signDecl = this.tsTypeChecker.signatureToSignatureDeclaration( - callSignature, - tsSyntaxKind, - undefined, - signFlags - ); - if (!signDecl?.typeArguments) { - return; - } - let hasNumberType = false; - const resolvedTypeArgs = signDecl.typeArguments; - const startTypeArg = callLikeExpr.typeArguments?.length ?? 0; - for (let i = startTypeArg; i < resolvedTypeArgs.length; ++i) { - const typeNode = resolvedTypeArgs[i]; - if ( - typeNode.kind === ts.SyntaxKind.NumberKeyword || - ts.isLiteralTypeNode(typeNode) && ts.isNumericLiteral(typeNode.literal) - ) { - hasNumberType = true; - break; - } - } - if (this.options.arkts2 && hasNumberType && ts.isCallExpression(callLikeExpr)) { - const resolvedTypeArgs = signDecl.typeArguments.map((typeNode) => { - if (ts.isLiteralTypeNode(typeNode) && ts.isNumericLiteral(typeNode.literal)) { - return ts.factory.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword); - } - return typeNode; - }); - const resolvedTypeArgsNodeArray = ts.factory.createNodeArray(resolvedTypeArgs); - const autofix = this.autofixer?.fixFunctionDeclarationly(callLikeExpr, resolvedTypeArgsNodeArray); - this.incrementCounters(callLikeExpr, FaultID.NumericSemantics, autofix); - } - } - static isArrayFromCall(callLikeExpr: ts.CallExpression | ts.NewExpression): boolean { return ( ts.isCallExpression(callLikeExpr) && @@ -8695,4 +8648,33 @@ export class TypeScriptLinter extends BaseTypeScriptLinter { const autofix = this.autofixer?.fixCustomLayout(node); this.incrementCounters(node.name, FaultID.CustomLayoutNeedAddDecorator, autofix); } + + private handleNumericLiteral(node: ts.Node): void { + if (!this.options.arkts2 || !ts.isNumericLiteral(node)) { + return; + } + const isInElementAccessExpression = (node: ts.NumericLiteral): boolean => { + for (let parent = node.parent; parent; parent = parent.parent) { + if (ts.isElementAccessExpression(parent)) { + return true; + } + } + return false; + }; + const isNoNeedFix = + isInElementAccessExpression(node) || + ts.isEnumMember(node.parent) || + 'name' in node.parent && node.parent.name === node; + if (isNoNeedFix) { + return; + } + const value = parseFloat(node.text); + const nodeText = node.getText(); + const hasScientificOrRadixNotation = (/[a-zA-Z]/).test(nodeText); + const isIntegerWithoutZero = Number.isInteger(value) && !nodeText.endsWith('.0'); + if (isIntegerWithoutZero && !hasScientificOrRadixNotation) { + const autofix = this.autofixer?.fixNumericLiteralIntToNumber(node); + this.incrementCounters(node, FaultID.NumericSemantics, autofix); + } + } } diff --git a/ets2panda/linter/src/lib/autofixes/Autofixer.ts b/ets2panda/linter/src/lib/autofixes/Autofixer.ts index 5a368e5400..d0af40d098 100644 --- a/ets2panda/linter/src/lib/autofixes/Autofixer.ts +++ b/ets2panda/linter/src/lib/autofixes/Autofixer.ts @@ -4325,4 +4325,9 @@ export class Autofixer { return decorators[decorators.length - 1].getEnd(); } + + fixNumericLiteralIntToNumber(node: ts.NumericLiteral): Autofix[] | undefined { + void this; + return [{ start: node.getStart(), end: node.getEnd(), replacementText: `${node.getText()}.0` }]; + } } diff --git a/ets2panda/linter/test/builtin/builtin_callsignature.ets.arkts2.json b/ets2panda/linter/test/builtin/builtin_callsignature.ets.arkts2.json index 8263890683..8392e8d8cf 100644 --- a/ets2panda/linter/test/builtin/builtin_callsignature.ets.arkts2.json +++ b/ets2panda/linter/test/builtin/builtin_callsignature.ets.arkts2.json @@ -34,6 +34,66 @@ "rule": "API is not support ctor signature and func (arkts-builtin-cotr)", "severity": "ERROR" }, + { + "line": 17, + "column": 23, + "endLine": 17, + "endColumn": 24, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 17, + "column": 26, + "endLine": 17, + "endColumn": 27, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 17, + "column": 29, + "endLine": 17, + "endColumn": 30, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 20, + "column": 24, + "endLine": 20, + "endColumn": 25, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 20, + "column": 27, + "endLine": 20, + "endColumn": 28, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 20, + "column": 30, + "endLine": 20, + "endColumn": 31, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 23, "column": 29, @@ -54,6 +114,26 @@ "rule": "API is not support ctor signature and func (arkts-builtin-cotr)", "severity": "ERROR" }, + { + "line": 24, + "column": 15, + "endLine": 24, + "endColumn": 16, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 27, + "column": 17, + "endLine": 27, + "endColumn": 18, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 30, "column": 33, @@ -74,6 +154,16 @@ "rule": "API is not support ctor signature and func (arkts-builtin-cotr)", "severity": "ERROR" }, + { + "line": 31, + "column": 13, + "endLine": 31, + "endColumn": 14, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 33, "column": 15, @@ -84,6 +174,16 @@ "rule": "API is not support ctor signature and func (arkts-builtin-cotr)", "severity": "ERROR" }, + { + "line": 33, + "column": 25, + "endLine": 33, + "endColumn": 26, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 34, "column": 29, @@ -113,6 +213,16 @@ "suggest": "", "rule": "API is not support ctor signature and func (arkts-builtin-cotr)", "severity": "ERROR" + }, + { + "line": 36, + "column": 25, + "endLine": 36, + "endColumn": 26, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" } ] } \ No newline at end of file diff --git a/ets2panda/linter/test/builtin/builtin_not_support_property_descriptor.ets.arkts2.json b/ets2panda/linter/test/builtin/builtin_not_support_property_descriptor.ets.arkts2.json index 1903c3e2db..79538ccf9b 100644 --- a/ets2panda/linter/test/builtin/builtin_not_support_property_descriptor.ets.arkts2.json +++ b/ets2panda/linter/test/builtin/builtin_not_support_property_descriptor.ets.arkts2.json @@ -144,6 +144,16 @@ "rule": "Object literal properties can only contain name-value pairs (arkts-obj-literal-props)", "severity": "ERROR" }, + { + "line": 26, + "column": 9, + "endLine": 26, + "endColumn": 10, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 37, "column": 1, @@ -254,6 +264,16 @@ "rule": "Object literal properties can only contain name-value pairs (arkts-obj-literal-props)", "severity": "ERROR" }, + { + "line": 47, + "column": 12, + "endLine": 47, + "endColumn": 13, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 57, "column": 11, diff --git a/ets2panda/linter/test/builtin/builtin_thisArgs.ets.arkts2.json b/ets2panda/linter/test/builtin/builtin_thisArgs.ets.arkts2.json index 937b8aef5e..d59ceafe4b 100755 --- a/ets2panda/linter/test/builtin/builtin_thisArgs.ets.arkts2.json +++ b/ets2panda/linter/test/builtin/builtin_thisArgs.ets.arkts2.json @@ -24,6 +24,36 @@ "rule": "Function return type inference is limited (arkts-no-implicit-return-types)", "severity": "ERROR" }, + { + "line": 26, + "column": 44, + "endLine": 26, + "endColumn": 45, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 26, + "column": 47, + "endLine": 26, + "endColumn": 48, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 26, + "column": 50, + "endLine": 26, + "endColumn": 51, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 27, "column": 5, @@ -44,6 +74,16 @@ "rule": "\"new\" expression with dynamic constructor type is not supported (arkts-no-dynamic-ctor-call)", "severity": "ERROR" }, + { + "line": 27, + "column": 21, + "endLine": 27, + "endColumn": 22, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 28, "column": 5, @@ -65,29 +105,9 @@ "severity": "ERROR" }, { - "line": 29, - "column": 1, - "endLine": 29, - "endColumn": 25, - "problem": "BuiltinThisArgs", - "suggest": "", - "rule": "Using thisArgs as a type is not allowed in this API (arkts-builtin-thisArgs)", - "severity": "ERROR" - }, - { - "line": 29, - "column": 1, - "endLine": 29, - "endColumn": 25, - "problem": "NumericSemantics", - "suggest": "", - "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", - "severity": "ERROR" - }, - { - "line": 30, - "column": 1, - "endLine": 30, + "line": 28, + "column": 21, + "endLine": 28, "endColumn": 22, "problem": "NumericSemantics", "suggest": "", @@ -95,9 +115,9 @@ "severity": "ERROR" }, { - "line": 31, + "line": 29, "column": 1, - "endLine": 31, + "endLine": 29, "endColumn": 25, "problem": "BuiltinThisArgs", "suggest": "", @@ -109,9 +129,9 @@ "column": 1, "endLine": 31, "endColumn": 25, - "problem": "NumericSemantics", + "problem": "BuiltinThisArgs", "suggest": "", - "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "rule": "Using thisArgs as a type is not allowed in this API (arkts-builtin-thisArgs)", "severity": "ERROR" } ] diff --git a/ets2panda/linter/test/concurrent/concurrent_decorator_arkts2.ets.arkts2.json b/ets2panda/linter/test/concurrent/concurrent_decorator_arkts2.ets.arkts2.json index a392b58e69..4acb9cbb16 100644 --- a/ets2panda/linter/test/concurrent/concurrent_decorator_arkts2.ets.arkts2.json +++ b/ets2panda/linter/test/concurrent/concurrent_decorator_arkts2.ets.arkts2.json @@ -34,6 +34,16 @@ "rule": "Usage of standard library is restricted(arkts-limited-stdlib-no-concurrent-decorator)", "severity": "ERROR" }, + { + "line": 22, + "column": 15, + "endLine": 22, + "endColumn": 17, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 24, "column": 1, @@ -65,4 +75,4 @@ "severity": "ERROR" } ] -} +} \ No newline at end of file diff --git a/ets2panda/linter/test/concurrent/concurrent_decorator_arkts2.ets.autofix.json b/ets2panda/linter/test/concurrent/concurrent_decorator_arkts2.ets.autofix.json index 3a526714e4..8dc3e44612 100644 --- a/ets2panda/linter/test/concurrent/concurrent_decorator_arkts2.ets.autofix.json +++ b/ets2panda/linter/test/concurrent/concurrent_decorator_arkts2.ets.autofix.json @@ -24,7 +24,11 @@ { "start": 618, "end": 629, - "replacementText": "" + "replacementText": "", + "line": 17, + "column": 1, + "endLine": 17, + "endColumn": 12 } ], "suggest": "", @@ -41,13 +45,38 @@ { "start": 659, "end": 670, - "replacementText": "" + "replacementText": "", + "line": 20, + "column": 1, + "endLine": 20, + "endColumn": 12 } ], "suggest": "", "rule": "Usage of standard library is restricted(arkts-limited-stdlib-no-concurrent-decorator)", "severity": "ERROR" }, + { + "line": 22, + "column": 15, + "endLine": 22, + "endColumn": 17, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 702, + "end": 704, + "replacementText": "10.0", + "line": 22, + "column": 15, + "endLine": 22, + "endColumn": 17 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 24, "column": 1, @@ -58,7 +87,11 @@ { "start": 707, "end": 718, - "replacementText": "" + "replacementText": "", + "line": 24, + "column": 1, + "endLine": 24, + "endColumn": 12 } ], "suggest": "", @@ -75,7 +108,11 @@ { "start": 748, "end": 759, - "replacementText": "" + "replacementText": "", + "line": 27, + "column": 1, + "endLine": 27, + "endColumn": 12 } ], "suggest": "", @@ -93,4 +130,4 @@ "severity": "ERROR" } ] -} +} \ No newline at end of file diff --git a/ets2panda/linter/test/concurrent/concurrent_decorator_arkts2.ets.migrate.ets b/ets2panda/linter/test/concurrent/concurrent_decorator_arkts2.ets.migrate.ets index 6364fb63ab..e0b04d3ed0 100644 --- a/ets2panda/linter/test/concurrent/concurrent_decorator_arkts2.ets.migrate.ets +++ b/ets2panda/linter/test/concurrent/concurrent_decorator_arkts2.ets.migrate.ets @@ -19,7 +19,7 @@ function func() {} type a2 = number -let n18: a2 = 10; +let n18: a2 = 10.0; type funtType1 = () => void diff --git a/ets2panda/linter/test/concurrent/concurrent_sharedarraybuffer_arkts2.ets.arkts2.json b/ets2panda/linter/test/concurrent/concurrent_sharedarraybuffer_arkts2.ets.arkts2.json index 4914a0e04a..fa8024c8d3 100644 --- a/ets2panda/linter/test/concurrent/concurrent_sharedarraybuffer_arkts2.ets.arkts2.json +++ b/ets2panda/linter/test/concurrent/concurrent_sharedarraybuffer_arkts2.ets.arkts2.json @@ -44,6 +44,16 @@ "rule": "SharedArrayBuffer is not supported (arkts-no-need-stdlib-sharedArrayBuffer)", "severity": "ERROR" }, + { + "line": 17, + "column": 52, + "endLine": 17, + "endColumn": 53, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 19, "column": 20, @@ -63,6 +73,16 @@ "suggest": "", "rule": "SharedArrayBuffer is not supported (arkts-no-need-stdlib-sharedArrayBuffer)", "severity": "ERROR" + }, + { + "line": 22, + "column": 46, + "endLine": 22, + "endColumn": 47, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" } ] -} +} \ No newline at end of file diff --git a/ets2panda/linter/test/concurrent/concurrent_sharedarraybuffer_arkts2.ets.autofix.json b/ets2panda/linter/test/concurrent/concurrent_sharedarraybuffer_arkts2.ets.autofix.json index da0b259374..01e6621c9d 100644 --- a/ets2panda/linter/test/concurrent/concurrent_sharedarraybuffer_arkts2.ets.autofix.json +++ b/ets2panda/linter/test/concurrent/concurrent_sharedarraybuffer_arkts2.ets.autofix.json @@ -1,103 +1,165 @@ { - "copyright": [ - "Copyright (c) 2025 Huawei Device Co., Ltd.", - "Licensed under the Apache License, Version 2.0 (the 'License');", - "you may not use this file except in compliance with the License.", - "You may obtain a copy of the License at", - "", - "http://www.apache.org/licenses/LICENSE-2.0", - "", - "Unless required by applicable law or agreed to in writing, software", - "distributed under the License is distributed on an 'AS IS' BASIS,", - "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.", - "See the License for the specific language governing permissions and", - "limitations under the License." - ], - "result": [ - { - "line": 16, - "column": 15, - "endLine": 16, - "endColumn": 32, - "problem": "SharedArrayBufferDeprecated", - "autofix": [ + "copyright": [ + "Copyright (c) 2025 Huawei Device Co., Ltd.", + "Licensed under the Apache License, Version 2.0 (the 'License');", + "you may not use this file except in compliance with the License.", + "You may obtain a copy of the License at", + "", + "http://www.apache.org/licenses/LICENSE-2.0", + "", + "Unless required by applicable law or agreed to in writing, software", + "distributed under the License is distributed on an 'AS IS' BASIS,", + "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.", + "See the License for the specific language governing permissions and", + "limitations under the License." + ], + "result": [ { - "replacementText": "ArrayBuffer", - "start": 624, - "end": 641 - } - ], - "suggest": "", - "rule": "SharedArrayBuffer is not supported (arkts-no-need-stdlib-sharedArrayBuffer)", - "severity": "ERROR" - }, - { - "line": 17, - "column": 10, - "endLine": 17, - "endColumn": 27, - "problem": "SharedArrayBufferDeprecated", - "autofix": [ + "line": 16, + "column": 15, + "endLine": 16, + "endColumn": 32, + "problem": "SharedArrayBufferDeprecated", + "autofix": [ + { + "replacementText": "ArrayBuffer", + "start": 624, + "end": 641, + "line": 16, + "column": 15, + "endLine": 16, + "endColumn": 32 + } + ], + "suggest": "", + "rule": "SharedArrayBuffer is not supported (arkts-no-need-stdlib-sharedArrayBuffer)", + "severity": "ERROR" + }, { - "replacementText": "ArrayBuffer", - "start": 661, - "end": 678 - } - ], - "suggest": "", - "rule": "SharedArrayBuffer is not supported (arkts-no-need-stdlib-sharedArrayBuffer)", - "severity": "ERROR" - }, - { - "line": 17, - "column": 34, - "endLine": 17, - "endColumn": 51, - "problem": "SharedArrayBufferDeprecated", - "autofix": [ + "line": 17, + "column": 10, + "endLine": 17, + "endColumn": 27, + "problem": "SharedArrayBufferDeprecated", + "autofix": [ + { + "replacementText": "ArrayBuffer", + "start": 661, + "end": 678, + "line": 17, + "column": 10, + "endLine": 17, + "endColumn": 27 + } + ], + "suggest": "", + "rule": "SharedArrayBuffer is not supported (arkts-no-need-stdlib-sharedArrayBuffer)", + "severity": "ERROR" + }, { - "replacementText": "ArrayBuffer", - "start": 685, - "end": 702 - } - ], - "suggest": "", - "rule": "SharedArrayBuffer is not supported (arkts-no-need-stdlib-sharedArrayBuffer)", - "severity": "ERROR" - }, - { - "line": 19, - "column": 20, - "endLine": 19, - "endColumn": 37, - "problem": "SharedArrayBufferDeprecated", - "autofix": [ + "line": 17, + "column": 34, + "endLine": 17, + "endColumn": 51, + "problem": "SharedArrayBufferDeprecated", + "autofix": [ + { + "replacementText": "ArrayBuffer", + "start": 685, + "end": 702, + "line": 17, + "column": 34, + "endLine": 17, + "endColumn": 51 + } + ], + "suggest": "", + "rule": "SharedArrayBuffer is not supported (arkts-no-need-stdlib-sharedArrayBuffer)", + "severity": "ERROR" + }, { - "replacementText": "ArrayBuffer", - "start": 737, - "end": 754 - } - ], - "suggest": "", - "rule": "SharedArrayBuffer is not supported (arkts-no-need-stdlib-sharedArrayBuffer)", - "severity": "ERROR" - }, - { - "line": 22, - "column": 28, - "endLine": 22, - "endColumn": 45, - "problem": "SharedArrayBufferDeprecated", - "autofix": [ + "line": 17, + "column": 52, + "endLine": 17, + "endColumn": 53, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 703, + "end": 704, + "replacementText": "0.0", + "line": 17, + "column": 52, + "endLine": 17, + "endColumn": 53 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 19, + "column": 20, + "endLine": 19, + "endColumn": 37, + "problem": "SharedArrayBufferDeprecated", + "autofix": [ + { + "replacementText": "ArrayBuffer", + "start": 737, + "end": 754, + "line": 19, + "column": 20, + "endLine": 19, + "endColumn": 37 + } + ], + "suggest": "", + "rule": "SharedArrayBuffer is not supported (arkts-no-need-stdlib-sharedArrayBuffer)", + "severity": "ERROR" + }, + { + "line": 22, + "column": 28, + "endLine": 22, + "endColumn": 45, + "problem": "SharedArrayBufferDeprecated", + "autofix": [ + { + "replacementText": "ArrayBuffer", + "start": 853, + "end": 870, + "line": 22, + "column": 28, + "endLine": 22, + "endColumn": 45 + } + ], + "suggest": "", + "rule": "SharedArrayBuffer is not supported (arkts-no-need-stdlib-sharedArrayBuffer)", + "severity": "ERROR" + }, { - "replacementText": "ArrayBuffer", - "start": 853, - "end": 870 + "line": 22, + "column": 46, + "endLine": 22, + "endColumn": 47, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 871, + "end": 872, + "replacementText": "0.0", + "line": 22, + "column": 46, + "endLine": 22, + "endColumn": 47 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" } - ], - "suggest": "", - "rule": "SharedArrayBuffer is not supported (arkts-no-need-stdlib-sharedArrayBuffer)", - "severity": "ERROR" - } - ] -} + ] +} \ No newline at end of file diff --git a/ets2panda/linter/test/concurrent/concurrent_sharedarraybuffer_arkts2.ets.migrate.ets b/ets2panda/linter/test/concurrent/concurrent_sharedarraybuffer_arkts2.ets.migrate.ets index 6eaad40c1a..7a393ab10f 100644 --- a/ets2panda/linter/test/concurrent/concurrent_sharedarraybuffer_arkts2.ets.migrate.ets +++ b/ets2panda/linter/test/concurrent/concurrent_sharedarraybuffer_arkts2.ets.migrate.ets @@ -14,11 +14,11 @@ */ let typeName: ArrayBuffer; // ERROR -let sab: ArrayBuffer = new ArrayBuffer(0) // 2 ERROR +let sab: ArrayBuffer = new ArrayBuffer(0.0) // 2 ERROR type NewTypeName = ArrayBuffer // ERROR let newTypeName: NewTypeName // disable use new NewTypeName() -let ntn: NewTypeName = new ArrayBuffer(0) // ERROR +let ntn: NewTypeName = new ArrayBuffer(0.0) // ERROR function foo(atmo: Atomics) {} // NOT ERROR \ No newline at end of file diff --git a/ets2panda/linter/test/interop/call_function.ets.arkts2.json b/ets2panda/linter/test/interop/call_function.ets.arkts2.json index 7ab8a8de0e..75b5fe5523 100644 --- a/ets2panda/linter/test/interop/call_function.ets.arkts2.json +++ b/ets2panda/linter/test/interop/call_function.ets.arkts2.json @@ -73,6 +73,16 @@ "suggest": "", "rule": "ArkTS directly call JS functions or parameters is not supported (arkts-interop-js2s-call-js-func)", "severity": "ERROR" + }, + { + "line": 19, + "column": 5, + "endLine": 19, + "endColumn": 8, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" } ] } \ No newline at end of file diff --git a/ets2panda/linter/test/interop/call_object_methods.ets.arkts2.json b/ets2panda/linter/test/interop/call_object_methods.ets.arkts2.json index db5e5b5f97..08caa2a29e 100644 --- a/ets2panda/linter/test/interop/call_object_methods.ets.arkts2.json +++ b/ets2panda/linter/test/interop/call_object_methods.ets.arkts2.json @@ -53,6 +53,16 @@ "suggest": "", "rule": "Calling methods of JS Object directly in interop is not allowed (arkts-interop-js2s-call-js-method)", "severity": "ERROR" + }, + { + "line": 18, + "column": 9, + "endLine": 18, + "endColumn": 12, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" } ] } \ No newline at end of file diff --git a/ets2panda/linter/test/interop/call_object_methods.ets.autofix.json b/ets2panda/linter/test/interop/call_object_methods.ets.autofix.json index 5831cf0510..5b9ab33651 100644 --- a/ets2panda/linter/test/interop/call_object_methods.ets.autofix.json +++ b/ets2panda/linter/test/interop/call_object_methods.ets.autofix.json @@ -34,12 +34,20 @@ { "start": 617, "end": 663, - "replacementText": "" + "replacementText": "", + "line": 16, + "column": 1, + "endLine": 16, + "endColumn": 47 }, { "start": 663, "end": 663, - "replacementText": "let GeneratedImportVar_1 = ESObject.load('./call_object_methods_js');\nlet foo = GeneratedImportVar_1.getPropertyByName('foo');\n" + "replacementText": "let GeneratedImportVar_1 = ESObject.load('./call_object_methods_js');\nlet foo = GeneratedImportVar_1.getPropertyByName('foo');\n", + "line": 16, + "column": 1, + "endLine": 16, + "endColumn": 47 } ], "suggest": "", @@ -65,6 +73,27 @@ "suggest": "", "rule": "Calling methods of JS Object directly in interop is not allowed (arkts-interop-js2s-call-js-method)", "severity": "ERROR" + }, + { + "line": 18, + "column": 9, + "endLine": 18, + "endColumn": 12, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 673, + "end": 676, + "replacementText": "123.0", + "line": 18, + "column": 9, + "endLine": 18, + "endColumn": 12 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" } ] } \ No newline at end of file diff --git a/ets2panda/linter/test/interop/call_object_methods.ets.migrate.ets b/ets2panda/linter/test/interop/call_object_methods.ets.migrate.ets index 68b5f0fb6e..501c2fff96 100644 --- a/ets2panda/linter/test/interop/call_object_methods.ets.migrate.ets +++ b/ets2panda/linter/test/interop/call_object_methods.ets.migrate.ets @@ -17,5 +17,5 @@ let GeneratedImportVar_1 = ESObject.load('./call_object_methods_js'); let foo = GeneratedImportVar_1.getPropertyByName('foo'); -foo.bar(123) +foo.bar(123.0) diff --git a/ets2panda/linter/test/interop/increases_decreases_js_obj.ets.arkts2.json b/ets2panda/linter/test/interop/increases_decreases_js_obj.ets.arkts2.json index 188523c143..271ce695aa 100755 --- a/ets2panda/linter/test/interop/increases_decreases_js_obj.ets.arkts2.json +++ b/ets2panda/linter/test/interop/increases_decreases_js_obj.ets.arkts2.json @@ -34,6 +34,16 @@ "rule": "Importing directly from \"JS\" module is not supported (arkts-interop-js2s-import-js)", "severity": "ERROR" }, + { + "line": 17, + "column": 16, + "endLine": 17, + "endColumn": 17, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 18, "column": 5, diff --git a/ets2panda/linter/test/interop/increases_decreases_js_obj.ets.autofix.json b/ets2panda/linter/test/interop/increases_decreases_js_obj.ets.autofix.json index 4afb86a932..f2c5140811 100755 --- a/ets2panda/linter/test/interop/increases_decreases_js_obj.ets.autofix.json +++ b/ets2panda/linter/test/interop/increases_decreases_js_obj.ets.autofix.json @@ -34,18 +34,47 @@ { "start": 617, "end": 668, - "replacementText": "" + "replacementText": "", + "line": 16, + "column": 1, + "endLine": 16, + "endColumn": 52 }, { "start": 668, "end": 668, - "replacementText": "let GeneratedImportVar_1 = ESObject.load('./increases_decreases_js_obj_js');\nlet foo = GeneratedImportVar_1.getPropertyByName('foo');\n" + "replacementText": "let GeneratedImportVar_1 = ESObject.load('./increases_decreases_js_obj_js');\nlet foo = GeneratedImportVar_1.getPropertyByName('foo');\n", + "line": 16, + "column": 1, + "endLine": 16, + "endColumn": 52 } ], "suggest": "", "rule": "Importing directly from \"JS\" module is not supported (arkts-interop-js2s-import-js)", "severity": "ERROR" }, + { + "line": 17, + "column": 16, + "endLine": 17, + "endColumn": 17, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 684, + "end": 685, + "replacementText": "0.0", + "line": 17, + "column": 16, + "endLine": 17, + "endColumn": 17 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 18, "column": 5, @@ -66,7 +95,11 @@ { "start": 690, "end": 697, - "replacementText": "foo.getPropertyByName(\"num\")" + "replacementText": "foo.getPropertyByName(\"num\")", + "line": 18, + "column": 5, + "endLine": 18, + "endColumn": 12 } ], "suggest": "", @@ -83,7 +116,11 @@ { "replacementText": "foo.getPropertyByName('num').toNumber()", "start": 690, - "end": 697 + "end": 697, + "line": 18, + "column": 5, + "endLine": 18, + "endColumn": 12 } ], "suggest": "", @@ -120,7 +157,11 @@ { "start": 706, "end": 713, - "replacementText": "foo.getPropertyByName(\"num\")" + "replacementText": "foo.getPropertyByName(\"num\")", + "line": 19, + "column": 7, + "endLine": 19, + "endColumn": 14 } ], "suggest": "", @@ -137,7 +178,11 @@ { "replacementText": "foo.getPropertyByName('num').toNumber()", "start": 706, - "end": 713 + "end": 713, + "line": 19, + "column": 7, + "endLine": 19, + "endColumn": 14 } ], "suggest": "", @@ -174,7 +219,11 @@ { "start": 718, "end": 725, - "replacementText": "foo.getPropertyByName(\"num\")" + "replacementText": "foo.getPropertyByName(\"num\")", + "line": 20, + "column": 5, + "endLine": 20, + "endColumn": 12 } ], "suggest": "", @@ -191,7 +240,11 @@ { "replacementText": "foo.getPropertyByName('num').toNumber()", "start": 718, - "end": 725 + "end": 725, + "line": 20, + "column": 5, + "endLine": 20, + "endColumn": 12 } ], "suggest": "", @@ -228,7 +281,11 @@ { "start": 734, "end": 741, - "replacementText": "foo.getPropertyByName(\"num\")" + "replacementText": "foo.getPropertyByName(\"num\")", + "line": 21, + "column": 7, + "endLine": 21, + "endColumn": 14 } ], "suggest": "", @@ -245,7 +302,11 @@ { "replacementText": "foo.getPropertyByName('num').toNumber()", "start": 734, - "end": 741 + "end": 741, + "line": 21, + "column": 7, + "endLine": 21, + "endColumn": 14 } ], "suggest": "", diff --git a/ets2panda/linter/test/interop/increases_decreases_js_obj.ets.migrate.ets b/ets2panda/linter/test/interop/increases_decreases_js_obj.ets.migrate.ets index 6abfb3b85c..37cd212f4b 100644 --- a/ets2panda/linter/test/interop/increases_decreases_js_obj.ets.migrate.ets +++ b/ets2panda/linter/test/interop/increases_decreases_js_obj.ets.migrate.ets @@ -16,7 +16,7 @@ let GeneratedImportVar_1 = ESObject.load('./increases_decreases_js_obj_js'); let foo = GeneratedImportVar_1.getPropertyByName('foo'); -let a: number =0 +let a: number =0.0 a = foo.getPropertyByName("num")++ a = ++foo.getPropertyByName("num") a = foo.getPropertyByName("num")-- diff --git a/ets2panda/linter/test/interop/instantiated_js_obj.ets.arkts2.json b/ets2panda/linter/test/interop/instantiated_js_obj.ets.arkts2.json index 20dfb7a06a..d5efb9f32d 100644 --- a/ets2panda/linter/test/interop/instantiated_js_obj.ets.arkts2.json +++ b/ets2panda/linter/test/interop/instantiated_js_obj.ets.arkts2.json @@ -34,6 +34,16 @@ "rule": "Importing directly from \"JS\" module is not supported (arkts-interop-js2s-import-js)", "severity": "ERROR" }, + { + "line": 19, + "column": 19, + "endLine": 19, + "endColumn": 20, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 23, "column": 1, @@ -44,6 +54,16 @@ "rule": "ArkTS directly instantiated JS objects is not supported (arkts-interop-js2s-create-js-instance)", "severity": "ERROR" }, + { + "line": 23, + "column": 9, + "endLine": 23, + "endColumn": 12, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 24, "column": 1, @@ -84,6 +104,16 @@ "rule": "ArkTS directly instantiated JS objects is not supported (arkts-interop-js2s-create-js-instance)", "severity": "ERROR" }, + { + "line": 30, + "column": 10, + "endLine": 30, + "endColumn": 11, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 32, "column": 1, @@ -103,6 +133,16 @@ "suggest": "", "rule": "ArkTS directly instantiated JS objects is not supported (arkts-interop-js2s-create-js-instance)", "severity": "ERROR" + }, + { + "line": 33, + "column": 10, + "endLine": 33, + "endColumn": 13, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" } ] } \ No newline at end of file diff --git a/ets2panda/linter/test/interop/instantiated_js_obj.ets.autofix.json b/ets2panda/linter/test/interop/instantiated_js_obj.ets.autofix.json index a71b9e42ad..c2b72a8239 100644 --- a/ets2panda/linter/test/interop/instantiated_js_obj.ets.autofix.json +++ b/ets2panda/linter/test/interop/instantiated_js_obj.ets.autofix.json @@ -34,18 +34,47 @@ { "start": 618, "end": 668, - "replacementText": "" + "replacementText": "", + "line": 17, + "column": 1, + "endLine": 17, + "endColumn": 51 }, { "start": 668, "end": 668, - "replacementText": "let GeneratedImportVar_1 = ESObject.load('./instantiated_js_obj_js');\nlet Foo = GeneratedImportVar_1.getPropertyByName('Foo');\nlet Foo1 = GeneratedImportVar_1.getPropertyByName('Foo1');\n" + "replacementText": "let GeneratedImportVar_1 = ESObject.load('./instantiated_js_obj_js');\nlet Foo = GeneratedImportVar_1.getPropertyByName('Foo');\nlet Foo1 = GeneratedImportVar_1.getPropertyByName('Foo1');\n", + "line": 17, + "column": 1, + "endLine": 17, + "endColumn": 51 } ], "suggest": "", "rule": "Importing directly from \"JS\" module is not supported (arkts-interop-js2s-import-js)", "severity": "ERROR" }, + { + "line": 19, + "column": 19, + "endLine": 19, + "endColumn": 20, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 697, + "end": 698, + "replacementText": "1.0", + "line": 19, + "column": 19, + "endLine": 19, + "endColumn": 20 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 23, "column": 1, @@ -56,13 +85,38 @@ { "start": 728, "end": 740, - "replacementText": "Foo.instantiate(ESObject.wrap(123))" + "replacementText": "Foo.instantiate(ESObject.wrap(123))", + "line": 23, + "column": 1, + "endLine": 23, + "endColumn": 13 } ], "suggest": "", "rule": "ArkTS directly instantiated JS objects is not supported (arkts-interop-js2s-create-js-instance)", "severity": "ERROR" }, + { + "line": 23, + "column": 9, + "endLine": 23, + "endColumn": 12, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 736, + "end": 739, + "replacementText": "123.0", + "line": 23, + "column": 9, + "endLine": 23, + "endColumn": 12 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 24, "column": 1, @@ -73,7 +127,11 @@ { "start": 741, "end": 757, - "replacementText": "Foo.instantiate(ESObject.wrap('hello'))" + "replacementText": "Foo.instantiate(ESObject.wrap('hello'))", + "line": 24, + "column": 1, + "endLine": 24, + "endColumn": 17 } ], "suggest": "", @@ -90,7 +148,11 @@ { "start": 758, "end": 774, - "replacementText": "Foo.instantiate(ESObject.wrap(new A()))" + "replacementText": "Foo.instantiate(ESObject.wrap(new A()))", + "line": 25, + "column": 1, + "endLine": 25, + "endColumn": 17 } ], "suggest": "", @@ -107,7 +169,11 @@ { "start": 795, "end": 809, - "replacementText": "Foo.instantiate(ESObject.wrap(a.num))" + "replacementText": "Foo.instantiate(ESObject.wrap(a.num))", + "line": 27, + "column": 1, + "endLine": 27, + "endColumn": 15 } ], "suggest": "", @@ -124,13 +190,38 @@ { "start": 810, "end": 820, - "replacementText": "Foo.instantiate(ESObject.wrap(a))" + "replacementText": "Foo.instantiate(ESObject.wrap(a))", + "line": 28, + "column": 1, + "endLine": 28, + "endColumn": 11 } ], "suggest": "", "rule": "ArkTS directly instantiated JS objects is not supported (arkts-interop-js2s-create-js-instance)", "severity": "ERROR" }, + { + "line": 30, + "column": 10, + "endLine": 30, + "endColumn": 11, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 856, + "end": 857, + "replacementText": "1.0", + "line": 30, + "column": 10, + "endLine": 30, + "endColumn": 11 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 32, "column": 1, @@ -141,7 +232,11 @@ { "start": 861, "end": 876, - "replacementText": "Foo.instantiate(ESObject.wrap(test()))" + "replacementText": "Foo.instantiate(ESObject.wrap(test()))", + "line": 32, + "column": 1, + "endLine": 32, + "endColumn": 16 } ], "suggest": "", @@ -158,12 +253,37 @@ { "start": 877, "end": 899, - "replacementText": "Foo1.instantiate(ESObject.wrap(123), ESObject.wrap('hello'))" + "replacementText": "Foo1.instantiate(ESObject.wrap(123), ESObject.wrap('hello'))", + "line": 33, + "column": 1, + "endLine": 33, + "endColumn": 23 } ], "suggest": "", "rule": "ArkTS directly instantiated JS objects is not supported (arkts-interop-js2s-create-js-instance)", "severity": "ERROR" + }, + { + "line": 33, + "column": 10, + "endLine": 33, + "endColumn": 13, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 886, + "end": 889, + "replacementText": "123.0", + "line": 33, + "column": 10, + "endLine": 33, + "endColumn": 13 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" } ] } \ No newline at end of file diff --git a/ets2panda/linter/test/interop/instantiated_js_obj.ets.migrate.ets b/ets2panda/linter/test/interop/instantiated_js_obj.ets.migrate.ets index 3baba970a3..a65d2b43b6 100644 --- a/ets2panda/linter/test/interop/instantiated_js_obj.ets.migrate.ets +++ b/ets2panda/linter/test/interop/instantiated_js_obj.ets.migrate.ets @@ -19,18 +19,18 @@ let Foo = GeneratedImportVar_1.getPropertyByName('Foo'); let Foo1 = GeneratedImportVar_1.getPropertyByName('Foo1'); class A { - num: number = 1; + num: number = 1.0; constructor() { } } -Foo.instantiate(ESObject.wrap(123)) +Foo.instantiate(ESObject.wrap(123.0)) Foo.instantiate(ESObject.wrap('hello')) Foo.instantiate(ESObject.wrap(new A())) let a: A = new A(); Foo.instantiate(ESObject.wrap(a.num)) Foo.instantiate(ESObject.wrap(a)) function test(): number { - return 1; + return 1.0; } Foo.instantiate(ESObject.wrap(test())) -Foo1.instantiate(ESObject.wrap(123), ESObject.wrap('hello')) \ No newline at end of file +Foo1.instantiate(ESObject.wrap(123.0), ESObject.wrap('hello')) \ No newline at end of file diff --git a/ets2panda/linter/test/interop/interop_import_js_compare.ets.arkts2.json b/ets2panda/linter/test/interop/interop_import_js_compare.ets.arkts2.json index 083e145c47..aeacfd0c17 100644 --- a/ets2panda/linter/test/interop/interop_import_js_compare.ets.arkts2.json +++ b/ets2panda/linter/test/interop/interop_import_js_compare.ets.arkts2.json @@ -174,6 +174,16 @@ "rule": "Importing data directly from the \"JS\" module for comparison is not supported (arkts-interop-js2s-compare-js-data)", "severity": "ERROR" }, + { + "line": 25, + "column": 5, + "endLine": 25, + "endColumn": 6, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 27, "column": 1, @@ -194,6 +204,16 @@ "rule": "Importing data directly from the \"JS\" module for comparison is not supported (arkts-interop-js2s-compare-js-data)", "severity": "ERROR" }, + { + "line": 28, + "column": 5, + "endLine": 28, + "endColumn": 6, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 30, "column": 5, @@ -204,6 +224,16 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 30, + "column": 9, + "endLine": 30, + "endColumn": 10, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 30, "column": 12, @@ -214,6 +244,16 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 30, + "column": 16, + "endLine": 30, + "endColumn": 17, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 36, "column": 11, @@ -224,6 +264,26 @@ "rule": "Object literal must correspond to some explicitly declared class or interface (arkts-no-untyped-obj-literals)", "severity": "ERROR" }, + { + "line": 36, + "column": 16, + "endLine": 36, + "endColumn": 17, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 36, + "column": 22, + "endLine": 36, + "endColumn": 23, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 38, "column": 5, diff --git a/ets2panda/linter/test/interop/interop_import_js_index.ets.arkts2.json b/ets2panda/linter/test/interop/interop_import_js_index.ets.arkts2.json index 8049b29933..0eca85f766 100644 --- a/ets2panda/linter/test/interop/interop_import_js_index.ets.arkts2.json +++ b/ets2panda/linter/test/interop/interop_import_js_index.ets.arkts2.json @@ -103,6 +103,16 @@ "suggest": "", "rule": "Interop objects can't be indexed directly (arkts-interop-js2s-access-js-index)", "severity": "ERROR" + }, + { + "line": 20, + "column": 10, + "endLine": 20, + "endColumn": 11, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" } ] } \ No newline at end of file diff --git a/ets2panda/linter/test/interop/interop_import_js_index.ets.autofix.json b/ets2panda/linter/test/interop/interop_import_js_index.ets.autofix.json index 7b4806fa65..ff448845cf 100644 --- a/ets2panda/linter/test/interop/interop_import_js_index.ets.autofix.json +++ b/ets2panda/linter/test/interop/interop_import_js_index.ets.autofix.json @@ -34,12 +34,20 @@ { "start": 619, "end": 667, - "replacementText": "" + "replacementText": "", + "line": 17, + "column": 1, + "endLine": 17, + "endColumn": 49 }, { "start": 667, "end": 667, - "replacementText": "let GeneratedImportVar_1 = ESObject.load('./interop_import_js_index_js');\nlet foo = GeneratedImportVar_1.getPropertyByName('foo');\n" + "replacementText": "let GeneratedImportVar_1 = ESObject.load('./interop_import_js_index_js');\nlet foo = GeneratedImportVar_1.getPropertyByName('foo');\n", + "line": 17, + "column": 1, + "endLine": 17, + "endColumn": 49 } ], "suggest": "", @@ -56,7 +64,11 @@ { "start": 678, "end": 685, - "replacementText": "foo.getPropertyByName(\"arr\")" + "replacementText": "foo.getPropertyByName(\"arr\")", + "line": 18, + "column": 11, + "endLine": 18, + "endColumn": 18 } ], "suggest": "", @@ -73,7 +85,11 @@ { "replacementText": "foo.getPropertyByName('arr')", "start": 678, - "end": 685 + "end": 685, + "line": 18, + "column": 11, + "endLine": 18, + "endColumn": 18 } ], "suggest": "", @@ -100,7 +116,11 @@ { "replacementText": "arr.getPropertyByIndex(1).toNumber()", "start": 686, - "end": 692 + "end": 692, + "line": 19, + "column": 1, + "endLine": 19, + "endColumn": 7 } ], "suggest": "", @@ -117,7 +137,11 @@ { "start": 686, "end": 692, - "replacementText": "arr.getPropertyByIndex(1)" + "replacementText": "arr.getPropertyByIndex(1)", + "line": 19, + "column": 1, + "endLine": 19, + "endColumn": 7 } ], "suggest": "", @@ -134,7 +158,11 @@ { "replacementText": "arr.setPropertyByIndex(3, ESObject.wrap(4))", "start": 693, - "end": 703 + "end": 703, + "line": 20, + "column": 1, + "endLine": 20, + "endColumn": 7 } ], "suggest": "", @@ -151,12 +179,37 @@ { "start": 693, "end": 703, - "replacementText": "arr.setPropertyByIndex(3, ESObject.wrap(4))" + "replacementText": "arr.setPropertyByIndex(3, ESObject.wrap(4))", + "line": 20, + "column": 1, + "endLine": 20, + "endColumn": 11 } ], "suggest": "", "rule": "Interop objects can't be indexed directly (arkts-interop-js2s-access-js-index)", "severity": "ERROR" + }, + { + "line": 20, + "column": 10, + "endLine": 20, + "endColumn": 11, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 702, + "end": 703, + "replacementText": "4.0", + "line": 20, + "column": 10, + "endLine": 20, + "endColumn": 11 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" } ] } \ No newline at end of file diff --git a/ets2panda/linter/test/interop/interop_import_js_index.ets.migrate.ets b/ets2panda/linter/test/interop/interop_import_js_index.ets.migrate.ets index 17caa7fd96..7ddf6e0307 100644 --- a/ets2panda/linter/test/interop/interop_import_js_index.ets.migrate.ets +++ b/ets2panda/linter/test/interop/interop_import_js_index.ets.migrate.ets @@ -18,5 +18,5 @@ let GeneratedImportVar_1 = ESObject.load('./interop_import_js_index_js'); let foo = GeneratedImportVar_1.getPropertyByName('foo'); let arr = foo.getPropertyByName("arr") -arr.getPropertyByIndex(1).toNumber() -arr.setPropertyByIndex(3, ESObject.wrap(4)) \ No newline at end of file +arr.getPropertyByIndex(1.0).toNumber() +arr.setPropertyByIndex(3.0, ESObject.wrap(4.0)) \ No newline at end of file diff --git a/ets2panda/linter/test/interop/interop_import_js_rules.ets.arkts2.json b/ets2panda/linter/test/interop/interop_import_js_rules.ets.arkts2.json index ef8c027fe6..6682ad0bea 100644 --- a/ets2panda/linter/test/interop/interop_import_js_rules.ets.arkts2.json +++ b/ets2panda/linter/test/interop/interop_import_js_rules.ets.arkts2.json @@ -1,19 +1,19 @@ { - "copyright": [ - "Copyright (c) 2025 Huawei Device Co., Ltd.", - "Licensed under the Apache License, Version 2.0 (the 'License');", - "you may not use this file except in compliance with the License.", - "You may obtain a copy of the License at", - "", - "http://www.apache.org/licenses/LICENSE-2.0", - "", - "Unless required by applicable law or agreed to in writing, software", - "distributed under the License is distributed on an 'AS IS' BASIS,", - "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.", - "See the License for the specific language governing permissions and", - "limitations under the License." - ], - "result": [ + "copyright": [ + "Copyright (c) 2025 Huawei Device Co., Ltd.", + "Licensed under the Apache License, Version 2.0 (the 'License');", + "you may not use this file except in compliance with the License.", + "You may obtain a copy of the License at", + "", + "http://www.apache.org/licenses/LICENSE-2.0", + "", + "Unless required by applicable law or agreed to in writing, software", + "distributed under the License is distributed on an 'AS IS' BASIS,", + "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.", + "See the License for the specific language governing permissions and", + "limitations under the License." + ], + "result": [ { "line": 17, "column": 1, @@ -244,6 +244,16 @@ "rule": "Binary operations on js objects (arkts-interop-js2s-binary-op)", "severity": "ERROR" }, + { + "line": 33, + "column": 14, + "endLine": 33, + "endColumn": 16, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 37, "column": 1, @@ -354,6 +364,16 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 51, + "column": 14, + "endLine": 51, + "endColumn": 15, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 52, "column": 11, @@ -394,6 +414,16 @@ "rule": "Interop objects can't be indexed directly (arkts-interop-js2s-access-js-index)", "severity": "ERROR" }, + { + "line": 53, + "column": 12, + "endLine": 53, + "endColumn": 13, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 63, "column": 1, @@ -444,6 +474,16 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 66, + "column": 13, + "endLine": 66, + "endColumn": 14, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 66, "column": 16, @@ -454,6 +494,16 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 66, + "column": 19, + "endLine": 66, + "endColumn": 20, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 66, "column": 22, @@ -464,6 +514,16 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 66, + "column": 25, + "endLine": 66, + "endColumn": 26, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 67, "column": 1, diff --git a/ets2panda/linter/test/interop/interop_import_js_rules.ets.autofix.json b/ets2panda/linter/test/interop/interop_import_js_rules.ets.autofix.json index cc184c6c87..aca59fb839 100644 --- a/ets2panda/linter/test/interop/interop_import_js_rules.ets.autofix.json +++ b/ets2panda/linter/test/interop/interop_import_js_rules.ets.autofix.json @@ -1,19 +1,19 @@ { - "copyright": [ - "Copyright (c) 2025 Huawei Device Co., Ltd.", - "Licensed under the Apache License, Version 2.0 (the 'License');", - "you may not use this file except in compliance with the License.", - "You may obtain a copy of the License at", - "", - "http://www.apache.org/licenses/LICENSE-2.0", - "", - "Unless required by applicable law or agreed to in writing, software", - "distributed under the License is distributed on an 'AS IS' BASIS,", - "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.", - "See the License for the specific language governing permissions and", - "limitations under the License." - ], - "result": [ + "copyright": [ + "Copyright (c) 2025 Huawei Device Co., Ltd.", + "Licensed under the Apache License, Version 2.0 (the 'License');", + "you may not use this file except in compliance with the License.", + "You may obtain a copy of the License at", + "", + "http://www.apache.org/licenses/LICENSE-2.0", + "", + "Unless required by applicable law or agreed to in writing, software", + "distributed under the License is distributed on an 'AS IS' BASIS,", + "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.", + "See the License for the specific language governing permissions and", + "limitations under the License." + ], + "result": [ { "line": 17, "column": 1, @@ -448,6 +448,27 @@ "rule": "Binary operations on js objects (arkts-interop-js2s-binary-op)", "severity": "ERROR" }, + { + "line": 33, + "column": 14, + "endLine": 33, + "endColumn": 16, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1137, + "end": 1139, + "replacementText": "18.0", + "line": 33, + "column": 14, + "endLine": 33, + "endColumn": 16 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 37, "column": 1, @@ -602,6 +623,27 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 51, + "column": 14, + "endLine": 51, + "endColumn": 15, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1406, + "end": 1407, + "replacementText": "0.0", + "line": 51, + "column": 14, + "endLine": 51, + "endColumn": 15 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 52, "column": 11, @@ -686,6 +728,27 @@ "rule": "Interop objects can't be indexed directly (arkts-interop-js2s-access-js-index)", "severity": "ERROR" }, + { + "line": 53, + "column": 12, + "endLine": 53, + "endColumn": 13, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1453, + "end": 1454, + "replacementText": "0.0", + "line": 53, + "column": 12, + "endLine": 53, + "endColumn": 13 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 63, "column": 1, @@ -747,6 +810,27 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 66, + "column": 13, + "endLine": 66, + "endColumn": 14, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1596, + "end": 1597, + "replacementText": "1.0", + "line": 66, + "column": 13, + "endLine": 66, + "endColumn": 14 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 66, "column": 16, @@ -768,6 +852,27 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 66, + "column": 19, + "endLine": 66, + "endColumn": 20, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1602, + "end": 1603, + "replacementText": "2.0", + "line": 66, + "column": 19, + "endLine": 66, + "endColumn": 20 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 66, "column": 22, @@ -789,6 +894,27 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 66, + "column": 25, + "endLine": 66, + "endColumn": 26, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1608, + "end": 1609, + "replacementText": "3.0", + "line": 66, + "column": 25, + "endLine": 66, + "endColumn": 26 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 67, "column": 1, diff --git a/ets2panda/linter/test/interop/interop_import_typeof_js.ets.arkts2.json b/ets2panda/linter/test/interop/interop_import_typeof_js.ets.arkts2.json index fa257d85ca..4c3c051831 100755 --- a/ets2panda/linter/test/interop/interop_import_typeof_js.ets.arkts2.json +++ b/ets2panda/linter/test/interop/interop_import_typeof_js.ets.arkts2.json @@ -394,6 +394,16 @@ "rule": "Calling methods of JS Object directly in interop is not allowed (arkts-interop-js2s-call-js-method)", "severity": "ERROR" }, + { + "line": 43, + "column": 26, + "endLine": 43, + "endColumn": 29, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 45, "column": 5, @@ -434,6 +444,16 @@ "rule": "Calling methods of JS Object directly in interop is not allowed (arkts-interop-js2s-call-js-method)", "severity": "ERROR" }, + { + "line": 48, + "column": 35, + "endLine": 48, + "endColumn": 38, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 50, "column": 7, @@ -643,6 +663,16 @@ "suggest": "", "rule": "ArkTS directly instantiated JS objects is not supported (arkts-interop-js2s-create-js-instance)", "severity": "ERROR" + }, + { + "line": 73, + "column": 28, + "endLine": 73, + "endColumn": 30, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" } ] } \ No newline at end of file diff --git a/ets2panda/linter/test/interop/interop_import_typeof_js.ets.autofix.json b/ets2panda/linter/test/interop/interop_import_typeof_js.ets.autofix.json index 3f09bf75b9..bc67d23e62 100755 --- a/ets2panda/linter/test/interop/interop_import_typeof_js.ets.autofix.json +++ b/ets2panda/linter/test/interop/interop_import_typeof_js.ets.autofix.json @@ -34,12 +34,20 @@ { "start": 619, "end": 687, - "replacementText": "" + "replacementText": "", + "line": 17, + "column": 1, + "endLine": 17, + "endColumn": 69 }, { "start": 796, "end": 796, - "replacementText": "let GeneratedImportVar_1 = ESObject.load('./interop_import_js_js');\nlet myAaa = GeneratedImportVar_1.getPropertyByName('aaa');\nlet ClassA = GeneratedImportVar_1.getPropertyByName('ClassA');\nlet Dog = GeneratedImportVar_1.getPropertyByName('Dog');\nlet Person = GeneratedImportVar_1.getPropertyByName('Person');\nlet Wiki = GeneratedImportVar_1.getPropertyByName('Wiki');\n" + "replacementText": "let GeneratedImportVar_1 = ESObject.load('./interop_import_js_js');\nlet myAaa = GeneratedImportVar_1.getPropertyByName('aaa');\nlet ClassA = GeneratedImportVar_1.getPropertyByName('ClassA');\nlet Dog = GeneratedImportVar_1.getPropertyByName('Dog');\nlet Person = GeneratedImportVar_1.getPropertyByName('Person');\nlet Wiki = GeneratedImportVar_1.getPropertyByName('Wiki');\n", + "line": 17, + "column": 1, + "endLine": 17, + "endColumn": 69 } ], "suggest": "", @@ -66,12 +74,20 @@ { "start": 688, "end": 741, - "replacementText": "" + "replacementText": "", + "line": 18, + "column": 1, + "endLine": 18, + "endColumn": 54 }, { "start": 796, "end": 796, - "replacementText": "let GeneratedImportVar_2 = ESObject.load('./interop_import_js_js');\nlet Doge = GeneratedImportVar_2.getPropertyByName('Dog');\n" + "replacementText": "let GeneratedImportVar_2 = ESObject.load('./interop_import_js_js');\nlet Doge = GeneratedImportVar_2.getPropertyByName('Dog');\n", + "line": 18, + "column": 1, + "endLine": 18, + "endColumn": 54 } ], "suggest": "", @@ -98,12 +114,20 @@ { "start": 742, "end": 796, - "replacementText": "" + "replacementText": "", + "line": 19, + "column": 1, + "endLine": 19, + "endColumn": 55 }, { "start": 796, "end": 796, - "replacementText": "let GeneratedImportVar_3 = ESObject.load('./interop_import_js_js');\nlet wiki = GeneratedImportVar_3.getPropertyByName('Wiki');\n" + "replacementText": "let GeneratedImportVar_3 = ESObject.load('./interop_import_js_js');\nlet wiki = GeneratedImportVar_3.getPropertyByName('Wiki');\n", + "line": 19, + "column": 1, + "endLine": 19, + "endColumn": 55 } ], "suggest": "", @@ -120,7 +144,11 @@ { "start": 798, "end": 812, - "replacementText": "myAaa.invoke().typeOf()" + "replacementText": "myAaa.invoke().typeOf()", + "line": 21, + "column": 1, + "endLine": 21, + "endColumn": 15 } ], "suggest": "", @@ -177,7 +205,11 @@ { "start": 853, "end": 863, - "replacementText": "Dog.typeOf()" + "replacementText": "Dog.typeOf()", + "line": 24, + "column": 1, + "endLine": 24, + "endColumn": 11 } ], "suggest": "", @@ -194,7 +226,11 @@ { "start": 873, "end": 891, - "replacementText": "Dog.invoke(ESObject.wrap('doge')).typeOf()" + "replacementText": "Dog.invoke(ESObject.wrap('doge')).typeOf()", + "line": 25, + "column": 1, + "endLine": 25, + "endColumn": 19 } ], "suggest": "", @@ -241,7 +277,11 @@ { "start": 901, "end": 920, - "replacementText": "Doge.invoke(ESObject.wrap('doge')).typeOf()" + "replacementText": "Doge.invoke(ESObject.wrap('doge')).typeOf()", + "line": 26, + "column": 1, + "endLine": 26, + "endColumn": 20 } ], "suggest": "", @@ -288,7 +328,11 @@ { "start": 930, "end": 941, - "replacementText": "Wiki.typeOf()" + "replacementText": "Wiki.typeOf()", + "line": 27, + "column": 1, + "endLine": 27, + "endColumn": 12 } ], "suggest": "", @@ -305,7 +349,11 @@ { "start": 950, "end": 966, - "replacementText": "Wiki.getPropertyByName('name').typeOf()" + "replacementText": "Wiki.getPropertyByName('name').typeOf()", + "line": 28, + "column": 1, + "endLine": 28, + "endColumn": 17 } ], "suggest": "", @@ -322,7 +370,11 @@ { "start": 957, "end": 966, - "replacementText": "Wiki.getPropertyByName(\"name\")" + "replacementText": "Wiki.getPropertyByName(\"name\")", + "line": 28, + "column": 8, + "endLine": 28, + "endColumn": 17 } ], "suggest": "", @@ -339,7 +391,11 @@ { "replacementText": "Wiki.getPropertyByName('name').toString()", "start": 957, - "end": 966 + "end": 966, + "line": 28, + "column": 8, + "endLine": 28, + "endColumn": 17 } ], "suggest": "", @@ -366,7 +422,11 @@ { "start": 975, "end": 986, - "replacementText": "wiki.typeOf()" + "replacementText": "wiki.typeOf()", + "line": 29, + "column": 1, + "endLine": 29, + "endColumn": 12 } ], "suggest": "", @@ -383,7 +443,11 @@ { "start": 1005, "end": 1014, - "replacementText": "wiki.getPropertyByName(\"name\")" + "replacementText": "wiki.getPropertyByName(\"name\")", + "line": 30, + "column": 11, + "endLine": 30, + "endColumn": 20 } ], "suggest": "", @@ -400,7 +464,11 @@ { "replacementText": "wiki.getPropertyByName('name').toString()", "start": 1005, - "end": 1014 + "end": 1014, + "line": 30, + "column": 11, + "endLine": 30, + "endColumn": 20 } ], "suggest": "", @@ -427,7 +495,11 @@ { "start": 1049, "end": 1061, - "replacementText": "ClassA.instantiate()" + "replacementText": "ClassA.instantiate()", + "line": 32, + "column": 23, + "endLine": 32, + "endColumn": 35 } ], "suggest": "", @@ -444,7 +516,11 @@ { "start": 1062, "end": 1081, - "replacementText": "ClassA.instantiate().typeOf()" + "replacementText": "ClassA.instantiate().typeOf()", + "line": 33, + "column": 1, + "endLine": 33, + "endColumn": 20 } ], "suggest": "", @@ -461,7 +537,11 @@ { "start": 1069, "end": 1081, - "replacementText": "ClassA.instantiate()" + "replacementText": "ClassA.instantiate()", + "line": 33, + "column": 8, + "endLine": 33, + "endColumn": 20 } ], "suggest": "", @@ -478,7 +558,11 @@ { "start": 1125, "end": 1137, - "replacementText": "Person.instantiate()" + "replacementText": "Person.instantiate()", + "line": 35, + "column": 21, + "endLine": 35, + "endColumn": 33 } ], "suggest": "", @@ -495,7 +579,11 @@ { "start": 1149, "end": 1160, - "replacementText": "person.getPropertyByName(\"name\")" + "replacementText": "person.getPropertyByName(\"name\")", + "line": 36, + "column": 11, + "endLine": 36, + "endColumn": 22 } ], "suggest": "", @@ -542,6 +630,27 @@ "rule": "Calling methods of JS Object directly in interop is not allowed (arkts-interop-js2s-call-js-method)", "severity": "ERROR" }, + { + "line": 43, + "column": 26, + "endLine": 43, + "endColumn": 29, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1323, + "end": 1326, + "replacementText": "111.0", + "line": 43, + "column": 26, + "endLine": 43, + "endColumn": 29 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 45, "column": 5, @@ -552,7 +661,11 @@ { "start": 1352, "end": 1371, - "replacementText": "Person.instantiate().typeOf()" + "replacementText": "Person.instantiate().typeOf()", + "line": 45, + "column": 5, + "endLine": 45, + "endColumn": 24 } ], "suggest": "", @@ -569,7 +682,11 @@ { "start": 1359, "end": 1371, - "replacementText": "Person.instantiate()" + "replacementText": "Person.instantiate()", + "line": 45, + "column": 12, + "endLine": 45, + "endColumn": 24 } ], "suggest": "", @@ -596,6 +713,27 @@ "rule": "Calling methods of JS Object directly in interop is not allowed (arkts-interop-js2s-call-js-method)", "severity": "ERROR" }, + { + "line": 48, + "column": 35, + "endLine": 48, + "endColumn": 38, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1418, + "end": 1421, + "replacementText": "111.0", + "line": 48, + "column": 35, + "endLine": 48, + "endColumn": 38 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 50, "column": 7, @@ -616,7 +754,11 @@ { "start": 1729, "end": 1745, - "replacementText": "wiki.getPropertyByName('name').typeOf()" + "replacementText": "wiki.getPropertyByName('name').typeOf()", + "line": 62, + "column": 5, + "endLine": 62, + "endColumn": 21 } ], "suggest": "", @@ -633,7 +775,11 @@ { "start": 1736, "end": 1745, - "replacementText": "wiki.getPropertyByName(\"name\")" + "replacementText": "wiki.getPropertyByName(\"name\")", + "line": 62, + "column": 12, + "endLine": 62, + "endColumn": 21 } ], "suggest": "", @@ -650,7 +796,11 @@ { "replacementText": "wiki.getPropertyByName('name').toString()", "start": 1736, - "end": 1745 + "end": 1745, + "line": 62, + "column": 12, + "endLine": 62, + "endColumn": 21 } ], "suggest": "", @@ -677,7 +827,11 @@ { "start": 1834, "end": 1853, - "replacementText": "ClassA.instantiate().typeOf()" + "replacementText": "ClassA.instantiate().typeOf()", + "line": 66, + "column": 28, + "endLine": 66, + "endColumn": 47 } ], "suggest": "", @@ -694,7 +848,11 @@ { "start": 1841, "end": 1853, - "replacementText": "ClassA.instantiate()" + "replacementText": "ClassA.instantiate()", + "line": 66, + "column": 35, + "endLine": 66, + "endColumn": 47 } ], "suggest": "", @@ -711,7 +869,11 @@ { "start": 1874, "end": 1886, - "replacementText": "myAaa.typeOf()" + "replacementText": "myAaa.typeOf()", + "line": 70, + "column": 1, + "endLine": 70, + "endColumn": 13 } ], "suggest": "", @@ -728,7 +890,11 @@ { "start": 1896, "end": 1920, - "replacementText": "Person.instantiate().getPropertyByName('name').typeOf()" + "replacementText": "Person.instantiate().getPropertyByName('name').typeOf()", + "line": 71, + "column": 1, + "endLine": 71, + "endColumn": 25 } ], "suggest": "", @@ -745,7 +911,11 @@ { "start": 1903, "end": 1920, - "replacementText": "new Person().getPropertyByName(\"name\")" + "replacementText": "new Person().getPropertyByName(\"name\")", + "line": 71, + "column": 8, + "endLine": 71, + "endColumn": 25 } ], "suggest": "", @@ -762,7 +932,11 @@ { "replacementText": "new Person().getPropertyByName('name').toString()", "start": 1903, - "end": 1920 + "end": 1920, + "line": 71, + "column": 8, + "endLine": 71, + "endColumn": 25 } ], "suggest": "", @@ -779,7 +953,11 @@ { "start": 1903, "end": 1915, - "replacementText": "Person.instantiate()" + "replacementText": "Person.instantiate()", + "line": 71, + "column": 8, + "endLine": 71, + "endColumn": 20 } ], "suggest": "", @@ -796,7 +974,11 @@ { "start": 1930, "end": 1959, - "replacementText": "Person.instantiate().getPropertyByName('getName').invoke().typeOf()" + "replacementText": "Person.instantiate().getPropertyByName('getName').invoke().typeOf()", + "line": 72, + "column": 1, + "endLine": 72, + "endColumn": 30 } ], "suggest": "", @@ -833,7 +1015,11 @@ { "start": 1937, "end": 1949, - "replacementText": "Person.instantiate()" + "replacementText": "Person.instantiate()", + "line": 72, + "column": 8, + "endLine": 72, + "endColumn": 20 } ], "suggest": "", @@ -850,7 +1036,11 @@ { "start": 1968, "end": 1998, - "replacementText": "Person.instantiate().getPropertyByName('setAge').invoke(ESObject.wrap(22)).typeOf()" + "replacementText": "Person.instantiate().getPropertyByName('setAge').invoke(ESObject.wrap(22)).typeOf()", + "line": 73, + "column": 1, + "endLine": 73, + "endColumn": 31 } ], "suggest": "", @@ -897,12 +1087,37 @@ { "start": 1975, "end": 1987, - "replacementText": "Person.instantiate()" + "replacementText": "Person.instantiate()", + "line": 73, + "column": 8, + "endLine": 73, + "endColumn": 20 } ], "suggest": "", "rule": "ArkTS directly instantiated JS objects is not supported (arkts-interop-js2s-create-js-instance)", "severity": "ERROR" + }, + { + "line": 73, + "column": 28, + "endLine": 73, + "endColumn": 30, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1995, + "end": 1997, + "replacementText": "22.0", + "line": 73, + "column": 28, + "endLine": 73, + "endColumn": 30 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" } ] } \ No newline at end of file diff --git a/ets2panda/linter/test/interop/interop_import_typeof_js.ets.migrate.ets b/ets2panda/linter/test/interop/interop_import_typeof_js.ets.migrate.ets index 5914b7dfda..bcbae97aaf 100644 --- a/ets2panda/linter/test/interop/interop_import_typeof_js.ets.migrate.ets +++ b/ets2panda/linter/test/interop/interop_import_typeof_js.ets.migrate.ets @@ -50,12 +50,12 @@ function getPersonInfo(){ typeof person.getName(); typeof name2; typeof name; - typeof person.setAge(111); + typeof person.setAge(111.0); typeof person; Person.instantiate().typeOf(); //error } -const age = typeof person.setAge(111); +const age = typeof person.setAge(111.0); let person2 = typeof person class Object { code: string = "www" @@ -80,4 +80,4 @@ class Object { myAaa.typeOf(); //error Person.instantiate().getPropertyByName('name').typeOf() //error Person.instantiate().getPropertyByName('getName').invoke().typeOf() //error -Person.instantiate().getPropertyByName('setAge').invoke(ESObject.wrap(22)).typeOf() //error +Person.instantiate().getPropertyByName('setAge').invoke(ESObject.wrap(22.0)).typeOf() //error diff --git a/ets2panda/linter/test/interop/interop_not_have_property_arkts2.ets.arkts2.json b/ets2panda/linter/test/interop/interop_not_have_property_arkts2.ets.arkts2.json index 62322a01ef..97f93e3f45 100755 --- a/ets2panda/linter/test/interop/interop_not_have_property_arkts2.ets.arkts2.json +++ b/ets2panda/linter/test/interop/interop_not_have_property_arkts2.ets.arkts2.json @@ -124,6 +124,16 @@ "rule": "Binary operations on js objects (arkts-interop-js2s-binary-op)", "severity": "ERROR" }, + { + "line": 21, + "column": 14, + "endLine": 21, + "endColumn": 16, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 22, "column": 1, @@ -153,6 +163,26 @@ "suggest": "", "rule": "Binary operations on js objects (arkts-interop-js2s-binary-op)", "severity": "ERROR" + }, + { + "line": 22, + "column": 16, + "endLine": 22, + "endColumn": 17, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 22, + "column": 19, + "endLine": 22, + "endColumn": 20, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" } ] } \ No newline at end of file diff --git a/ets2panda/linter/test/interop/interop_not_have_property_arkts2.ets.autofix.json b/ets2panda/linter/test/interop/interop_not_have_property_arkts2.ets.autofix.json index f849dbbe04..976775d3f7 100755 --- a/ets2panda/linter/test/interop/interop_not_have_property_arkts2.ets.autofix.json +++ b/ets2panda/linter/test/interop/interop_not_have_property_arkts2.ets.autofix.json @@ -34,12 +34,20 @@ { "start": 618, "end": 676, - "replacementText": "" + "replacementText": "", + "line": 17, + "column": 1, + "endLine": 17, + "endColumn": 59 }, { "start": 676, "end": 676, - "replacementText": "let GeneratedImportVar_1 = ESObject.load('./interop_not_have_property_js');\nlet foo = GeneratedImportVar_1.getPropertyByName('foo');\nlet person = GeneratedImportVar_1.getPropertyByName('person');\n" + "replacementText": "let GeneratedImportVar_1 = ESObject.load('./interop_not_have_property_js');\nlet foo = GeneratedImportVar_1.getPropertyByName('foo');\nlet person = GeneratedImportVar_1.getPropertyByName('person');\n", + "line": 17, + "column": 1, + "endLine": 17, + "endColumn": 59 } ], "suggest": "", @@ -56,7 +64,11 @@ { "start": 678, "end": 686, - "replacementText": "foo.getPropertyByName(\"name\")" + "replacementText": "foo.getPropertyByName(\"name\")", + "line": 19, + "column": 1, + "endLine": 19, + "endColumn": 9 } ], "suggest": "", @@ -73,7 +85,11 @@ { "replacementText": "foo.getPropertyByName('name').toString()", "start": 678, - "end": 686 + "end": 686, + "line": 19, + "column": 1, + "endLine": 19, + "endColumn": 9 } ], "suggest": "", @@ -100,7 +116,11 @@ { "start": 687, "end": 703, - "replacementText": "foo.setPropertyByName(\"name\", ESObject.wrap(\"456\"))" + "replacementText": "foo.setPropertyByName(\"name\", ESObject.wrap(\"456\"))", + "line": 20, + "column": 1, + "endLine": 20, + "endColumn": 17 } ], "suggest": "", @@ -117,7 +137,11 @@ { "replacementText": "foo.getPropertyByName('name').toString()", "start": 687, - "end": 695 + "end": 695, + "line": 20, + "column": 1, + "endLine": 20, + "endColumn": 9 } ], "suggest": "", @@ -144,7 +168,11 @@ { "start": 704, "end": 719, - "replacementText": "person.setPropertyByName(\"age\", ESObject.wrap(23))" + "replacementText": "person.setPropertyByName(\"age\", ESObject.wrap(23))", + "line": 21, + "column": 1, + "endLine": 21, + "endColumn": 16 } ], "suggest": "", @@ -161,7 +189,11 @@ { "replacementText": "person.getPropertyByName('age').toNumber()", "start": 704, - "end": 714 + "end": 714, + "line": 21, + "column": 1, + "endLine": 21, + "endColumn": 11 } ], "suggest": "", @@ -178,6 +210,27 @@ "rule": "Binary operations on js objects (arkts-interop-js2s-binary-op)", "severity": "ERROR" }, + { + "line": 21, + "column": 14, + "endLine": 21, + "endColumn": 16, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 717, + "end": 719, + "replacementText": "23.0", + "line": 21, + "column": 14, + "endLine": 21, + "endColumn": 16 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 22, "column": 1, @@ -188,7 +241,11 @@ { "start": 720, "end": 740, - "replacementText": "person.setPropertyByName(\"male\", ESObject.wrap([2, 3]))" + "replacementText": "person.setPropertyByName(\"male\", ESObject.wrap([2, 3]))", + "line": 22, + "column": 1, + "endLine": 22, + "endColumn": 21 } ], "suggest": "", @@ -205,7 +262,11 @@ { "replacementText": "person.getPropertyByName('male')", "start": 720, - "end": 731 + "end": 731, + "line": 22, + "column": 1, + "endLine": 22, + "endColumn": 12 } ], "suggest": "", @@ -221,6 +282,48 @@ "suggest": "", "rule": "Binary operations on js objects (arkts-interop-js2s-binary-op)", "severity": "ERROR" + }, + { + "line": 22, + "column": 16, + "endLine": 22, + "endColumn": 17, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 735, + "end": 736, + "replacementText": "2.0", + "line": 22, + "column": 16, + "endLine": 22, + "endColumn": 17 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 22, + "column": 19, + "endLine": 22, + "endColumn": 20, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 738, + "end": 739, + "replacementText": "3.0", + "line": 22, + "column": 19, + "endLine": 22, + "endColumn": 20 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" } ] } \ No newline at end of file diff --git a/ets2panda/linter/test/interop/interop_not_have_property_arkts2.ets.migrate.ets b/ets2panda/linter/test/interop/interop_not_have_property_arkts2.ets.migrate.ets index a96b2c80b7..6e0033755b 100644 --- a/ets2panda/linter/test/interop/interop_not_have_property_arkts2.ets.migrate.ets +++ b/ets2panda/linter/test/interop/interop_not_have_property_arkts2.ets.migrate.ets @@ -21,5 +21,5 @@ let person = GeneratedImportVar_1.getPropertyByName('person'); foo.getPropertyByName("name") foo.setPropertyByName("name", ESObject.wrap("456")) -person.setPropertyByName("age", ESObject.wrap(23)) -person.setPropertyByName("male", ESObject.wrap([2, 3])) \ No newline at end of file +person.setPropertyByName("age", ESObject.wrap(23.0)) +person.setPropertyByName("male", ESObject.wrap([2.0, 3.0])) \ No newline at end of file diff --git a/ets2panda/linter/test/interop/no_js_instanceof.ets.arkts2.json b/ets2panda/linter/test/interop/no_js_instanceof.ets.arkts2.json index 38edbb0189..9c872a88f9 100755 --- a/ets2panda/linter/test/interop/no_js_instanceof.ets.arkts2.json +++ b/ets2panda/linter/test/interop/no_js_instanceof.ets.arkts2.json @@ -1,17 +1,17 @@ { "copyright": [ - "Copyright (c) 2025 Huawei Device Co., Ltd.", - "Licensed under the Apache License, Version 2.0 (the 'License');", - "you may not use this file except in compliance with the License.", - "You may obtain a copy of the License at", - "", - "http://www.apache.org/licenses/LICENSE-2.0", - "", - "Unless required by applicable law or agreed to in writing, software", - "distributed under the License is distributed on an 'AS IS' BASIS,", - "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.", - "See the License for the specific language governing permissions and", - "limitations under the License." + "Copyright (c) 2025 Huawei Device Co., Ltd.", + "Licensed under the Apache License, Version 2.0 (the 'License');", + "you may not use this file except in compliance with the License.", + "You may obtain a copy of the License at", + "", + "http://www.apache.org/licenses/LICENSE-2.0", + "", + "Unless required by applicable law or agreed to in writing, software", + "distributed under the License is distributed on an 'AS IS' BASIS,", + "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.", + "See the License for the specific language governing permissions and", + "limitations under the License." ], "result": [ { @@ -84,6 +84,16 @@ "rule": "ArkTS directly call JS functions or parameters is not supported (arkts-interop-js2s-call-js-func)", "severity": "ERROR" }, + { + "line": 39, + "column": 47, + "endLine": 39, + "endColumn": 49, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 41, "column": 4, diff --git a/ets2panda/linter/test/interop/object_literal_constructor.ets.arkts2.json b/ets2panda/linter/test/interop/object_literal_constructor.ets.arkts2.json index 1891f69fe3..2ed417eeee 100644 --- a/ets2panda/linter/test/interop/object_literal_constructor.ets.arkts2.json +++ b/ets2panda/linter/test/interop/object_literal_constructor.ets.arkts2.json @@ -13,7 +13,7 @@ "See the License for the specific language governing permissions and", "limitations under the License." ], - "result": [ + "result": [ { "line": 17, "column": 1, @@ -34,6 +34,16 @@ "rule": "Object literal cannot be directly assigned to class with a constructor. (arkts-interop-d2s-object-literal-no-args-constructor)", "severity": "ERROR" }, + { + "line": 19, + "column": 24, + "endLine": 19, + "endColumn": 25, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 23, "column": 5, diff --git a/ets2panda/linter/test/main/animatable_extend_decorator_1.ets.arkts2.json b/ets2panda/linter/test/main/animatable_extend_decorator_1.ets.arkts2.json index 5734f269a9..b35596cae2 100644 --- a/ets2panda/linter/test/main/animatable_extend_decorator_1.ets.arkts2.json +++ b/ets2panda/linter/test/main/animatable_extend_decorator_1.ets.arkts2.json @@ -24,6 +24,66 @@ "rule": "\"@AnimatableExtend\" decorator should be transformed to use receiver (arkui-animatableextend-use-receiver)", "severity": "ERROR" }, + { + "line": 24, + "column": 30, + "endLine": 24, + "endColumn": 32, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 30, + "column": 32, + "endLine": 30, + "endColumn": 36, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 33, + "column": 46, + "endLine": 33, + "endColumn": 48, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 33, + "column": 51, + "endLine": 33, + "endColumn": 54, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 33, + "column": 57, + "endLine": 33, + "endColumn": 59, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 36, + "column": 14, + "endLine": 36, + "endColumn": 16, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 16, "column": 2, diff --git a/ets2panda/linter/test/main/animatable_extend_decorator_1.ets.autofix.json b/ets2panda/linter/test/main/animatable_extend_decorator_1.ets.autofix.json index c75ea9c0cb..4a99d7ea8c 100644 --- a/ets2panda/linter/test/main/animatable_extend_decorator_1.ets.autofix.json +++ b/ets2panda/linter/test/main/animatable_extend_decorator_1.ets.autofix.json @@ -24,13 +24,143 @@ { "start": 605, "end": 688, - "replacementText": "@AnimatableExtend\nfunction animatableWidth(this: TextAttribute, width: number): this {\n this.width(width);\n return this;\n}" + "replacementText": "@AnimatableExtend\nfunction animatableWidth(this: TextAttribute, width: number): this {\n this.width(width);\n return this;\n}", + "line": 16, + "column": 1, + "endLine": 19, + "endColumn": 2 } ], "suggest": "", "rule": "\"@AnimatableExtend\" decorator should be transformed to use receiver (arkui-animatableextend-use-receiver)", "severity": "ERROR" }, + { + "line": 24, + "column": 30, + "endLine": 24, + "endColumn": 32, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 772, + "end": 774, + "replacementText": "80.0", + "line": 24, + "column": 30, + "endLine": 24, + "endColumn": 32 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 30, + "column": 32, + "endLine": 30, + "endColumn": 36, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 909, + "end": 913, + "replacementText": "2000.0", + "line": 30, + "column": 32, + "endLine": 30, + "endColumn": 36 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 33, + "column": 46, + "endLine": 33, + "endColumn": 48, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1027, + "end": 1029, + "replacementText": "80.0", + "line": 33, + "column": 46, + "endLine": 33, + "endColumn": 48 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 33, + "column": 51, + "endLine": 33, + "endColumn": 54, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1032, + "end": 1035, + "replacementText": "160.0", + "line": 33, + "column": 51, + "endLine": 33, + "endColumn": 54 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 33, + "column": 57, + "endLine": 33, + "endColumn": 59, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1038, + "end": 1040, + "replacementText": "80.0", + "line": 33, + "column": 57, + "endLine": 33, + "endColumn": 59 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 36, + "column": 14, + "endLine": 36, + "endColumn": 16, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1086, + "end": 1088, + "replacementText": "10.0", + "line": 36, + "column": 14, + "endLine": 36, + "endColumn": 16 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 16, "column": 2, @@ -41,7 +171,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { TextAttribute, AnimatableExtend, Entry, Component, State, Column, Text, Curve, Button } from '@kit.ArkUI';" + "replacementText": "\n\nimport { TextAttribute, AnimatableExtend, Entry, Component, State, Column, Text, Curve, Button } from '@kit.ArkUI';", + "line": 31, + "column": 7, + "endLine": 31, + "endColumn": 13 } ], "suggest": "", @@ -58,7 +192,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { TextAttribute, AnimatableExtend, Entry, Component, State, Column, Text, Curve, Button } from '@kit.ArkUI';" + "replacementText": "\n\nimport { TextAttribute, AnimatableExtend, Entry, Component, State, Column, Text, Curve, Button } from '@kit.ArkUI';", + "line": 31, + "column": 7, + "endLine": 31, + "endColumn": 13 } ], "suggest": "", @@ -75,7 +213,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { TextAttribute, AnimatableExtend, Entry, Component, State, Column, Text, Curve, Button } from '@kit.ArkUI';" + "replacementText": "\n\nimport { TextAttribute, AnimatableExtend, Entry, Component, State, Column, Text, Curve, Button } from '@kit.ArkUI';", + "line": 31, + "column": 7, + "endLine": 31, + "endColumn": 13 } ], "suggest": "", @@ -92,7 +234,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { TextAttribute, AnimatableExtend, Entry, Component, State, Column, Text, Curve, Button } from '@kit.ArkUI';" + "replacementText": "\n\nimport { TextAttribute, AnimatableExtend, Entry, Component, State, Column, Text, Curve, Button } from '@kit.ArkUI';", + "line": 31, + "column": 7, + "endLine": 31, + "endColumn": 13 } ], "suggest": "", @@ -109,7 +255,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { TextAttribute, AnimatableExtend, Entry, Component, State, Column, Text, Curve, Button } from '@kit.ArkUI';" + "replacementText": "\n\nimport { TextAttribute, AnimatableExtend, Entry, Component, State, Column, Text, Curve, Button } from '@kit.ArkUI';", + "line": 31, + "column": 7, + "endLine": 31, + "endColumn": 13 } ], "suggest": "", @@ -126,7 +276,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { TextAttribute, AnimatableExtend, Entry, Component, State, Column, Text, Curve, Button } from '@kit.ArkUI';" + "replacementText": "\n\nimport { TextAttribute, AnimatableExtend, Entry, Component, State, Column, Text, Curve, Button } from '@kit.ArkUI';", + "line": 31, + "column": 7, + "endLine": 31, + "endColumn": 13 } ], "suggest": "", @@ -143,7 +297,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { TextAttribute, AnimatableExtend, Entry, Component, State, Column, Text, Curve, Button } from '@kit.ArkUI';" + "replacementText": "\n\nimport { TextAttribute, AnimatableExtend, Entry, Component, State, Column, Text, Curve, Button } from '@kit.ArkUI';", + "line": 31, + "column": 7, + "endLine": 31, + "endColumn": 13 } ], "suggest": "", @@ -160,7 +318,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { TextAttribute, AnimatableExtend, Entry, Component, State, Column, Text, Curve, Button } from '@kit.ArkUI';" + "replacementText": "\n\nimport { TextAttribute, AnimatableExtend, Entry, Component, State, Column, Text, Curve, Button } from '@kit.ArkUI';", + "line": 31, + "column": 7, + "endLine": 31, + "endColumn": 13 } ], "suggest": "", diff --git a/ets2panda/linter/test/main/animatable_extend_decorator_1.ets.migrate.ets b/ets2panda/linter/test/main/animatable_extend_decorator_1.ets.migrate.ets index 1c0c40caa7..cc98fd6d8d 100644 --- a/ets2panda/linter/test/main/animatable_extend_decorator_1.ets.migrate.ets +++ b/ets2panda/linter/test/main/animatable_extend_decorator_1.ets.migrate.ets @@ -24,18 +24,18 @@ function animatableWidth(this: TextAttribute, width: number): this { @Entry @Component struct AnimatablePropertyExample { - @State textWidth: number = 80; + @State textWidth: number = 80.0; build() { Column() { Text("AnimatableProperty") .animatableWidth(this.textWidth) - .animation({ duration: 2000, curve: Curve.Ease }) + .animation({ duration: 2000.0, curve: Curve.Ease }) Button("Play") .onClick(() => { - this.textWidth = this.textWidth == 80 ? 160 : 80; + this.textWidth = this.textWidth == 80.0 ? 160.0 : 80.0; }) }.width("100%") - .padding(10) + .padding(10.0) } } \ No newline at end of file diff --git a/ets2panda/linter/test/main/animatable_extend_decorator_2.ets.arkts2.json b/ets2panda/linter/test/main/animatable_extend_decorator_2.ets.arkts2.json index 4e365eb63e..23ad6343c0 100644 --- a/ets2panda/linter/test/main/animatable_extend_decorator_2.ets.arkts2.json +++ b/ets2panda/linter/test/main/animatable_extend_decorator_2.ets.arkts2.json @@ -53,6 +53,66 @@ "suggest": "", "rule": "Type notation using \"this\" is not supported (arkts-no-typing-with-this)", "severity": "ERROR" + }, + { + "line": 27, + "column": 30, + "endLine": 27, + "endColumn": 32, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 33, + "column": 32, + "endLine": 33, + "endColumn": 36, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 36, + "column": 46, + "endLine": 36, + "endColumn": 48, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 36, + "column": 51, + "endLine": 36, + "endColumn": 54, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 36, + "column": 57, + "endLine": 36, + "endColumn": 59, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 39, + "column": 14, + "endLine": 39, + "endColumn": 16, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" } ] } \ No newline at end of file diff --git a/ets2panda/linter/test/main/animatable_extend_decorator_2.ets.autofix.json b/ets2panda/linter/test/main/animatable_extend_decorator_2.ets.autofix.json index 4e365eb63e..e9e0e09c8a 100644 --- a/ets2panda/linter/test/main/animatable_extend_decorator_2.ets.autofix.json +++ b/ets2panda/linter/test/main/animatable_extend_decorator_2.ets.autofix.json @@ -53,6 +53,132 @@ "suggest": "", "rule": "Type notation using \"this\" is not supported (arkts-no-typing-with-this)", "severity": "ERROR" + }, + { + "line": 27, + "column": 30, + "endLine": 27, + "endColumn": 32, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 930, + "end": 932, + "replacementText": "80.0", + "line": 27, + "column": 30, + "endLine": 27, + "endColumn": 32 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 33, + "column": 32, + "endLine": 33, + "endColumn": 36, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1067, + "end": 1071, + "replacementText": "2000.0", + "line": 33, + "column": 32, + "endLine": 33, + "endColumn": 36 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 36, + "column": 46, + "endLine": 36, + "endColumn": 48, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1185, + "end": 1187, + "replacementText": "80.0", + "line": 36, + "column": 46, + "endLine": 36, + "endColumn": 48 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 36, + "column": 51, + "endLine": 36, + "endColumn": 54, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1190, + "end": 1193, + "replacementText": "160.0", + "line": 36, + "column": 51, + "endLine": 36, + "endColumn": 54 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 36, + "column": 57, + "endLine": 36, + "endColumn": 59, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1196, + "end": 1198, + "replacementText": "80.0", + "line": 36, + "column": 57, + "endLine": 36, + "endColumn": 59 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 39, + "column": 14, + "endLine": 39, + "endColumn": 16, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1244, + "end": 1246, + "replacementText": "10.0", + "line": 39, + "column": 14, + "endLine": 39, + "endColumn": 16 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" } ] } \ No newline at end of file diff --git a/ets2panda/linter/test/main/animatable_extend_decorator_2.ets.migrate.ets b/ets2panda/linter/test/main/animatable_extend_decorator_2.ets.migrate.ets index eebe111df2..e108e0f7ea 100644 --- a/ets2panda/linter/test/main/animatable_extend_decorator_2.ets.migrate.ets +++ b/ets2panda/linter/test/main/animatable_extend_decorator_2.ets.migrate.ets @@ -24,18 +24,18 @@ function animatableWidth(this: TextAttribute, width: number): this { @Entry @Component struct AnimatablePropertyExample { - @State textWidth: number = 80; + @State textWidth: number = 80.0; build() { Column() { Text("AnimatableProperty") .animatableWidth(this.textWidth) - .animation({ duration: 2000, curve: Curve.Ease }) + .animation({ duration: 2000.0, curve: Curve.Ease }) Button("Play") .onClick(() => { - this.textWidth = this.textWidth == 80 ? 160 : 80; + this.textWidth = this.textWidth == 80.0 ? 160.0 : 80.0; }) }.width("100%") - .padding(10) + .padding(10.0) } } \ No newline at end of file diff --git a/ets2panda/linter/test/main/arkts-array-type-immutable.ets.arkts2.json b/ets2panda/linter/test/main/arkts-array-type-immutable.ets.arkts2.json index 802ecf8492..15d79307bb 100644 --- a/ets2panda/linter/test/main/arkts-array-type-immutable.ets.arkts2.json +++ b/ets2panda/linter/test/main/arkts-array-type-immutable.ets.arkts2.json @@ -14,6 +14,16 @@ "limitations under the License." ], "result": [ + { + "line": 16, + "column": 20, + "endLine": 16, + "endColumn": 21, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 17, "column": 5, @@ -24,6 +34,16 @@ "rule": "Array types follow the principle of invariance (arkts-array-type-immutable)", "severity": "ERROR" }, + { + "line": 19, + "column": 32, + "endLine": 19, + "endColumn": 33, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 23, "column": 1, @@ -34,6 +54,16 @@ "rule": "Array types follow the principle of invariance (arkts-array-type-immutable)", "severity": "ERROR" }, + { + "line": 26, + "column": 31, + "endLine": 26, + "endColumn": 32, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 30, "column": 1, @@ -54,6 +84,36 @@ "rule": "Array types follow the principle of invariance (arkts-array-type-immutable)", "severity": "ERROR" }, + { + "line": 32, + "column": 49, + "endLine": 32, + "endColumn": 50, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 32, + "column": 52, + "endLine": 32, + "endColumn": 53, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 35, + "column": 33, + "endLine": 35, + "endColumn": 34, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 36, "column": 3, diff --git a/ets2panda/linter/test/main/arkts-primitive-type-normalization.ets.arkts2.json b/ets2panda/linter/test/main/arkts-primitive-type-normalization.ets.arkts2.json index 1b81953cde..72037700d5 100644 --- a/ets2panda/linter/test/main/arkts-primitive-type-normalization.ets.arkts2.json +++ b/ets2panda/linter/test/main/arkts-primitive-type-normalization.ets.arkts2.json @@ -24,6 +24,16 @@ "rule": "ArkTS creating primitive types is not supported (arkts-primitive-type-normalization)", "severity": "ERROR" }, + { + "line": 16, + "column": 19, + "endLine": 16, + "endColumn": 20, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 17, "column": 1, @@ -34,6 +44,16 @@ "rule": "ArkTS creating primitive types is not supported (arkts-primitive-type-normalization)", "severity": "ERROR" }, + { + "line": 17, + "column": 12, + "endLine": 17, + "endColumn": 13, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 17, "column": 18, @@ -44,6 +64,16 @@ "rule": "ArkTS creating primitive types is not supported (arkts-primitive-type-normalization)", "severity": "ERROR" }, + { + "line": 17, + "column": 29, + "endLine": 17, + "endColumn": 30, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 18, "column": 5, diff --git a/ets2panda/linter/test/main/arkts_no_duplicate_function_name3.ets.arkts2.json b/ets2panda/linter/test/main/arkts_no_duplicate_function_name3.ets.arkts2.json index 6a6fa4756f..478be3ec9a 100644 --- a/ets2panda/linter/test/main/arkts_no_duplicate_function_name3.ets.arkts2.json +++ b/ets2panda/linter/test/main/arkts_no_duplicate_function_name3.ets.arkts2.json @@ -54,6 +54,16 @@ "rule": "Duplicate function name in namespace are not allowed (arkts-no-duplicate-function-name)", "severity": "ERROR" }, + { + "line": 31, + "column": 23, + "endLine": 31, + "endColumn": 25, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 35, "column": 3, @@ -64,6 +74,36 @@ "rule": "Duplicate function name in namespace are not allowed (arkts-no-duplicate-function-name)", "severity": "ERROR" }, + { + "line": 35, + "column": 23, + "endLine": 35, + "endColumn": 25, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 39, + "column": 19, + "endLine": 39, + "endColumn": 20, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 39, + "column": 34, + "endLine": 39, + "endColumn": 35, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 47, "column": 3, @@ -84,6 +124,66 @@ "rule": "Duplicate function name in namespace are not allowed (arkts-no-duplicate-function-name)", "severity": "ERROR" }, + { + "line": 59, + "column": 19, + "endLine": 59, + "endColumn": 20, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 59, + "column": 34, + "endLine": 59, + "endColumn": 35, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 63, + "column": 19, + "endLine": 63, + "endColumn": 20, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 63, + "column": 34, + "endLine": 63, + "endColumn": 35, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 67, + "column": 19, + "endLine": 67, + "endColumn": 20, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 67, + "column": 34, + "endLine": 67, + "endColumn": 35, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 71, "column": 3, @@ -93,6 +193,26 @@ "suggest": "", "rule": "Duplicate function name in namespace are not allowed (arkts-no-duplicate-function-name)", "severity": "ERROR" + }, + { + "line": 71, + "column": 19, + "endLine": 71, + "endColumn": 20, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 71, + "column": 34, + "endLine": 71, + "endColumn": 35, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" } ] } \ No newline at end of file diff --git a/ets2panda/linter/test/main/arktsutils_module.ets.arkts2.json b/ets2panda/linter/test/main/arktsutils_module.ets.arkts2.json index 6f9939410a..a090d23f5e 100644 --- a/ets2panda/linter/test/main/arktsutils_module.ets.arkts2.json +++ b/ets2panda/linter/test/main/arktsutils_module.ets.arkts2.json @@ -24,6 +24,16 @@ "rule": "ASON is not supported. (arkts-no-need-stdlib-ason)", "severity": "ERROR" }, + { + "line": 28, + "column": 47, + "endLine": 28, + "endColumn": 48, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 30, "column": 34, @@ -34,6 +44,16 @@ "rule": "ASON is not supported. (arkts-no-need-stdlib-ason)", "severity": "ERROR" }, + { + "line": 30, + "column": 49, + "endLine": 30, + "endColumn": 50, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 32, "column": 32, @@ -44,6 +64,16 @@ "rule": "ASON is not supported. (arkts-no-need-stdlib-ason)", "severity": "ERROR" }, + { + "line": 32, + "column": 47, + "endLine": 32, + "endColumn": 48, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 34, "column": 42, @@ -53,6 +83,16 @@ "suggest": "", "rule": "ASON is not supported. (arkts-no-need-stdlib-ason)", "severity": "ERROR" + }, + { + "line": 34, + "column": 57, + "endLine": 34, + "endColumn": 58, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" } ] -} +} \ No newline at end of file diff --git a/ets2panda/linter/test/main/arktsutils_module.ets.autofix.json b/ets2panda/linter/test/main/arktsutils_module.ets.autofix.json index 05eac65f01..77b0d7cec9 100644 --- a/ets2panda/linter/test/main/arktsutils_module.ets.autofix.json +++ b/ets2panda/linter/test/main/arktsutils_module.ets.autofix.json @@ -20,67 +20,167 @@ "endLine": 28, "endColumn": 36, "problem": "LimitedStdLibNoASON", - "suggest": "", "autofix": [ { "start": 981, "end": 991, - "replacementText": "JSON" + "replacementText": "JSON", + "line": 28, + "column": 32, + "endLine": 28, + "endColumn": 36 } ], + "suggest": "", "rule": "ASON is not supported. (arkts-no-need-stdlib-ason)", "severity": "ERROR" }, + { + "line": 28, + "column": 47, + "endLine": 28, + "endColumn": 48, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1002, + "end": 1003, + "replacementText": "1.0", + "line": 28, + "column": 47, + "endLine": 28, + "endColumn": 48 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 30, "column": 34, "endLine": 30, "endColumn": 38, "problem": "LimitedStdLibNoASON", - "suggest": "", "autofix": [ { "start": 1024, "end": 1044, - "replacementText": "JSON" + "replacementText": "JSON", + "line": 30, + "column": 34, + "endLine": 30, + "endColumn": 38 } ], + "suggest": "", "rule": "ASON is not supported. (arkts-no-need-stdlib-ason)", "severity": "ERROR" }, + { + "line": 30, + "column": 49, + "endLine": 30, + "endColumn": 50, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1055, + "end": 1056, + "replacementText": "1.0", + "line": 30, + "column": 49, + "endLine": 30, + "endColumn": 50 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 32, "column": 32, "endLine": 32, "endColumn": 36, "problem": "LimitedStdLibNoASON", - "suggest": "", - "autofix": [ + "autofix": [ { "start": 1077, "end": 1095, - "replacementText": "JSON" + "replacementText": "JSON", + "line": 32, + "column": 32, + "endLine": 32, + "endColumn": 36 } ], + "suggest": "", "rule": "ASON is not supported. (arkts-no-need-stdlib-ason)", "severity": "ERROR" }, + { + "line": 32, + "column": 47, + "endLine": 32, + "endColumn": 48, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1106, + "end": 1107, + "replacementText": "1.0", + "line": 32, + "column": 47, + "endLine": 32, + "endColumn": 48 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 34, "column": 42, "endLine": 34, "endColumn": 46, "problem": "LimitedStdLibNoASON", - "suggest": "", "autofix": [ { "start": 1136, "end": 1156, - "replacementText": "JSON" + "replacementText": "JSON", + "line": 34, + "column": 42, + "endLine": 34, + "endColumn": 46 } ], + "suggest": "", "rule": "ASON is not supported. (arkts-no-need-stdlib-ason)", "severity": "ERROR" + }, + { + "line": 34, + "column": 57, + "endLine": 34, + "endColumn": 58, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1167, + "end": 1168, + "replacementText": "1.0", + "line": 34, + "column": 57, + "endLine": 34, + "endColumn": 58 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" } ] -} +} \ No newline at end of file diff --git a/ets2panda/linter/test/main/arktsutils_module.ets.migrate.ets b/ets2panda/linter/test/main/arktsutils_module.ets.migrate.ets index c44acf5845..b2a00452ad 100644 --- a/ets2panda/linter/test/main/arktsutils_module.ets.migrate.ets +++ b/ets2panda/linter/test/main/arktsutils_module.ets.migrate.ets @@ -25,11 +25,11 @@ export { utils } from './oh_modules/@arkts.utils'; function tesCollectionsUsage() { - const utils1: string = JSON.stringify(1); + const utils1: string = JSON.stringify(1.0); - const utils2 = JSON.stringify(1); + const utils2 = JSON.stringify(1.0); - const utils3 = JSON.stringify(1); + const utils3 = JSON.stringify(1.0); - const utils4: string = JSON.stringify(1); + const utils4: string = JSON.stringify(1.0); } \ No newline at end of file diff --git a/ets2panda/linter/test/main/array_index_expr_type.ets.arkts2.json b/ets2panda/linter/test/main/array_index_expr_type.ets.arkts2.json index 5bf7d76719..61cc05bbbb 100644 --- a/ets2panda/linter/test/main/array_index_expr_type.ets.arkts2.json +++ b/ets2panda/linter/test/main/array_index_expr_type.ets.arkts2.json @@ -24,6 +24,36 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 17, + "column": 19, + "endLine": 17, + "endColumn": 20, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 17, + "column": 21, + "endLine": 17, + "endColumn": 22, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 17, + "column": 23, + "endLine": 17, + "endColumn": 24, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 18, "column": 7, @@ -324,6 +354,46 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 35, + "column": 14, + "endLine": 35, + "endColumn": 15, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 35, + "column": 16, + "endLine": 35, + "endColumn": 17, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 35, + "column": 18, + "endLine": 35, + "endColumn": 19, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 38, + "column": 23, + "endLine": 38, + "endColumn": 24, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 39, "column": 7, @@ -344,6 +414,26 @@ "rule": "The index expression must be of a numeric type (arkts-array-index-expr-type)", "severity": "ERROR" }, + { + "line": 42, + "column": 20, + "endLine": 42, + "endColumn": 21, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 48, + "column": 26, + "endLine": 48, + "endColumn": 28, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 50, "column": 5, @@ -354,6 +444,36 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 50, + "column": 15, + "endLine": 50, + "endColumn": 16, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 50, + "column": 18, + "endLine": 50, + "endColumn": 19, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 50, + "column": 21, + "endLine": 50, + "endColumn": 22, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 51, "column": 8, @@ -374,6 +494,86 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 53, + "column": 15, + "endLine": 53, + "endColumn": 16, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 53, + "column": 18, + "endLine": 53, + "endColumn": 19, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 53, + "column": 21, + "endLine": 53, + "endColumn": 22, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 54, + "column": 22, + "endLine": 54, + "endColumn": 23, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 58, + "column": 19, + "endLine": 58, + "endColumn": 20, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 62, + "column": 22, + "endLine": 62, + "endColumn": 23, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 62, + "column": 25, + "endLine": 62, + "endColumn": 26, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 62, + "column": 28, + "endLine": 62, + "endColumn": 29, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 64, "column": 3, @@ -414,6 +614,76 @@ "rule": "The index expression must be of a numeric type (arkts-array-index-expr-type)", "severity": "ERROR" }, + { + "line": 75, + "column": 15, + "endLine": 75, + "endColumn": 16, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 76, + "column": 14, + "endLine": 76, + "endColumn": 15, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 77, + "column": 13, + "endLine": 77, + "endColumn": 14, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 78, + "column": 14, + "endLine": 78, + "endColumn": 15, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 80, + "column": 21, + "endLine": 80, + "endColumn": 22, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 80, + "column": 23, + "endLine": 80, + "endColumn": 24, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 80, + "column": 25, + "endLine": 80, + "endColumn": 26, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 81, "column": 5, @@ -423,6 +693,46 @@ "suggest": "", "rule": "The index expression must be of a numeric type (arkts-array-index-expr-type)", "severity": "ERROR" + }, + { + "line": 82, + "column": 10, + "endLine": 82, + "endColumn": 11, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 83, + "column": 10, + "endLine": 83, + "endColumn": 11, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 84, + "column": 10, + "endLine": 84, + "endColumn": 11, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 85, + "column": 10, + "endLine": 85, + "endColumn": 11, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" } ] -} +} \ No newline at end of file diff --git a/ets2panda/linter/test/main/array_index_expr_type.ets.autofix.json b/ets2panda/linter/test/main/array_index_expr_type.ets.autofix.json index e6e11862be..03156443c2 100644 --- a/ets2panda/linter/test/main/array_index_expr_type.ets.autofix.json +++ b/ets2panda/linter/test/main/array_index_expr_type.ets.autofix.json @@ -24,7 +24,74 @@ { "start": 639, "end": 657, - "replacementText": "an_array: number[] = [1, 2, 3]" + "replacementText": "an_array: number[] = [1, 2, 3]", + "line": 17, + "column": 7, + "endLine": 17, + "endColumn": 25 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 17, + "column": 19, + "endLine": 17, + "endColumn": 20, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 651, + "end": 652, + "replacementText": "1.0", + "line": 17, + "column": 19, + "endLine": 17, + "endColumn": 20 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 17, + "column": 21, + "endLine": 17, + "endColumn": 22, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 653, + "end": 654, + "replacementText": "2.0", + "line": 17, + "column": 21, + "endLine": 17, + "endColumn": 22 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 17, + "column": 23, + "endLine": 17, + "endColumn": 24, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 655, + "end": 656, + "replacementText": "3.0", + "line": 17, + "column": 23, + "endLine": 17, + "endColumn": 24 } ], "suggest": "", @@ -41,7 +108,11 @@ { "start": 664, "end": 683, - "replacementText": "a: number = an_array[index]" + "replacementText": "a: number = an_array[index]", + "line": 18, + "column": 7, + "endLine": 18, + "endColumn": 26 } ], "suggest": "", @@ -58,7 +129,11 @@ { "start": 677, "end": 682, - "replacementText": "index as int" + "replacementText": "index as int", + "line": 18, + "column": 20, + "endLine": 18, + "endColumn": 25 } ], "suggest": "", @@ -75,7 +150,11 @@ { "start": 690, "end": 714, - "replacementText": "a1: number = an_array[index + 1]" + "replacementText": "a1: number = an_array[index + 1]", + "line": 19, + "column": 7, + "endLine": 19, + "endColumn": 31 } ], "suggest": "", @@ -92,7 +171,11 @@ { "start": 704, "end": 713, - "replacementText": "(index + 1) as int" + "replacementText": "(index + 1) as int", + "line": 19, + "column": 21, + "endLine": 19, + "endColumn": 30 } ], "suggest": "", @@ -109,7 +192,11 @@ { "start": 721, "end": 747, - "replacementText": "a2: number = an_array[index + 1.1]" + "replacementText": "a2: number = an_array[index + 1.1]", + "line": 20, + "column": 7, + "endLine": 20, + "endColumn": 33 } ], "suggest": "", @@ -126,7 +213,11 @@ { "start": 735, "end": 746, - "replacementText": "(index + 1.1) as int" + "replacementText": "(index + 1.1) as int", + "line": 20, + "column": 21, + "endLine": 20, + "endColumn": 32 } ], "suggest": "", @@ -143,7 +234,11 @@ { "start": 754, "end": 772, - "replacementText": "b: number = an_array[1.23]" + "replacementText": "b: number = an_array[1.23]", + "line": 21, + "column": 7, + "endLine": 21, + "endColumn": 25 } ], "suggest": "", @@ -160,7 +255,11 @@ { "start": 767, "end": 771, - "replacementText": "1.23 as int" + "replacementText": "1.23 as int", + "line": 21, + "column": 20, + "endLine": 21, + "endColumn": 24 } ], "suggest": "", @@ -257,7 +356,11 @@ { "start": 887, "end": 901, - "replacementText": "g: number = an_array[]" + "replacementText": "g: number = an_array[]", + "line": 26, + "column": 7, + "endLine": 26, + "endColumn": 21 } ], "suggest": "", @@ -284,7 +387,11 @@ { "start": 908, "end": 925, - "replacementText": "h: number = an_array[12.]" + "replacementText": "h: number = an_array[12.]", + "line": 27, + "column": 7, + "endLine": 27, + "endColumn": 24 } ], "suggest": "", @@ -301,7 +408,11 @@ { "start": 921, "end": 924, - "replacementText": "12. as int" + "replacementText": "12. as int", + "line": 27, + "column": 20, + "endLine": 27, + "endColumn": 23 } ], "suggest": "", @@ -318,7 +429,11 @@ { "start": 932, "end": 950, - "replacementText": "i: number = an_array[12.0]" + "replacementText": "i: number = an_array[12.0]", + "line": 28, + "column": 7, + "endLine": 28, + "endColumn": 25 } ], "suggest": "", @@ -335,7 +450,11 @@ { "start": 945, "end": 949, - "replacementText": "12.0 as int" + "replacementText": "12.0 as int", + "line": 28, + "column": 20, + "endLine": 28, + "endColumn": 24 } ], "suggest": "", @@ -352,7 +471,11 @@ { "start": 957, "end": 972, - "replacementText": "j: number = an_array[0]" + "replacementText": "j: number = an_array[0]", + "line": 29, + "column": 7, + "endLine": 29, + "endColumn": 22 } ], "suggest": "", @@ -369,7 +492,11 @@ { "start": 979, "end": 1009, - "replacementText": "k: number = an_array[Number.MAX_VALUE]" + "replacementText": "k: number = an_array[Number.MAX_VALUE]", + "line": 30, + "column": 7, + "endLine": 30, + "endColumn": 37 } ], "suggest": "", @@ -386,7 +513,11 @@ { "start": 992, "end": 1008, - "replacementText": "Number.MAX_VALUE as int" + "replacementText": "Number.MAX_VALUE as int", + "line": 30, + "column": 20, + "endLine": 30, + "endColumn": 36 } ], "suggest": "", @@ -403,7 +534,11 @@ { "start": 1016, "end": 1046, - "replacementText": "l: number = an_array[Number.MIN_VALUE]" + "replacementText": "l: number = an_array[Number.MIN_VALUE]", + "line": 31, + "column": 7, + "endLine": 31, + "endColumn": 37 } ], "suggest": "", @@ -420,7 +555,11 @@ { "start": 1029, "end": 1045, - "replacementText": "Number.MIN_VALUE as int" + "replacementText": "Number.MIN_VALUE as int", + "line": 31, + "column": 20, + "endLine": 31, + "endColumn": 36 } ], "suggest": "", @@ -437,7 +576,11 @@ { "start": 1053, "end": 1090, - "replacementText": "m: number = an_array[Number.MAX_SAFE_INTEGER]" + "replacementText": "m: number = an_array[Number.MAX_SAFE_INTEGER]", + "line": 32, + "column": 7, + "endLine": 32, + "endColumn": 44 } ], "suggest": "", @@ -454,7 +597,11 @@ { "start": 1066, "end": 1089, - "replacementText": "Number.MAX_SAFE_INTEGER as int" + "replacementText": "Number.MAX_SAFE_INTEGER as int", + "line": 32, + "column": 20, + "endLine": 32, + "endColumn": 43 } ], "suggest": "", @@ -471,7 +618,95 @@ { "start": 1098, "end": 1113, - "replacementText": "array: number[] = [1, 2, 3]" + "replacementText": "array: number[] = [1, 2, 3]", + "line": 35, + "column": 5, + "endLine": 35, + "endColumn": 20 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 35, + "column": 14, + "endLine": 35, + "endColumn": 15, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1107, + "end": 1108, + "replacementText": "1.0", + "line": 35, + "column": 14, + "endLine": 35, + "endColumn": 15 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 35, + "column": 16, + "endLine": 35, + "endColumn": 17, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1109, + "end": 1110, + "replacementText": "2.0", + "line": 35, + "column": 16, + "endLine": 35, + "endColumn": 17 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 35, + "column": 18, + "endLine": 35, + "endColumn": 19, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1111, + "end": 1112, + "replacementText": "3.0", + "line": 35, + "column": 18, + "endLine": 35, + "endColumn": 19 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 38, + "column": 23, + "endLine": 38, + "endColumn": 24, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1192, + "end": 1193, + "replacementText": "1.0", + "line": 38, + "column": 23, + "endLine": 38, + "endColumn": 24 } ], "suggest": "", @@ -488,7 +723,11 @@ { "start": 1201, "end": 1208, - "replacementText": "index_1 as int" + "replacementText": "index_1 as int", + "line": 39, + "column": 7, + "endLine": 39, + "endColumn": 14 } ], "suggest": "", @@ -505,13 +744,59 @@ { "start": 1217, "end": 1224, - "replacementText": "index_2 as int" + "replacementText": "index_2 as int", + "line": 40, + "column": 7, + "endLine": 40, + "endColumn": 14 } ], "suggest": "", "rule": "The index expression must be of a numeric type (arkts-array-index-expr-type)", "severity": "ERROR" }, + { + "line": 42, + "column": 20, + "endLine": 42, + "endColumn": 21, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1262, + "end": 1263, + "replacementText": "2.0", + "line": 42, + "column": 20, + "endLine": 42, + "endColumn": 21 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 48, + "column": 26, + "endLine": 48, + "endColumn": 28, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1381, + "end": 1383, + "replacementText": "10.0", + "line": 48, + "column": 26, + "endLine": 48, + "endColumn": 28 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 50, "column": 5, @@ -522,7 +807,74 @@ { "start": 1391, "end": 1409, - "replacementText": "array1: number[] = [1, 2, 3]" + "replacementText": "array1: number[] = [1, 2, 3]", + "line": 50, + "column": 5, + "endLine": 50, + "endColumn": 23 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 50, + "column": 15, + "endLine": 50, + "endColumn": 16, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1401, + "end": 1402, + "replacementText": "1.0", + "line": 50, + "column": 15, + "endLine": 50, + "endColumn": 16 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 50, + "column": 18, + "endLine": 50, + "endColumn": 19, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1404, + "end": 1405, + "replacementText": "2.0", + "line": 50, + "column": 18, + "endLine": 50, + "endColumn": 19 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 50, + "column": 21, + "endLine": 50, + "endColumn": 22, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1407, + "end": 1408, + "replacementText": "3.0", + "line": 50, + "column": 21, + "endLine": 50, + "endColumn": 22 } ], "suggest": "", @@ -539,7 +891,11 @@ { "start": 1418, "end": 1428, - "replacementText": "getIndex() as int" + "replacementText": "getIndex() as int", + "line": 51, + "column": 8, + "endLine": 51, + "endColumn": 18 } ], "suggest": "", @@ -556,7 +912,179 @@ { "start": 1436, "end": 1454, - "replacementText": "array2: number[] = [1, 2, 3]" + "replacementText": "array2: number[] = [1, 2, 3]", + "line": 53, + "column": 5, + "endLine": 53, + "endColumn": 23 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 53, + "column": 15, + "endLine": 53, + "endColumn": 16, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1446, + "end": 1447, + "replacementText": "1.0", + "line": 53, + "column": 15, + "endLine": 53, + "endColumn": 16 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 53, + "column": 18, + "endLine": 53, + "endColumn": 19, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1449, + "end": 1450, + "replacementText": "2.0", + "line": 53, + "column": 18, + "endLine": 53, + "endColumn": 19 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 53, + "column": 21, + "endLine": 53, + "endColumn": 22, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1452, + "end": 1453, + "replacementText": "3.0", + "line": 53, + "column": 21, + "endLine": 53, + "endColumn": 22 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 54, + "column": 22, + "endLine": 54, + "endColumn": 23, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1477, + "end": 1478, + "replacementText": "0.0", + "line": 54, + "column": 22, + "endLine": 54, + "endColumn": 23 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 58, + "column": 19, + "endLine": 58, + "endColumn": 20, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1553, + "end": 1554, + "replacementText": "0.0", + "line": 58, + "column": 19, + "endLine": 58, + "endColumn": 20 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 62, + "column": 22, + "endLine": 62, + "endColumn": 23, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1632, + "end": 1633, + "replacementText": "1.0", + "line": 62, + "column": 22, + "endLine": 62, + "endColumn": 23 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 62, + "column": 25, + "endLine": 62, + "endColumn": 26, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1635, + "end": 1636, + "replacementText": "2.0", + "line": 62, + "column": 25, + "endLine": 62, + "endColumn": 26 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 62, + "column": 28, + "endLine": 62, + "endColumn": 29, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1638, + "end": 1639, + "replacementText": "3.0", + "line": 62, + "column": 28, + "endLine": 62, + "endColumn": 29 } ], "suggest": "", @@ -583,7 +1111,11 @@ { "start": 1678, "end": 1683, - "replacementText": "TE.AA as int" + "replacementText": "TE.AA as int", + "line": 67, + "column": 6, + "endLine": 67, + "endColumn": 11 } ], "suggest": "", @@ -610,13 +1142,164 @@ { "start": 1744, "end": 1757, - "replacementText": "1.1 as int" + "replacementText": "1.1 as int", + "line": 73, + "column": 6, + "endLine": 73, + "endColumn": 9 } ], "suggest": "", "rule": "The index expression must be of a numeric type (arkts-array-index-expr-type)", "severity": "ERROR" }, + { + "line": 75, + "column": 15, + "endLine": 75, + "endColumn": 16, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1775, + "end": 1776, + "replacementText": "1.0", + "line": 75, + "column": 15, + "endLine": 75, + "endColumn": 16 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 76, + "column": 14, + "endLine": 76, + "endColumn": 15, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1791, + "end": 1792, + "replacementText": "1.0", + "line": 76, + "column": 14, + "endLine": 76, + "endColumn": 15 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 77, + "column": 13, + "endLine": 77, + "endColumn": 14, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1806, + "end": 1807, + "replacementText": "1.0", + "line": 77, + "column": 13, + "endLine": 77, + "endColumn": 14 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 78, + "column": 14, + "endLine": 78, + "endColumn": 15, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1822, + "end": 1823, + "replacementText": "1.0", + "line": 78, + "column": 14, + "endLine": 78, + "endColumn": 15 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 80, + "column": 21, + "endLine": 80, + "endColumn": 22, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1846, + "end": 1847, + "replacementText": "1.0", + "line": 80, + "column": 21, + "endLine": 80, + "endColumn": 22 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 80, + "column": 23, + "endLine": 80, + "endColumn": 24, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1848, + "end": 1849, + "replacementText": "2.0", + "line": 80, + "column": 23, + "endLine": 80, + "endColumn": 24 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 80, + "column": 25, + "endLine": 80, + "endColumn": 26, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1850, + "end": 1851, + "replacementText": "3.0", + "line": 80, + "column": 25, + "endLine": 80, + "endColumn": 26 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 81, "column": 5, @@ -626,6 +1309,90 @@ "suggest": "", "rule": "The index expression must be of a numeric type (arkts-array-index-expr-type)", "severity": "ERROR" + }, + { + "line": 82, + "column": 10, + "endLine": 82, + "endColumn": 11, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1880, + "end": 1881, + "replacementText": "1.0", + "line": 82, + "column": 10, + "endLine": 82, + "endColumn": 11 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 83, + "column": 10, + "endLine": 83, + "endColumn": 11, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1892, + "end": 1893, + "replacementText": "1.0", + "line": 83, + "column": 10, + "endLine": 83, + "endColumn": 11 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 84, + "column": 10, + "endLine": 84, + "endColumn": 11, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1904, + "end": 1905, + "replacementText": "1.0", + "line": 84, + "column": 10, + "endLine": 84, + "endColumn": 11 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 85, + "column": 10, + "endLine": 85, + "endColumn": 11, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1916, + "end": 1917, + "replacementText": "1.0", + "line": 85, + "column": 10, + "endLine": 85, + "endColumn": 11 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" } ] -} +} \ No newline at end of file diff --git a/ets2panda/linter/test/main/array_index_expr_type.ets.migrate.ets b/ets2panda/linter/test/main/array_index_expr_type.ets.migrate.ets index 0d5918aee1..10bcf25ecf 100644 --- a/ets2panda/linter/test/main/array_index_expr_type.ets.migrate.ets +++ b/ets2panda/linter/test/main/array_index_expr_type.ets.migrate.ets @@ -14,7 +14,7 @@ */ function foo(index:number){ - let an_array: number[] = [1, 2, 3] + let an_array: number[] = [1.0, 2.0, 3.0] let a: number = an_array[index as int] let a1: number = an_array[(index + 1) as int] let a2: number = an_array[(index + 1.1) as int] @@ -32,34 +32,34 @@ function foo(index:number){ let m: number = an_array[Number.MAX_SAFE_INTEGER as int] } -let array: number[] = [1, 2, 3] +let array: number[] = [1.0, 2.0, 3.0] const index_1: number = 1.3; let index_2: number = 1.3; -let index_3: number = 1; +let index_3: number = 1.0; array[index_1 as int]; array[index_2 as int]; array[index_3]; -let index_4: int = 2 +let index_4: int = 2.0 array[index_4]; const index_5: number = 1.0; array[index_5]; function getIndex(): number { - return Math.random() * 10; + return Math.random() * 10.0; } -let array1: number[] = [1, 2, 3]; +let array1: number[] = [1.0, 2.0, 3.0]; array1[getIndex() as int]; -let array2: number[] = [1, 2, 3]; -for (let i: number = 0; i < array2.length; i++) { +let array2: number[] = [1.0, 2.0, 3.0]; +for (let i: number = 0.0; i < array2.length; i++) { console.log(array2[i]); } -for (let i: int = 0; i < array2.length; i++) { +for (let i: int = 0.0; i < array2.length; i++) { console.log(array2[i]); } -let arr1:number[] = [1, 2, 3] +let arr1:number[] = [1.0, 2.0, 3.0] enum TE{ AA = 1.12 BB = 0 @@ -72,14 +72,14 @@ arr1[+1]; arr1[-1]; arr1[1.1 as int]; -let a:short = 1; -let b:byte = 1; -let c:int = 1; -let d:long = 1; +let a:short = 1.0; +let b:byte = 1.0; +let c:int = 1.0; +let d:long = 1.0; -let arr:number[] = [1,2,3] +let arr:number[] = [1.0,2.0,3.0] arr[true?1.3:1.2] -arr[a] = 1; -arr[b] = 1; -arr[c] = 1; -arr[d] = 1; +arr[a] = 1.0; +arr[b] = 1.0; +arr[c] = 1.0; +arr[d] = 1.0; diff --git a/ets2panda/linter/test/main/avoid_using_union_types.ets.arkts2.json b/ets2panda/linter/test/main/avoid_using_union_types.ets.arkts2.json index 9e19899d4a..eb04bc47b7 100644 --- a/ets2panda/linter/test/main/avoid_using_union_types.ets.arkts2.json +++ b/ets2panda/linter/test/main/avoid_using_union_types.ets.arkts2.json @@ -14,15 +14,75 @@ "limitations under the License." ], "result": [ - { - "line": 34, - "column": 5, - "endLine": 34, - "endColumn": 8, - "problem": "AvoidUnionTypes", - "suggest": "", - "rule": "Avoid using union types (arkts-common-union-member-access)", - "severity": "ERROR" - } + { + "line": 17, + "column": 17, + "endLine": 17, + "endColumn": 18, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 18, + "column": 17, + "endLine": 18, + "endColumn": 18, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 19, + "column": 17, + "endLine": 19, + "endColumn": 18, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 24, + "column": 17, + "endLine": 24, + "endColumn": 18, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 28, + "column": 17, + "endLine": 28, + "endColumn": 18, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 29, + "column": 17, + "endLine": 29, + "endColumn": 18, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 34, + "column": 5, + "endLine": 34, + "endColumn": 8, + "problem": "AvoidUnionTypes", + "suggest": "", + "rule": "Avoid using union types (arkts-common-union-member-access)", + "severity": "ERROR" + } ] } \ No newline at end of file diff --git a/ets2panda/linter/test/main/case_expr.ets.arkts2.json b/ets2panda/linter/test/main/case_expr.ets.arkts2.json index 6aac05a29b..abc2f67950 100755 --- a/ets2panda/linter/test/main/case_expr.ets.arkts2.json +++ b/ets2panda/linter/test/main/case_expr.ets.arkts2.json @@ -1,18 +1,18 @@ { - "copyright": [ - "Copyright (c) 2024-2025 Huawei Device Co., Ltd.", - "Licensed under the Apache License, Version 2.0 (the 'License');", - "you may not use this file except in compliance with the License.", - "You may obtain a copy of the License at", - "", - "http://www.apache.org/licenses/LICENSE-2.0", - "", - "Unless required by applicable law or agreed to in writing, software", - "distributed under the License is distributed on an 'AS IS' BASIS,", - "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.", - "See the License for the specific language governing permissions and", - "limitations under the License." - ], + "copyright": [ + "Copyright (c) 2024-2025 Huawei Device Co., Ltd.", + "Licensed under the Apache License, Version 2.0 (the 'License');", + "you may not use this file except in compliance with the License.", + "You may obtain a copy of the License at", + "", + "http://www.apache.org/licenses/LICENSE-2.0", + "", + "Unless required by applicable law or agreed to in writing, software", + "distributed under the License is distributed on an 'AS IS' BASIS,", + "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.", + "See the License for the specific language governing permissions and", + "limitations under the License." + ], "result": [ { "line": 17, @@ -24,6 +24,16 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 17, + "column": 13, + "endLine": 17, + "endColumn": 16, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 19, "column": 7, @@ -34,6 +44,26 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 19, + "column": 14, + "endLine": 19, + "endColumn": 16, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 19, + "column": 19, + "endLine": 19, + "endColumn": 21, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 21, "column": 1, @@ -54,6 +84,36 @@ "rule": "No two case constant expressions have identical values.(arkts-case-expr)", "severity": "ERROR" }, + { + "line": 26, + "column": 8, + "endLine": 26, + "endColumn": 9, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 29, + "column": 8, + "endLine": 29, + "endColumn": 9, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 35, + "column": 15, + "endLine": 35, + "endColumn": 17, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 44, "column": 9, diff --git a/ets2panda/linter/test/main/class_as_object.ets.arkts2.json b/ets2panda/linter/test/main/class_as_object.ets.arkts2.json index 7b18cb82ab..a7d6952e57 100644 --- a/ets2panda/linter/test/main/class_as_object.ets.arkts2.json +++ b/ets2panda/linter/test/main/class_as_object.ets.arkts2.json @@ -24,6 +24,16 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 19, + "column": 16, + "endLine": 19, + "endColumn": 17, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 20, "column": 5, @@ -34,6 +44,16 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 20, + "column": 16, + "endLine": 20, + "endColumn": 17, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 27, "column": 9, @@ -244,6 +264,16 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 87, + "column": 17, + "endLine": 87, + "endColumn": 18, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 87, "column": 39, @@ -304,6 +334,16 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 116, + "column": 17, + "endLine": 116, + "endColumn": 18, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 116, "column": 42, @@ -764,6 +804,26 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 172, + "column": 29, + "endLine": 172, + "endColumn": 31, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 173, + "column": 19, + "endLine": 173, + "endColumn": 21, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 179, "column": 7, @@ -834,16 +894,6 @@ "rule": "Classes cannot be used as objects (arkts-no-classes-as-obj)", "severity": "ERROR" }, - { - "line": 205, - "column": 56, - "endLine": 205, - "endColumn": 94, - "problem": "NumericSemantics", - "suggest": "", - "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", - "severity": "ERROR" - }, { "line": 205, "column": 87, diff --git a/ets2panda/linter/test/main/custom_layout.ets.arkts2.json b/ets2panda/linter/test/main/custom_layout.ets.arkts2.json index 7491a643b3..32ddf7ff59 100644 --- a/ets2panda/linter/test/main/custom_layout.ets.arkts2.json +++ b/ets2panda/linter/test/main/custom_layout.ets.arkts2.json @@ -14,6 +14,96 @@ "limitations under the License." ], "result": [ + { + "line": 29, + "column": 12, + "endLine": 29, + "endColumn": 13, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 29, + "column": 15, + "endLine": 29, + "endColumn": 16, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 29, + "column": 18, + "endLine": 29, + "endColumn": 19, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 31, + "column": 17, + "endLine": 31, + "endColumn": 19, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 32, + "column": 14, + "endLine": 32, + "endColumn": 17, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 33, + "column": 15, + "endLine": 33, + "endColumn": 18, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 34, + "column": 20, + "endLine": 34, + "endColumn": 21, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 35, + "column": 20, + "endLine": 35, + "endColumn": 22, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 35, + "column": 27, + "endLine": 35, + "endColumn": 29, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 40, "column": 8, @@ -24,6 +114,36 @@ "rule": "Custom components with custom layout capability need to add the \"@Layoutable\" decorator (arkui-custom-layout-need-add-decorator)", "severity": "ERROR" }, + { + "line": 46, + "column": 30, + "endLine": 46, + "endColumn": 33, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 48, + "column": 12, + "endLine": 48, + "endColumn": 13, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 49, + "column": 13, + "endLine": 49, + "endColumn": 14, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 53, "column": 9, @@ -34,6 +154,16 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 53, + "column": 20, + "endLine": 53, + "endColumn": 23, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 55, "column": 11, @@ -54,6 +184,36 @@ "rule": "Custom components with custom layout capability need to add the \"@Layoutable\" decorator (arkui-custom-layout-need-add-decorator)", "severity": "ERROR" }, + { + "line": 72, + "column": 30, + "endLine": 72, + "endColumn": 33, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 74, + "column": 12, + "endLine": 74, + "endColumn": 13, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 75, + "column": 13, + "endLine": 75, + "endColumn": 14, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 79, "column": 9, @@ -64,6 +224,46 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 79, + "column": 16, + "endLine": 79, + "endColumn": 19, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 82, + "column": 30, + "endLine": 82, + "endColumn": 31, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 85, + "column": 25, + "endLine": 85, + "endColumn": 28, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 86, + "column": 26, + "endLine": 86, + "endColumn": 29, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 97, "column": 3, diff --git a/ets2panda/linter/test/main/custom_layout.ets.autofix.json b/ets2panda/linter/test/main/custom_layout.ets.autofix.json index 05aaabc6d8..889e3da043 100644 --- a/ets2panda/linter/test/main/custom_layout.ets.autofix.json +++ b/ets2panda/linter/test/main/custom_layout.ets.autofix.json @@ -14,6 +14,195 @@ "limitations under the License." ], "result": [ + { + "line": 29, + "column": 12, + "endLine": 29, + "endColumn": 13, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 824, + "end": 825, + "replacementText": "1.0", + "line": 29, + "column": 12, + "endLine": 29, + "endColumn": 13 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 29, + "column": 15, + "endLine": 29, + "endColumn": 16, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 827, + "end": 828, + "replacementText": "2.0", + "line": 29, + "column": 15, + "endLine": 29, + "endColumn": 16 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 29, + "column": 18, + "endLine": 29, + "endColumn": 19, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 830, + "end": 831, + "replacementText": "3.0", + "line": 29, + "column": 18, + "endLine": 29, + "endColumn": 19 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 31, + "column": 17, + "endLine": 31, + "endColumn": 19, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 914, + "end": 916, + "replacementText": "30.0", + "line": 31, + "column": 17, + "endLine": 31, + "endColumn": 19 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 32, + "column": 14, + "endLine": 32, + "endColumn": 17, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 931, + "end": 934, + "replacementText": "100.0", + "line": 32, + "column": 14, + "endLine": 32, + "endColumn": 17 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 33, + "column": 15, + "endLine": 33, + "endColumn": 18, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 950, + "end": 953, + "replacementText": "100.0", + "line": 33, + "column": 15, + "endLine": 33, + "endColumn": 18 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 34, + "column": 20, + "endLine": 34, + "endColumn": 21, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 974, + "end": 975, + "replacementText": "2.0", + "line": 34, + "column": 20, + "endLine": 34, + "endColumn": 21 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 35, + "column": 20, + "endLine": 35, + "endColumn": 22, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 996, + "end": 998, + "replacementText": "10.0", + "line": 35, + "column": 20, + "endLine": 35, + "endColumn": 22 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 35, + "column": 27, + "endLine": 35, + "endColumn": 29, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1003, + "end": 1005, + "replacementText": "20.0", + "line": 35, + "column": 27, + "endLine": 35, + "endColumn": 29 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 40, "column": 8, @@ -24,13 +213,80 @@ { "start": 1027, "end": 1027, - "replacementText": "\n@Layoutable" + "replacementText": "\n@Layoutable", + "line": 40, + "column": 8, + "endLine": 40, + "endColumn": 21 } ], "suggest": "", "rule": "Custom components with custom layout capability need to add the \"@Layoutable\" decorator (arkui-custom-layout-need-add-decorator)", "severity": "ERROR" }, + { + "line": 46, + "column": 30, + "endLine": 46, + "endColumn": 33, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1181, + "end": 1184, + "replacementText": "100.0", + "line": 46, + "column": 30, + "endLine": 46, + "endColumn": 33 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 48, + "column": 12, + "endLine": 48, + "endColumn": 13, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1222, + "end": 1223, + "replacementText": "0.0", + "line": 48, + "column": 12, + "endLine": 48, + "endColumn": 13 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 49, + "column": 13, + "endLine": 49, + "endColumn": 14, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1237, + "end": 1238, + "replacementText": "0.0", + "line": 49, + "column": 13, + "endLine": 49, + "endColumn": 14 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 53, "column": 9, @@ -41,7 +297,32 @@ { "start": 1367, "end": 1381, - "replacementText": "startPos: number = 300" + "replacementText": "startPos: number = 300", + "line": 53, + "column": 9, + "endLine": 53, + "endColumn": 23 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 53, + "column": 20, + "endLine": 53, + "endColumn": 23, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1378, + "end": 1381, + "replacementText": "300.0", + "line": 53, + "column": 20, + "endLine": 53, + "endColumn": 23 } ], "suggest": "", @@ -58,7 +339,11 @@ { "start": 1427, "end": 1470, - "replacementText": "pos: number = startPos - child.measureResult.height" + "replacementText": "pos: number = startPos - child.measureResult.height", + "line": 55, + "column": 11, + "endLine": 55, + "endColumn": 54 } ], "suggest": "", @@ -75,13 +360,80 @@ { "start": 1571, "end": 1571, - "replacementText": "\n@Layoutable" + "replacementText": "\n@Layoutable", + "line": 66, + "column": 8, + "endLine": 66, + "endColumn": 21 } ], "suggest": "", "rule": "Custom components with custom layout capability need to add the \"@Layoutable\" decorator (arkui-custom-layout-need-add-decorator)", "severity": "ERROR" }, + { + "line": 72, + "column": 30, + "endLine": 72, + "endColumn": 33, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1725, + "end": 1728, + "replacementText": "100.0", + "line": 72, + "column": 30, + "endLine": 72, + "endColumn": 33 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 74, + "column": 12, + "endLine": 74, + "endColumn": 13, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1766, + "end": 1767, + "replacementText": "0.0", + "line": 74, + "column": 12, + "endLine": 74, + "endColumn": 13 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 75, + "column": 13, + "endLine": 75, + "endColumn": 14, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1781, + "end": 1782, + "replacementText": "0.0", + "line": 75, + "column": 13, + "endLine": 75, + "endColumn": 14 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 79, "column": 9, @@ -92,7 +444,95 @@ { "start": 1909, "end": 1919, - "replacementText": "size: number = 100" + "replacementText": "size: number = 100", + "line": 79, + "column": 9, + "endLine": 79, + "endColumn": 19 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 79, + "column": 16, + "endLine": 79, + "endColumn": 19, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1916, + "end": 1919, + "replacementText": "100.0", + "line": 79, + "column": 16, + "endLine": 79, + "endColumn": 19 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 82, + "column": 30, + "endLine": 82, + "endColumn": 31, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 2102, + "end": 2103, + "replacementText": "2.0", + "line": 82, + "column": 30, + "endLine": 82, + "endColumn": 31 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 85, + "column": 25, + "endLine": 85, + "endColumn": 28, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 2143, + "end": 2146, + "replacementText": "100.0", + "line": 85, + "column": 25, + "endLine": 85, + "endColumn": 28 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 86, + "column": 26, + "endLine": 86, + "endColumn": 29, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 2173, + "end": 2176, + "replacementText": "400.0", + "line": 86, + "column": 26, + "endLine": 86, + "endColumn": 29 } ], "suggest": "", @@ -119,7 +559,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Entry, Component, Column, Builder, ForEach, Text, BuilderParam, State, SizeResult, GeometryInfo, Layoutable, ConstraintSizeOptions, Measurable, MeasureResult } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Entry, Component, Column, Builder, ForEach, Text, BuilderParam, State, SizeResult, GeometryInfo, Layoutable, ConstraintSizeOptions, Measurable, MeasureResult } from '@kit.ArkUI';", + "line": 95, + "column": 2, + "endLine": 95, + "endColumn": 11 } ], "suggest": "", @@ -136,7 +580,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Entry, Component, Column, Builder, ForEach, Text, BuilderParam, State, SizeResult, GeometryInfo, Layoutable, ConstraintSizeOptions, Measurable, MeasureResult } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Entry, Component, Column, Builder, ForEach, Text, BuilderParam, State, SizeResult, GeometryInfo, Layoutable, ConstraintSizeOptions, Measurable, MeasureResult } from '@kit.ArkUI';", + "line": 95, + "column": 2, + "endLine": 95, + "endColumn": 11 } ], "suggest": "", @@ -153,7 +601,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Entry, Component, Column, Builder, ForEach, Text, BuilderParam, State, SizeResult, GeometryInfo, Layoutable, ConstraintSizeOptions, Measurable, MeasureResult } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Entry, Component, Column, Builder, ForEach, Text, BuilderParam, State, SizeResult, GeometryInfo, Layoutable, ConstraintSizeOptions, Measurable, MeasureResult } from '@kit.ArkUI';", + "line": 95, + "column": 2, + "endLine": 95, + "endColumn": 11 } ], "suggest": "", @@ -170,7 +622,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Entry, Component, Column, Builder, ForEach, Text, BuilderParam, State, SizeResult, GeometryInfo, Layoutable, ConstraintSizeOptions, Measurable, MeasureResult } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Entry, Component, Column, Builder, ForEach, Text, BuilderParam, State, SizeResult, GeometryInfo, Layoutable, ConstraintSizeOptions, Measurable, MeasureResult } from '@kit.ArkUI';", + "line": 95, + "column": 2, + "endLine": 95, + "endColumn": 11 } ], "suggest": "", @@ -187,7 +643,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Entry, Component, Column, Builder, ForEach, Text, BuilderParam, State, SizeResult, GeometryInfo, Layoutable, ConstraintSizeOptions, Measurable, MeasureResult } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Entry, Component, Column, Builder, ForEach, Text, BuilderParam, State, SizeResult, GeometryInfo, Layoutable, ConstraintSizeOptions, Measurable, MeasureResult } from '@kit.ArkUI';", + "line": 95, + "column": 2, + "endLine": 95, + "endColumn": 11 } ], "suggest": "", @@ -204,7 +664,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Entry, Component, Column, Builder, ForEach, Text, BuilderParam, State, SizeResult, GeometryInfo, Layoutable, ConstraintSizeOptions, Measurable, MeasureResult } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Entry, Component, Column, Builder, ForEach, Text, BuilderParam, State, SizeResult, GeometryInfo, Layoutable, ConstraintSizeOptions, Measurable, MeasureResult } from '@kit.ArkUI';", + "line": 95, + "column": 2, + "endLine": 95, + "endColumn": 11 } ], "suggest": "", @@ -221,7 +685,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Entry, Component, Column, Builder, ForEach, Text, BuilderParam, State, SizeResult, GeometryInfo, Layoutable, ConstraintSizeOptions, Measurable, MeasureResult } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Entry, Component, Column, Builder, ForEach, Text, BuilderParam, State, SizeResult, GeometryInfo, Layoutable, ConstraintSizeOptions, Measurable, MeasureResult } from '@kit.ArkUI';", + "line": 95, + "column": 2, + "endLine": 95, + "endColumn": 11 } ], "suggest": "", @@ -238,7 +706,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Entry, Component, Column, Builder, ForEach, Text, BuilderParam, State, SizeResult, GeometryInfo, Layoutable, ConstraintSizeOptions, Measurable, MeasureResult } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Entry, Component, Column, Builder, ForEach, Text, BuilderParam, State, SizeResult, GeometryInfo, Layoutable, ConstraintSizeOptions, Measurable, MeasureResult } from '@kit.ArkUI';", + "line": 95, + "column": 2, + "endLine": 95, + "endColumn": 11 } ], "suggest": "", @@ -255,7 +727,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Entry, Component, Column, Builder, ForEach, Text, BuilderParam, State, SizeResult, GeometryInfo, Layoutable, ConstraintSizeOptions, Measurable, MeasureResult } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Entry, Component, Column, Builder, ForEach, Text, BuilderParam, State, SizeResult, GeometryInfo, Layoutable, ConstraintSizeOptions, Measurable, MeasureResult } from '@kit.ArkUI';", + "line": 95, + "column": 2, + "endLine": 95, + "endColumn": 11 } ], "suggest": "", @@ -272,7 +748,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Entry, Component, Column, Builder, ForEach, Text, BuilderParam, State, SizeResult, GeometryInfo, Layoutable, ConstraintSizeOptions, Measurable, MeasureResult } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Entry, Component, Column, Builder, ForEach, Text, BuilderParam, State, SizeResult, GeometryInfo, Layoutable, ConstraintSizeOptions, Measurable, MeasureResult } from '@kit.ArkUI';", + "line": 95, + "column": 2, + "endLine": 95, + "endColumn": 11 } ], "suggest": "", @@ -289,7 +769,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Entry, Component, Column, Builder, ForEach, Text, BuilderParam, State, SizeResult, GeometryInfo, Layoutable, ConstraintSizeOptions, Measurable, MeasureResult } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Entry, Component, Column, Builder, ForEach, Text, BuilderParam, State, SizeResult, GeometryInfo, Layoutable, ConstraintSizeOptions, Measurable, MeasureResult } from '@kit.ArkUI';", + "line": 95, + "column": 2, + "endLine": 95, + "endColumn": 11 } ], "suggest": "", @@ -306,7 +790,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Entry, Component, Column, Builder, ForEach, Text, BuilderParam, State, SizeResult, GeometryInfo, Layoutable, ConstraintSizeOptions, Measurable, MeasureResult } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Entry, Component, Column, Builder, ForEach, Text, BuilderParam, State, SizeResult, GeometryInfo, Layoutable, ConstraintSizeOptions, Measurable, MeasureResult } from '@kit.ArkUI';", + "line": 95, + "column": 2, + "endLine": 95, + "endColumn": 11 } ], "suggest": "", @@ -323,7 +811,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Entry, Component, Column, Builder, ForEach, Text, BuilderParam, State, SizeResult, GeometryInfo, Layoutable, ConstraintSizeOptions, Measurable, MeasureResult } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Entry, Component, Column, Builder, ForEach, Text, BuilderParam, State, SizeResult, GeometryInfo, Layoutable, ConstraintSizeOptions, Measurable, MeasureResult } from '@kit.ArkUI';", + "line": 95, + "column": 2, + "endLine": 95, + "endColumn": 11 } ], "suggest": "", @@ -340,7 +832,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Entry, Component, Column, Builder, ForEach, Text, BuilderParam, State, SizeResult, GeometryInfo, Layoutable, ConstraintSizeOptions, Measurable, MeasureResult } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Entry, Component, Column, Builder, ForEach, Text, BuilderParam, State, SizeResult, GeometryInfo, Layoutable, ConstraintSizeOptions, Measurable, MeasureResult } from '@kit.ArkUI';", + "line": 95, + "column": 2, + "endLine": 95, + "endColumn": 11 } ], "suggest": "", @@ -357,7 +853,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Entry, Component, Column, Builder, ForEach, Text, BuilderParam, State, SizeResult, GeometryInfo, Layoutable, ConstraintSizeOptions, Measurable, MeasureResult } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Entry, Component, Column, Builder, ForEach, Text, BuilderParam, State, SizeResult, GeometryInfo, Layoutable, ConstraintSizeOptions, Measurable, MeasureResult } from '@kit.ArkUI';", + "line": 95, + "column": 2, + "endLine": 95, + "endColumn": 11 } ], "suggest": "", @@ -374,7 +874,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Entry, Component, Column, Builder, ForEach, Text, BuilderParam, State, SizeResult, GeometryInfo, Layoutable, ConstraintSizeOptions, Measurable, MeasureResult } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Entry, Component, Column, Builder, ForEach, Text, BuilderParam, State, SizeResult, GeometryInfo, Layoutable, ConstraintSizeOptions, Measurable, MeasureResult } from '@kit.ArkUI';", + "line": 95, + "column": 2, + "endLine": 95, + "endColumn": 11 } ], "suggest": "", @@ -391,7 +895,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Entry, Component, Column, Builder, ForEach, Text, BuilderParam, State, SizeResult, GeometryInfo, Layoutable, ConstraintSizeOptions, Measurable, MeasureResult } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Entry, Component, Column, Builder, ForEach, Text, BuilderParam, State, SizeResult, GeometryInfo, Layoutable, ConstraintSizeOptions, Measurable, MeasureResult } from '@kit.ArkUI';", + "line": 95, + "column": 2, + "endLine": 95, + "endColumn": 11 } ], "suggest": "", @@ -408,7 +916,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Entry, Component, Column, Builder, ForEach, Text, BuilderParam, State, SizeResult, GeometryInfo, Layoutable, ConstraintSizeOptions, Measurable, MeasureResult } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Entry, Component, Column, Builder, ForEach, Text, BuilderParam, State, SizeResult, GeometryInfo, Layoutable, ConstraintSizeOptions, Measurable, MeasureResult } from '@kit.ArkUI';", + "line": 95, + "column": 2, + "endLine": 95, + "endColumn": 11 } ], "suggest": "", @@ -425,7 +937,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Entry, Component, Column, Builder, ForEach, Text, BuilderParam, State, SizeResult, GeometryInfo, Layoutable, ConstraintSizeOptions, Measurable, MeasureResult } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Entry, Component, Column, Builder, ForEach, Text, BuilderParam, State, SizeResult, GeometryInfo, Layoutable, ConstraintSizeOptions, Measurable, MeasureResult } from '@kit.ArkUI';", + "line": 95, + "column": 2, + "endLine": 95, + "endColumn": 11 } ], "suggest": "", @@ -442,7 +958,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Entry, Component, Column, Builder, ForEach, Text, BuilderParam, State, SizeResult, GeometryInfo, Layoutable, ConstraintSizeOptions, Measurable, MeasureResult } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Entry, Component, Column, Builder, ForEach, Text, BuilderParam, State, SizeResult, GeometryInfo, Layoutable, ConstraintSizeOptions, Measurable, MeasureResult } from '@kit.ArkUI';", + "line": 95, + "column": 2, + "endLine": 95, + "endColumn": 11 } ], "suggest": "", @@ -459,7 +979,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Entry, Component, Column, Builder, ForEach, Text, BuilderParam, State, SizeResult, GeometryInfo, Layoutable, ConstraintSizeOptions, Measurable, MeasureResult } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Entry, Component, Column, Builder, ForEach, Text, BuilderParam, State, SizeResult, GeometryInfo, Layoutable, ConstraintSizeOptions, Measurable, MeasureResult } from '@kit.ArkUI';", + "line": 95, + "column": 2, + "endLine": 95, + "endColumn": 11 } ], "suggest": "", @@ -476,7 +1000,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Entry, Component, Column, Builder, ForEach, Text, BuilderParam, State, SizeResult, GeometryInfo, Layoutable, ConstraintSizeOptions, Measurable, MeasureResult } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Entry, Component, Column, Builder, ForEach, Text, BuilderParam, State, SizeResult, GeometryInfo, Layoutable, ConstraintSizeOptions, Measurable, MeasureResult } from '@kit.ArkUI';", + "line": 95, + "column": 2, + "endLine": 95, + "endColumn": 11 } ], "suggest": "", @@ -493,7 +1021,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Entry, Component, Column, Builder, ForEach, Text, BuilderParam, State, SizeResult, GeometryInfo, Layoutable, ConstraintSizeOptions, Measurable, MeasureResult } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Entry, Component, Column, Builder, ForEach, Text, BuilderParam, State, SizeResult, GeometryInfo, Layoutable, ConstraintSizeOptions, Measurable, MeasureResult } from '@kit.ArkUI';", + "line": 95, + "column": 2, + "endLine": 95, + "endColumn": 11 } ], "suggest": "", @@ -510,7 +1042,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Entry, Component, Column, Builder, ForEach, Text, BuilderParam, State, SizeResult, GeometryInfo, Layoutable, ConstraintSizeOptions, Measurable, MeasureResult } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Entry, Component, Column, Builder, ForEach, Text, BuilderParam, State, SizeResult, GeometryInfo, Layoutable, ConstraintSizeOptions, Measurable, MeasureResult } from '@kit.ArkUI';", + "line": 95, + "column": 2, + "endLine": 95, + "endColumn": 11 } ], "suggest": "", diff --git a/ets2panda/linter/test/main/custom_layout.ets.migrate.ets b/ets2panda/linter/test/main/custom_layout.ets.migrate.ets index 2d98301abf..97dd101026 100644 --- a/ets2panda/linter/test/main/custom_layout.ets.migrate.ets +++ b/ets2panda/linter/test/main/custom_layout.ets.migrate.ets @@ -28,13 +28,13 @@ struct Index { @Builder function ColumnChildren() { - ForEach([1, 2, 3], (index: number) => { //暂不支持lazyForEach的写法 + ForEach([1.0, 2.0, 3.0], (index: number) => { //暂不支持lazyForEach的写法 Text('S' + index) - .fontSize(30) - .width(100) - .height(100) - .borderWidth(2) - .offset({ x: 10, y: 20 }) + .fontSize(30.0) + .width(100.0) + .height(100.0) + .borderWidth(2.0) + .offset({ x: 10.0, y: 20.0 }) }) } @@ -46,14 +46,14 @@ struct CustomLayout1 { }; @BuilderParam builder: () => void = this.doNothingBuilder; - @State startSize: number = 100; + @State startSize: number = 100.0; result: SizeResult = { - width: 0, - height: 0 + width: 0.0, + height: 0.0 }; onPlaceChildren(selfLayoutInfo: GeometryInfo, children: Array, constraint: ConstraintSizeOptions) { - let startPos: number = 300; + let startPos: number = 300.0; children.forEach((child) => { let pos: number = startPos - child.measureResult.height; child.layout({ x: pos, y: pos }) @@ -73,21 +73,21 @@ struct CustomLayout2 { }; @BuilderParam builder: () => void = this.doNothingBuilder; - @State startSize: number = 100; + @State startSize: number = 100.0; result: SizeResult = { - width: 0, - height: 0 + width: 0.0, + height: 0.0 }; onMeasureSize(selfLayoutInfo: GeometryInfo, children: Array, constraint: ConstraintSizeOptions) { - let size: number = 100; + let size: number = 100.0; children.forEach((child) => { let result: MeasureResult = child.measure({ minHeight: size, minWidth: size, maxWidth: size, maxHeight: size }) - size += result.width / 2 + size += result.width / 2.0 ; }) - this.result.width = 100; - this.result.height = 400; + this.result.width = 100.0; + this.result.height = 400.0; return this.result; } diff --git a/ets2panda/linter/test/main/default_required_args.ets.arkts2.json b/ets2panda/linter/test/main/default_required_args.ets.arkts2.json index 73fb6559a8..bbcdfcb085 100644 --- a/ets2panda/linter/test/main/default_required_args.ets.arkts2.json +++ b/ets2panda/linter/test/main/default_required_args.ets.arkts2.json @@ -24,6 +24,16 @@ "rule": "Default parameters must be placed after mandatory parameters (arkts-default-args-behind-required-args)", "severity": "ERROR" }, + { + "line": 16, + "column": 29, + "endLine": 16, + "endColumn": 30, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 20, "column": 26, @@ -34,6 +44,16 @@ "rule": "Default parameters must be placed after mandatory parameters (arkts-default-args-behind-required-args)", "severity": "ERROR" }, + { + "line": 20, + "column": 38, + "endLine": 20, + "endColumn": 39, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 24, "column": 30, @@ -54,6 +74,56 @@ "rule": "Default parameters must be placed after mandatory parameters (arkts-default-args-behind-required-args)", "severity": "ERROR" }, + { + "line": 24, + "column": 27, + "endLine": 24, + "endColumn": 28, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 24, + "column": 42, + "endLine": 24, + "endColumn": 43, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 28, + "column": 27, + "endLine": 28, + "endColumn": 28, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 28, + "column": 42, + "endLine": 28, + "endColumn": 43, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 28, + "column": 57, + "endLine": 28, + "endColumn": 58, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 32, "column": 14, @@ -74,6 +144,26 @@ "rule": "Default parameters must be placed after mandatory parameters (arkts-default-args-behind-required-args)", "severity": "ERROR" }, + { + "line": 37, + "column": 24, + "endLine": 37, + "endColumn": 25, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 42, + "column": 42, + "endLine": 42, + "endColumn": 43, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 54, "column": 14, diff --git a/ets2panda/linter/test/main/definite_assignment.ets.arkts2.json b/ets2panda/linter/test/main/definite_assignment.ets.arkts2.json index cd7c54679e..c08c8a3f99 100644 --- a/ets2panda/linter/test/main/definite_assignment.ets.arkts2.json +++ b/ets2panda/linter/test/main/definite_assignment.ets.arkts2.json @@ -24,6 +24,26 @@ "rule": "Definite assignment assertions are not supported (arkts-no-definite-assignment)", "severity": "ERROR" }, + { + "line": 21, + "column": 7, + "endLine": 21, + "endColumn": 9, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 29, + "column": 7, + "endLine": 29, + "endColumn": 9, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 33, "column": 3, @@ -33,6 +53,36 @@ "suggest": "", "rule": "Definite assignment assertions are not supported (arkts-no-definite-assignment)", "severity": "ERROR" + }, + { + "line": 37, + "column": 30, + "endLine": 37, + "endColumn": 32, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 43, + "column": 17, + "endLine": 43, + "endColumn": 18, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 51, + "column": 12, + "endLine": 51, + "endColumn": 14, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" } ] } \ No newline at end of file diff --git a/ets2panda/linter/test/main/dollar_binding_1.ets.arkts2.json b/ets2panda/linter/test/main/dollar_binding_1.ets.arkts2.json index 367b3ca344..674cd0d868 100644 --- a/ets2panda/linter/test/main/dollar_binding_1.ets.arkts2.json +++ b/ets2panda/linter/test/main/dollar_binding_1.ets.arkts2.json @@ -1,19 +1,39 @@ { "copyright": [ - "Copyright (c) 2025 Huawei Device Co., Ltd.", - "Licensed under the Apache License, Version 2.0 (the 'License');", - "you may not use this file except in compliance with the License.", - "You may obtain a copy of the License at", - "", - "http://www.apache.org/licenses/LICENSE-2.0", - "", - "Unless required by applicable law or agreed to in writing, software", - "distributed under the License is distributed on an 'AS IS' BASIS,", - "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.", - "See the License for the specific language governing permissions and", - "limitations under the License." + "Copyright (c) 2025 Huawei Device Co., Ltd.", + "Licensed under the Apache License, Version 2.0 (the 'License');", + "you may not use this file except in compliance with the License.", + "You may obtain a copy of the License at", + "", + "http://www.apache.org/licenses/LICENSE-2.0", + "", + "Unless required by applicable law or agreed to in writing, software", + "distributed under the License is distributed on an 'AS IS' BASIS,", + "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.", + "See the License for the specific language governing permissions and", + "limitations under the License." ], "result": [ + { + "line": 18, + "column": 26, + "endLine": 18, + "endColumn": 27, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 19, + "column": 23, + "endLine": 19, + "endColumn": 24, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 24, "column": 9, diff --git a/ets2panda/linter/test/main/dollar_binding_1.ets.autofix.json b/ets2panda/linter/test/main/dollar_binding_1.ets.autofix.json index 89ffaf32c0..3081866ef6 100644 --- a/ets2panda/linter/test/main/dollar_binding_1.ets.autofix.json +++ b/ets2panda/linter/test/main/dollar_binding_1.ets.autofix.json @@ -1,19 +1,61 @@ { "copyright": [ - "Copyright (c) 2025 Huawei Device Co., Ltd.", - "Licensed under the Apache License, Version 2.0 (the 'License');", - "you may not use this file except in compliance with the License.", - "You may obtain a copy of the License at", - "", - "http://www.apache.org/licenses/LICENSE-2.0", - "", - "Unless required by applicable law or agreed to in writing, software", - "distributed under the License is distributed on an 'AS IS' BASIS,", - "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.", - "See the License for the specific language governing permissions and", - "limitations under the License." + "Copyright (c) 2025 Huawei Device Co., Ltd.", + "Licensed under the Apache License, Version 2.0 (the 'License');", + "you may not use this file except in compliance with the License.", + "You may obtain a copy of the License at", + "", + "http://www.apache.org/licenses/LICENSE-2.0", + "", + "Unless required by applicable law or agreed to in writing, software", + "distributed under the License is distributed on an 'AS IS' BASIS,", + "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.", + "See the License for the specific language governing permissions and", + "limitations under the License." ], "result": [ + { + "line": 18, + "column": 26, + "endLine": 18, + "endColumn": 27, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 662, + "end": 663, + "replacementText": "0.0", + "line": 18, + "column": 26, + "endLine": 18, + "endColumn": 27 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 19, + "column": 23, + "endLine": 19, + "endColumn": 24, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 686, + "end": 687, + "replacementText": "0.0", + "line": 19, + "column": 23, + "endLine": 19, + "endColumn": 24 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 24, "column": 9, @@ -24,7 +66,11 @@ { "start": 749, "end": 755, - "replacementText": "this.count" + "replacementText": "this.count", + "line": 24, + "column": 9, + "endLine": 24, + "endColumn": 22 } ], "suggest": "", @@ -41,7 +87,11 @@ { "start": 798, "end": 801, - "replacementText": "this.$$" + "replacementText": "this.$$", + "line": 27, + "column": 9, + "endLine": 27, + "endColumn": 19 } ], "suggest": "", @@ -58,7 +108,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, State, Column, Link, Row, Text } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, State, Column, Link, Row, Text } from '@kit.ArkUI';", + "line": 39, + "column": 7, + "endLine": 39, + "endColumn": 11 } ], "suggest": "", @@ -75,7 +129,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, State, Column, Link, Row, Text } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, State, Column, Link, Row, Text } from '@kit.ArkUI';", + "line": 39, + "column": 7, + "endLine": 39, + "endColumn": 11 } ], "suggest": "", @@ -92,7 +150,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, State, Column, Link, Row, Text } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, State, Column, Link, Row, Text } from '@kit.ArkUI';", + "line": 39, + "column": 7, + "endLine": 39, + "endColumn": 11 } ], "suggest": "", @@ -109,7 +171,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, State, Column, Link, Row, Text } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, State, Column, Link, Row, Text } from '@kit.ArkUI';", + "line": 39, + "column": 7, + "endLine": 39, + "endColumn": 11 } ], "suggest": "", @@ -126,7 +192,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, State, Column, Link, Row, Text } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, State, Column, Link, Row, Text } from '@kit.ArkUI';", + "line": 39, + "column": 7, + "endLine": 39, + "endColumn": 11 } ], "suggest": "", @@ -143,7 +213,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, State, Column, Link, Row, Text } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, State, Column, Link, Row, Text } from '@kit.ArkUI';", + "line": 39, + "column": 7, + "endLine": 39, + "endColumn": 11 } ], "suggest": "", @@ -160,7 +234,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, State, Column, Link, Row, Text } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, State, Column, Link, Row, Text } from '@kit.ArkUI';", + "line": 39, + "column": 7, + "endLine": 39, + "endColumn": 11 } ], "suggest": "", @@ -177,7 +255,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, State, Column, Link, Row, Text } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, State, Column, Link, Row, Text } from '@kit.ArkUI';", + "line": 39, + "column": 7, + "endLine": 39, + "endColumn": 11 } ], "suggest": "", diff --git a/ets2panda/linter/test/main/dollar_binding_1.ets.migrate.ets b/ets2panda/linter/test/main/dollar_binding_1.ets.migrate.ets index 244e4156a9..aa775da121 100644 --- a/ets2panda/linter/test/main/dollar_binding_1.ets.migrate.ets +++ b/ets2panda/linter/test/main/dollar_binding_1.ets.migrate.ets @@ -17,8 +17,8 @@ import { Component, State, Column, Link, Row, Text } from '@kit.ArkUI'; @Component struct MyComponent { - @State count: number = 0 - @State $$: number = 0 + @State count: number = 0.0 + @State $$: number = 0.0 build() { Column() { diff --git a/ets2panda/linter/test/main/dollar_binding_2.ets.arkts2.json b/ets2panda/linter/test/main/dollar_binding_2.ets.arkts2.json index ca88f857e9..1ac9993dfe 100644 --- a/ets2panda/linter/test/main/dollar_binding_2.ets.arkts2.json +++ b/ets2panda/linter/test/main/dollar_binding_2.ets.arkts2.json @@ -13,5 +13,26 @@ "See the License for the specific language governing permissions and", "limitations under the License." ], - "result": [] + "result": [ + { + "line": 20, + "column": 26, + "endLine": 20, + "endColumn": 27, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 21, + "column": 23, + "endLine": 21, + "endColumn": 24, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + } + ] } \ No newline at end of file diff --git a/ets2panda/linter/test/main/dollar_binding_2.ets.autofix.json b/ets2panda/linter/test/main/dollar_binding_2.ets.autofix.json index ca88f857e9..89c63ca3e5 100644 --- a/ets2panda/linter/test/main/dollar_binding_2.ets.autofix.json +++ b/ets2panda/linter/test/main/dollar_binding_2.ets.autofix.json @@ -13,5 +13,48 @@ "See the License for the specific language governing permissions and", "limitations under the License." ], - "result": [] + "result": [ + { + "line": 20, + "column": 26, + "endLine": 20, + "endColumn": 27, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 735, + "end": 736, + "replacementText": "0.0", + "line": 20, + "column": 26, + "endLine": 20, + "endColumn": 27 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 21, + "column": 23, + "endLine": 21, + "endColumn": 24, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 759, + "end": 760, + "replacementText": "0.0", + "line": 21, + "column": 23, + "endLine": 21, + "endColumn": 24 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + } + ] } \ No newline at end of file diff --git a/ets2panda/linter/test/main/dollar_binding_2.ets.migrate.ets b/ets2panda/linter/test/main/dollar_binding_2.ets.migrate.ets index 244e4156a9..aa775da121 100644 --- a/ets2panda/linter/test/main/dollar_binding_2.ets.migrate.ets +++ b/ets2panda/linter/test/main/dollar_binding_2.ets.migrate.ets @@ -17,8 +17,8 @@ import { Component, State, Column, Link, Row, Text } from '@kit.ArkUI'; @Component struct MyComponent { - @State count: number = 0 - @State $$: number = 0 + @State count: number = 0.0 + @State $$: number = 0.0 build() { Column() { diff --git a/ets2panda/linter/test/main/double_dollar_binding_1.ets.arkts2.json b/ets2panda/linter/test/main/double_dollar_binding_1.ets.arkts2.json index 0a8b4da88d..f62cf13942 100644 --- a/ets2panda/linter/test/main/double_dollar_binding_1.ets.arkts2.json +++ b/ets2panda/linter/test/main/double_dollar_binding_1.ets.arkts2.json @@ -14,6 +14,16 @@ "limitations under the License." ], "result": [ + { + "line": 18, + "column": 26, + "endLine": 18, + "endColumn": 27, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 23, "column": 16, diff --git a/ets2panda/linter/test/main/double_dollar_binding_1.ets.autofix.json b/ets2panda/linter/test/main/double_dollar_binding_1.ets.autofix.json index bc08ccf2ef..7a7748866b 100644 --- a/ets2panda/linter/test/main/double_dollar_binding_1.ets.autofix.json +++ b/ets2panda/linter/test/main/double_dollar_binding_1.ets.autofix.json @@ -14,6 +14,27 @@ "limitations under the License." ], "result": [ + { + "line": 18, + "column": 26, + "endLine": 18, + "endColumn": 27, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 662, + "end": 663, + "replacementText": "0.0", + "line": 18, + "column": 26, + "endLine": 18, + "endColumn": 27 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 23, "column": 16, @@ -24,7 +45,11 @@ { "start": 719, "end": 731, - "replacementText": "$$(this.value)" + "replacementText": "$$(this.value)", + "line": 23, + "column": 16, + "endLine": 23, + "endColumn": 28 } ], "suggest": "", @@ -41,7 +66,11 @@ { "start": 862, "end": 876, - "replacementText": "$$(this.checked)" + "replacementText": "$$(this.checked)", + "line": 35, + "column": 25, + "endLine": 35, + "endColumn": 39 } ], "suggest": "", @@ -58,7 +87,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text } from '@kit.ArkUI';", + "line": 37, + "column": 7, + "endLine": 37, + "endColumn": 11 } ], "suggest": "", @@ -75,7 +108,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text } from '@kit.ArkUI';", + "line": 37, + "column": 7, + "endLine": 37, + "endColumn": 11 } ], "suggest": "", @@ -92,7 +129,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text } from '@kit.ArkUI';", + "line": 37, + "column": 7, + "endLine": 37, + "endColumn": 11 } ], "suggest": "", @@ -109,7 +150,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text } from '@kit.ArkUI';", + "line": 37, + "column": 7, + "endLine": 37, + "endColumn": 11 } ], "suggest": "", @@ -126,7 +171,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text } from '@kit.ArkUI';", + "line": 37, + "column": 7, + "endLine": 37, + "endColumn": 11 } ], "suggest": "", @@ -143,7 +192,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text } from '@kit.ArkUI';", + "line": 37, + "column": 7, + "endLine": 37, + "endColumn": 11 } ], "suggest": "", @@ -160,7 +213,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text } from '@kit.ArkUI';", + "line": 37, + "column": 7, + "endLine": 37, + "endColumn": 11 } ], "suggest": "", @@ -177,7 +234,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text } from '@kit.ArkUI';", + "line": 37, + "column": 7, + "endLine": 37, + "endColumn": 11 } ], "suggest": "", @@ -194,7 +255,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text } from '@kit.ArkUI';", + "line": 37, + "column": 7, + "endLine": 37, + "endColumn": 11 } ], "suggest": "", @@ -211,7 +276,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text } from '@kit.ArkUI';", + "line": 37, + "column": 7, + "endLine": 37, + "endColumn": 11 } ], "suggest": "", diff --git a/ets2panda/linter/test/main/double_dollar_binding_1.ets.migrate.ets b/ets2panda/linter/test/main/double_dollar_binding_1.ets.migrate.ets index e598afe1a5..bb6147cf5b 100644 --- a/ets2panda/linter/test/main/double_dollar_binding_1.ets.migrate.ets +++ b/ets2panda/linter/test/main/double_dollar_binding_1.ets.migrate.ets @@ -17,7 +17,7 @@ import { Component, State, Row, Slider, $$, Checkbox, Blank, Text } from '@kit.A @Component struct MyComponent { - @State value: number = 0 + @State value: number = 0.0 build() { Row() { diff --git a/ets2panda/linter/test/main/double_dollar_binding_2.ets.arkts2.json b/ets2panda/linter/test/main/double_dollar_binding_2.ets.arkts2.json index ca88f857e9..63543b96ff 100644 --- a/ets2panda/linter/test/main/double_dollar_binding_2.ets.arkts2.json +++ b/ets2panda/linter/test/main/double_dollar_binding_2.ets.arkts2.json @@ -13,5 +13,16 @@ "See the License for the specific language governing permissions and", "limitations under the License." ], - "result": [] + "result": [ + { + "line": 20, + "column": 26, + "endLine": 20, + "endColumn": 27, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + } + ] } \ No newline at end of file diff --git a/ets2panda/linter/test/main/double_dollar_binding_2.ets.autofix.json b/ets2panda/linter/test/main/double_dollar_binding_2.ets.autofix.json index ca88f857e9..51a33cbdbf 100644 --- a/ets2panda/linter/test/main/double_dollar_binding_2.ets.autofix.json +++ b/ets2panda/linter/test/main/double_dollar_binding_2.ets.autofix.json @@ -13,5 +13,27 @@ "See the License for the specific language governing permissions and", "limitations under the License." ], - "result": [] + "result": [ + { + "line": 20, + "column": 26, + "endLine": 20, + "endColumn": 27, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 750, + "end": 751, + "replacementText": "0.0", + "line": 20, + "column": 26, + "endLine": 20, + "endColumn": 27 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + } + ] } \ No newline at end of file diff --git a/ets2panda/linter/test/main/double_dollar_binding_2.ets.migrate.ets b/ets2panda/linter/test/main/double_dollar_binding_2.ets.migrate.ets index e598afe1a5..bb6147cf5b 100644 --- a/ets2panda/linter/test/main/double_dollar_binding_2.ets.migrate.ets +++ b/ets2panda/linter/test/main/double_dollar_binding_2.ets.migrate.ets @@ -17,7 +17,7 @@ import { Component, State, Row, Slider, $$, Checkbox, Blank, Text } from '@kit.A @Component struct MyComponent { - @State value: number = 0 + @State value: number = 0.0 build() { Row() { diff --git a/ets2panda/linter/test/main/double_excla_binding_1.ets.arkts2.json b/ets2panda/linter/test/main/double_excla_binding_1.ets.arkts2.json index 3211c8ca2f..1049eb7c5c 100644 --- a/ets2panda/linter/test/main/double_excla_binding_1.ets.arkts2.json +++ b/ets2panda/linter/test/main/double_excla_binding_1.ets.arkts2.json @@ -1,19 +1,29 @@ { "copyright": [ - "Copyright (c) 2025 Huawei Device Co., Ltd.", - "Licensed under the Apache License, Version 2.0 (the 'License');", - "you may not use this file except in compliance with the License.", - "You may obtain a copy of the License at", - "", - "http://www.apache.org/licenses/LICENSE-2.0", - "", - "Unless required by applicable law or agreed to in writing, software", - "distributed under the License is distributed on an 'AS IS' BASIS,", - "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.", - "See the License for the specific language governing permissions and", - "limitations under the License." + "Copyright (c) 2025 Huawei Device Co., Ltd.", + "Licensed under the Apache License, Version 2.0 (the 'License');", + "you may not use this file except in compliance with the License.", + "You may obtain a copy of the License at", + "", + "http://www.apache.org/licenses/LICENSE-2.0", + "", + "Unless required by applicable law or agreed to in writing, software", + "distributed under the License is distributed on an 'AS IS' BASIS,", + "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.", + "See the License for the specific language governing permissions and", + "limitations under the License." ], "result": [ + { + "line": 20, + "column": 26, + "endLine": 20, + "endColumn": 27, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 25, "column": 16, @@ -34,6 +44,46 @@ "rule": "\"!!\" for bidirectional data binding is not supported (arkui-no-!!-bidirectional-data-binding)", "severity": "ERROR" }, + { + "line": 46, + "column": 26, + "endLine": 46, + "endColumn": 27, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 58, + "column": 26, + "endLine": 58, + "endColumn": 27, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 70, + "column": 26, + "endLine": 70, + "endColumn": 27, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 83, + "column": 26, + "endLine": 83, + "endColumn": 27, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 92, "column": 21, @@ -54,6 +104,26 @@ "rule": "\"!!\" for bidirectional data binding is not supported (arkui-no-!!-bidirectional-data-binding)", "severity": "ERROR" }, + { + "line": 101, + "column": 26, + "endLine": 101, + "endColumn": 27, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 108, + "column": 21, + "endLine": 108, + "endColumn": 23, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 18, "column": 2, diff --git a/ets2panda/linter/test/main/double_excla_binding_1.ets.autofix.json b/ets2panda/linter/test/main/double_excla_binding_1.ets.autofix.json index 4b94dfd390..b10e76da6e 100644 --- a/ets2panda/linter/test/main/double_excla_binding_1.ets.autofix.json +++ b/ets2panda/linter/test/main/double_excla_binding_1.ets.autofix.json @@ -14,6 +14,27 @@ "limitations under the License." ], "result": [ + { + "line": 20, + "column": 26, + "endLine": 20, + "endColumn": 27, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 692, + "end": 693, + "replacementText": "0.0", + "line": 20, + "column": 26, + "endLine": 20, + "endColumn": 27 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 25, "column": 16, @@ -24,7 +45,11 @@ { "start": 749, "end": 761, - "replacementText": "$$(this.value)" + "replacementText": "$$(this.value)", + "line": 25, + "column": 16, + "endLine": 25, + "endColumn": 28 } ], "suggest": "", @@ -41,13 +66,101 @@ { "start": 892, "end": 906, - "replacementText": "$$(this.checked)" + "replacementText": "$$(this.checked)", + "line": 37, + "column": 25, + "endLine": 37, + "endColumn": 39 } ], "suggest": "", "rule": "\"!!\" for bidirectional data binding is not supported (arkui-no-!!-bidirectional-data-binding)", "severity": "ERROR" }, + { + "line": 46, + "column": 26, + "endLine": 46, + "endColumn": 27, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1031, + "end": 1032, + "replacementText": "0.0", + "line": 46, + "column": 26, + "endLine": 46, + "endColumn": 27 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 58, + "column": 26, + "endLine": 58, + "endColumn": 27, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1182, + "end": 1183, + "replacementText": "0.0", + "line": 58, + "column": 26, + "endLine": 58, + "endColumn": 27 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 70, + "column": 26, + "endLine": 70, + "endColumn": 27, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1334, + "end": 1335, + "replacementText": "0.0", + "line": 70, + "column": 26, + "endLine": 70, + "endColumn": 27 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 83, + "column": 26, + "endLine": 83, + "endColumn": 27, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1489, + "end": 1490, + "replacementText": "0.0", + "line": 83, + "column": 26, + "endLine": 83, + "endColumn": 27 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 92, "column": 21, @@ -58,7 +171,11 @@ { "start": 1662, "end": 1685, - "replacementText": "{\n value: this.value,\n $value: value => {\n this.value = value;\n }\n }" + "replacementText": "{\n value: this.value,\n $value: value => {\n this.value = value;\n }\n }", + "line": 92, + "column": 21, + "endLine": 92, + "endColumn": 33 } ], "suggest": "", @@ -75,13 +192,59 @@ { "start": 1700, "end": 1719, - "replacementText": "{\n str: this.str,\n $str: value => {\n this.str = value;\n }\n }" + "replacementText": "{\n str: this.str,\n $str: value => {\n this.str = value;\n }\n }", + "line": 93, + "column": 21, + "endLine": 93, + "endColumn": 31 } ], "suggest": "", "rule": "\"!!\" for bidirectional data binding is not supported (arkui-no-!!-bidirectional-data-binding)", "severity": "ERROR" }, + { + "line": 101, + "column": 26, + "endLine": 101, + "endColumn": 27, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1787, + "end": 1788, + "replacementText": "0.0", + "line": 101, + "column": 26, + "endLine": 101, + "endColumn": 27 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 108, + "column": 21, + "endLine": 108, + "endColumn": 23, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1974, + "end": 1976, + "replacementText": "10.0", + "line": 108, + "column": 21, + "endLine": 108, + "endColumn": 23 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 18, "column": 2, @@ -92,7 +255,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text, Entry, ComponentV2, Local, Column, Button, Param, Event } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text, Entry, ComponentV2, Local, Column, Button, Param, Event } from '@kit.ArkUI';", + "line": 107, + "column": 7, + "endLine": 107, + "endColumn": 13 } ], "suggest": "", @@ -109,7 +276,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text, Entry, ComponentV2, Local, Column, Button, Param, Event } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text, Entry, ComponentV2, Local, Column, Button, Param, Event } from '@kit.ArkUI';", + "line": 107, + "column": 7, + "endLine": 107, + "endColumn": 13 } ], "suggest": "", @@ -126,7 +297,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text, Entry, ComponentV2, Local, Column, Button, Param, Event } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text, Entry, ComponentV2, Local, Column, Button, Param, Event } from '@kit.ArkUI';", + "line": 107, + "column": 7, + "endLine": 107, + "endColumn": 13 } ], "suggest": "", @@ -143,7 +318,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text, Entry, ComponentV2, Local, Column, Button, Param, Event } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text, Entry, ComponentV2, Local, Column, Button, Param, Event } from '@kit.ArkUI';", + "line": 107, + "column": 7, + "endLine": 107, + "endColumn": 13 } ], "suggest": "", @@ -160,7 +339,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text, Entry, ComponentV2, Local, Column, Button, Param, Event } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text, Entry, ComponentV2, Local, Column, Button, Param, Event } from '@kit.ArkUI';", + "line": 107, + "column": 7, + "endLine": 107, + "endColumn": 13 } ], "suggest": "", @@ -177,7 +360,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text, Entry, ComponentV2, Local, Column, Button, Param, Event } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text, Entry, ComponentV2, Local, Column, Button, Param, Event } from '@kit.ArkUI';", + "line": 107, + "column": 7, + "endLine": 107, + "endColumn": 13 } ], "suggest": "", @@ -194,7 +381,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text, Entry, ComponentV2, Local, Column, Button, Param, Event } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text, Entry, ComponentV2, Local, Column, Button, Param, Event } from '@kit.ArkUI';", + "line": 107, + "column": 7, + "endLine": 107, + "endColumn": 13 } ], "suggest": "", @@ -211,7 +402,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text, Entry, ComponentV2, Local, Column, Button, Param, Event } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text, Entry, ComponentV2, Local, Column, Button, Param, Event } from '@kit.ArkUI';", + "line": 107, + "column": 7, + "endLine": 107, + "endColumn": 13 } ], "suggest": "", @@ -228,7 +423,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text, Entry, ComponentV2, Local, Column, Button, Param, Event } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text, Entry, ComponentV2, Local, Column, Button, Param, Event } from '@kit.ArkUI';", + "line": 107, + "column": 7, + "endLine": 107, + "endColumn": 13 } ], "suggest": "", @@ -245,7 +444,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text, Entry, ComponentV2, Local, Column, Button, Param, Event } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text, Entry, ComponentV2, Local, Column, Button, Param, Event } from '@kit.ArkUI';", + "line": 107, + "column": 7, + "endLine": 107, + "endColumn": 13 } ], "suggest": "", @@ -262,7 +465,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text, Entry, ComponentV2, Local, Column, Button, Param, Event } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text, Entry, ComponentV2, Local, Column, Button, Param, Event } from '@kit.ArkUI';", + "line": 107, + "column": 7, + "endLine": 107, + "endColumn": 13 } ], "suggest": "", @@ -279,7 +486,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text, Entry, ComponentV2, Local, Column, Button, Param, Event } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text, Entry, ComponentV2, Local, Column, Button, Param, Event } from '@kit.ArkUI';", + "line": 107, + "column": 7, + "endLine": 107, + "endColumn": 13 } ], "suggest": "", @@ -296,7 +507,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text, Entry, ComponentV2, Local, Column, Button, Param, Event } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text, Entry, ComponentV2, Local, Column, Button, Param, Event } from '@kit.ArkUI';", + "line": 107, + "column": 7, + "endLine": 107, + "endColumn": 13 } ], "suggest": "", @@ -313,7 +528,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text, Entry, ComponentV2, Local, Column, Button, Param, Event } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text, Entry, ComponentV2, Local, Column, Button, Param, Event } from '@kit.ArkUI';", + "line": 107, + "column": 7, + "endLine": 107, + "endColumn": 13 } ], "suggest": "", @@ -330,7 +549,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text, Entry, ComponentV2, Local, Column, Button, Param, Event } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text, Entry, ComponentV2, Local, Column, Button, Param, Event } from '@kit.ArkUI';", + "line": 107, + "column": 7, + "endLine": 107, + "endColumn": 13 } ], "suggest": "", @@ -347,7 +570,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text, Entry, ComponentV2, Local, Column, Button, Param, Event } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text, Entry, ComponentV2, Local, Column, Button, Param, Event } from '@kit.ArkUI';", + "line": 107, + "column": 7, + "endLine": 107, + "endColumn": 13 } ], "suggest": "", @@ -364,7 +591,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text, Entry, ComponentV2, Local, Column, Button, Param, Event } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text, Entry, ComponentV2, Local, Column, Button, Param, Event } from '@kit.ArkUI';", + "line": 107, + "column": 7, + "endLine": 107, + "endColumn": 13 } ], "suggest": "", @@ -381,7 +612,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text, Entry, ComponentV2, Local, Column, Button, Param, Event } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text, Entry, ComponentV2, Local, Column, Button, Param, Event } from '@kit.ArkUI';", + "line": 107, + "column": 7, + "endLine": 107, + "endColumn": 13 } ], "suggest": "", @@ -398,7 +633,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text, Entry, ComponentV2, Local, Column, Button, Param, Event } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text, Entry, ComponentV2, Local, Column, Button, Param, Event } from '@kit.ArkUI';", + "line": 107, + "column": 7, + "endLine": 107, + "endColumn": 13 } ], "suggest": "", @@ -415,7 +654,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text, Entry, ComponentV2, Local, Column, Button, Param, Event } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text, Entry, ComponentV2, Local, Column, Button, Param, Event } from '@kit.ArkUI';", + "line": 107, + "column": 7, + "endLine": 107, + "endColumn": 13 } ], "suggest": "", @@ -432,7 +675,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text, Entry, ComponentV2, Local, Column, Button, Param, Event } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text, Entry, ComponentV2, Local, Column, Button, Param, Event } from '@kit.ArkUI';", + "line": 107, + "column": 7, + "endLine": 107, + "endColumn": 13 } ], "suggest": "", @@ -449,7 +696,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text, Entry, ComponentV2, Local, Column, Button, Param, Event } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text, Entry, ComponentV2, Local, Column, Button, Param, Event } from '@kit.ArkUI';", + "line": 107, + "column": 7, + "endLine": 107, + "endColumn": 13 } ], "suggest": "", @@ -466,7 +717,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text, Entry, ComponentV2, Local, Column, Button, Param, Event } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text, Entry, ComponentV2, Local, Column, Button, Param, Event } from '@kit.ArkUI';", + "line": 107, + "column": 7, + "endLine": 107, + "endColumn": 13 } ], "suggest": "", @@ -483,7 +738,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text, Entry, ComponentV2, Local, Column, Button, Param, Event } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text, Entry, ComponentV2, Local, Column, Button, Param, Event } from '@kit.ArkUI';", + "line": 107, + "column": 7, + "endLine": 107, + "endColumn": 13 } ], "suggest": "", @@ -500,7 +759,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text, Entry, ComponentV2, Local, Column, Button, Param, Event } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text, Entry, ComponentV2, Local, Column, Button, Param, Event } from '@kit.ArkUI';", + "line": 107, + "column": 7, + "endLine": 107, + "endColumn": 13 } ], "suggest": "", @@ -517,7 +780,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text, Entry, ComponentV2, Local, Column, Button, Param, Event } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text, Entry, ComponentV2, Local, Column, Button, Param, Event } from '@kit.ArkUI';", + "line": 107, + "column": 7, + "endLine": 107, + "endColumn": 13 } ], "suggest": "", @@ -534,7 +801,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text, Entry, ComponentV2, Local, Column, Button, Param, Event } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text, Entry, ComponentV2, Local, Column, Button, Param, Event } from '@kit.ArkUI';", + "line": 107, + "column": 7, + "endLine": 107, + "endColumn": 13 } ], "suggest": "", @@ -551,7 +822,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text, Entry, ComponentV2, Local, Column, Button, Param, Event } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text, Entry, ComponentV2, Local, Column, Button, Param, Event } from '@kit.ArkUI';", + "line": 107, + "column": 7, + "endLine": 107, + "endColumn": 13 } ], "suggest": "", @@ -568,7 +843,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text, Entry, ComponentV2, Local, Column, Button, Param, Event } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text, Entry, ComponentV2, Local, Column, Button, Param, Event } from '@kit.ArkUI';", + "line": 107, + "column": 7, + "endLine": 107, + "endColumn": 13 } ], "suggest": "", @@ -585,7 +864,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text, Entry, ComponentV2, Local, Column, Button, Param, Event } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text, Entry, ComponentV2, Local, Column, Button, Param, Event } from '@kit.ArkUI';", + "line": 107, + "column": 7, + "endLine": 107, + "endColumn": 13 } ], "suggest": "", @@ -602,7 +885,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text, Entry, ComponentV2, Local, Column, Button, Param, Event } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text, Entry, ComponentV2, Local, Column, Button, Param, Event } from '@kit.ArkUI';", + "line": 107, + "column": 7, + "endLine": 107, + "endColumn": 13 } ], "suggest": "", @@ -619,7 +906,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text, Entry, ComponentV2, Local, Column, Button, Param, Event } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text, Entry, ComponentV2, Local, Column, Button, Param, Event } from '@kit.ArkUI';", + "line": 107, + "column": 7, + "endLine": 107, + "endColumn": 13 } ], "suggest": "", @@ -636,7 +927,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text, Entry, ComponentV2, Local, Column, Button, Param, Event } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text, Entry, ComponentV2, Local, Column, Button, Param, Event } from '@kit.ArkUI';", + "line": 107, + "column": 7, + "endLine": 107, + "endColumn": 13 } ], "suggest": "", @@ -653,7 +948,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text, Entry, ComponentV2, Local, Column, Button, Param, Event } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text, Entry, ComponentV2, Local, Column, Button, Param, Event } from '@kit.ArkUI';", + "line": 107, + "column": 7, + "endLine": 107, + "endColumn": 13 } ], "suggest": "", @@ -670,7 +969,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text, Entry, ComponentV2, Local, Column, Button, Param, Event } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, State, Row, Slider, $$, Checkbox, Blank, Text, Entry, ComponentV2, Local, Column, Button, Param, Event } from '@kit.ArkUI';", + "line": 107, + "column": 7, + "endLine": 107, + "endColumn": 13 } ], "suggest": "", diff --git a/ets2panda/linter/test/main/double_excla_binding_1.ets.migrate.ets b/ets2panda/linter/test/main/double_excla_binding_1.ets.migrate.ets index 30d62a9467..6f1805da3f 100644 --- a/ets2panda/linter/test/main/double_excla_binding_1.ets.migrate.ets +++ b/ets2panda/linter/test/main/double_excla_binding_1.ets.migrate.ets @@ -19,7 +19,7 @@ import { MyCard } from './' @Component struct MyComponent1 { - @State value: number = 0 + @State value: number = 0.0 build() { Row() { @@ -45,7 +45,7 @@ struct Test { @Component struct MyComponent2 { - @State value: number = 0; + @State value: number = 0.0; build() { Row() { Slider({ @@ -57,7 +57,7 @@ struct MyComponent2 { @Component struct MyComponent3 { - @State value: number = 0; + @State value: number = 0.0; build() { Row() { Slider({ @@ -69,7 +69,7 @@ struct MyComponent3 { @Component struct MyComponent4 { - @State value: number = 0; + @State value: number = 0.0; build() { Row() { Slider({ @@ -82,7 +82,7 @@ struct MyComponent4 { @Entry @ComponentV2 struct Index { - @Local value: number = 0; + @Local value: number = 0.0; @Local str: string = ''; build() { @@ -110,14 +110,14 @@ struct Index { @ComponentV2 struct Star { - @Param value: number = 0; + @Param value: number = 0.0; @Event $value: (val: number) => void = (val: number) => {}; build() { Column() { Text(`${this.value}`) Button(`change value `).onClick(() => { - this.$value(10); + this.$value(10.0); }) } } diff --git a/ets2panda/linter/test/main/double_excla_binding_2.ets.arkts2.json b/ets2panda/linter/test/main/double_excla_binding_2.ets.arkts2.json index 56397bece3..2931b3b9f0 100644 --- a/ets2panda/linter/test/main/double_excla_binding_2.ets.arkts2.json +++ b/ets2panda/linter/test/main/double_excla_binding_2.ets.arkts2.json @@ -1,19 +1,69 @@ { "copyright": [ - "Copyright (c) 2025 Huawei Device Co., Ltd.", - "Licensed under the Apache License, Version 2.0 (the 'License');", - "you may not use this file except in compliance with the License.", - "You may obtain a copy of the License at", - "", - "http://www.apache.org/licenses/LICENSE-2.0", - "", - "Unless required by applicable law or agreed to in writing, software", - "distributed under the License is distributed on an 'AS IS' BASIS,", - "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.", - "See the License for the specific language governing permissions and", - "limitations under the License." + "Copyright (c) 2025 Huawei Device Co., Ltd.", + "Licensed under the Apache License, Version 2.0 (the 'License');", + "you may not use this file except in compliance with the License.", + "You may obtain a copy of the License at", + "", + "http://www.apache.org/licenses/LICENSE-2.0", + "", + "Unless required by applicable law or agreed to in writing, software", + "distributed under the License is distributed on an 'AS IS' BASIS,", + "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.", + "See the License for the specific language governing permissions and", + "limitations under the License." ], "result": [ + { + "line": 22, + "column": 26, + "endLine": 22, + "endColumn": 27, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 48, + "column": 26, + "endLine": 48, + "endColumn": 27, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 60, + "column": 26, + "endLine": 60, + "endColumn": 27, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 72, + "column": 26, + "endLine": 72, + "endColumn": 27, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 85, + "column": 26, + "endLine": 85, + "endColumn": 27, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 101, "column": 15, @@ -23,6 +73,26 @@ "suggest": "", "rule": "Use explicit types instead of \"any\", \"unknown\" (arkts-no-any-unknown)", "severity": "ERROR" + }, + { + "line": 112, + "column": 26, + "endLine": 112, + "endColumn": 27, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 119, + "column": 21, + "endLine": 119, + "endColumn": 23, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" } ] } \ No newline at end of file diff --git a/ets2panda/linter/test/main/double_excla_binding_2.ets.autofix.json b/ets2panda/linter/test/main/double_excla_binding_2.ets.autofix.json index 56397bece3..1bf244df8f 100644 --- a/ets2panda/linter/test/main/double_excla_binding_2.ets.autofix.json +++ b/ets2panda/linter/test/main/double_excla_binding_2.ets.autofix.json @@ -1,19 +1,124 @@ { "copyright": [ - "Copyright (c) 2025 Huawei Device Co., Ltd.", - "Licensed under the Apache License, Version 2.0 (the 'License');", - "you may not use this file except in compliance with the License.", - "You may obtain a copy of the License at", - "", - "http://www.apache.org/licenses/LICENSE-2.0", - "", - "Unless required by applicable law or agreed to in writing, software", - "distributed under the License is distributed on an 'AS IS' BASIS,", - "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.", - "See the License for the specific language governing permissions and", - "limitations under the License." + "Copyright (c) 2025 Huawei Device Co., Ltd.", + "Licensed under the Apache License, Version 2.0 (the 'License');", + "you may not use this file except in compliance with the License.", + "You may obtain a copy of the License at", + "", + "http://www.apache.org/licenses/LICENSE-2.0", + "", + "Unless required by applicable law or agreed to in writing, software", + "distributed under the License is distributed on an 'AS IS' BASIS,", + "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.", + "See the License for the specific language governing permissions and", + "limitations under the License." ], "result": [ + { + "line": 22, + "column": 26, + "endLine": 22, + "endColumn": 27, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 836, + "end": 837, + "replacementText": "0.0", + "line": 22, + "column": 26, + "endLine": 22, + "endColumn": 27 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 48, + "column": 26, + "endLine": 48, + "endColumn": 27, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1179, + "end": 1180, + "replacementText": "0.0", + "line": 48, + "column": 26, + "endLine": 48, + "endColumn": 27 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 60, + "column": 26, + "endLine": 60, + "endColumn": 27, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1330, + "end": 1331, + "replacementText": "0.0", + "line": 60, + "column": 26, + "endLine": 60, + "endColumn": 27 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 72, + "column": 26, + "endLine": 72, + "endColumn": 27, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1482, + "end": 1483, + "replacementText": "0.0", + "line": 72, + "column": 26, + "endLine": 72, + "endColumn": 27 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 85, + "column": 26, + "endLine": 85, + "endColumn": 27, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1637, + "end": 1638, + "replacementText": "0.0", + "line": 85, + "column": 26, + "endLine": 85, + "endColumn": 27 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 101, "column": 15, @@ -23,6 +128,48 @@ "suggest": "", "rule": "Use explicit types instead of \"any\", \"unknown\" (arkts-no-any-unknown)", "severity": "ERROR" + }, + { + "line": 112, + "column": 26, + "endLine": 112, + "endColumn": 27, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 2064, + "end": 2065, + "replacementText": "0.0", + "line": 112, + "column": 26, + "endLine": 112, + "endColumn": 27 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 119, + "column": 21, + "endLine": 119, + "endColumn": 23, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 2251, + "end": 2253, + "replacementText": "10.0", + "line": 119, + "column": 21, + "endLine": 119, + "endColumn": 23 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" } ] } \ No newline at end of file diff --git a/ets2panda/linter/test/main/double_excla_binding_2.ets.migrate.ets b/ets2panda/linter/test/main/double_excla_binding_2.ets.migrate.ets index 3f5d8563a9..5b4c234d0b 100644 --- a/ets2panda/linter/test/main/double_excla_binding_2.ets.migrate.ets +++ b/ets2panda/linter/test/main/double_excla_binding_2.ets.migrate.ets @@ -19,7 +19,7 @@ import { MyCard } from './' @Component struct MyComponent { - @State value: number = 0 + @State value: number = 0.0 build() { Row() { @@ -45,7 +45,7 @@ struct Test { @Component struct MyComponent2 { - @State value: number = 0; + @State value: number = 0.0; build() { Row() { Slider({ @@ -57,7 +57,7 @@ struct MyComponent2 { @Component struct MyComponent3 { - @State value: number = 0; + @State value: number = 0.0; build() { Row() { Slider({ @@ -69,7 +69,7 @@ struct MyComponent3 { @Component struct MyComponent4 { - @State value: number = 0; + @State value: number = 0.0; build() { Row() { Slider({ @@ -82,7 +82,7 @@ struct MyComponent4 { @Entry @ComponentV2 struct Index { - @Local value: number = 0; + @Local value: number = 0.0; build() { Column() { @@ -109,14 +109,14 @@ struct Index { @ComponentV2 struct Star { - @Param value: number = 0; + @Param value: number = 0.0; @Event $value: (val: number) => void = (val: number) => {}; build() { Column() { Text(`${this.value}`) Button(`change value `).onClick(() => { - this.$value(10); + this.$value(10.0); }) } } diff --git a/ets2panda/linter/test/main/dynamic_ctor_call.ets.arkts2.json b/ets2panda/linter/test/main/dynamic_ctor_call.ets.arkts2.json index 2e06ab8e48..0ef26c352d 100644 --- a/ets2panda/linter/test/main/dynamic_ctor_call.ets.arkts2.json +++ b/ets2panda/linter/test/main/dynamic_ctor_call.ets.arkts2.json @@ -54,6 +54,26 @@ "rule": "\"new\" expression with dynamic constructor type is not supported (arkts-no-dynamic-ctor-call)", "severity": "ERROR" }, + { + "line": 26, + "column": 19, + "endLine": 26, + "endColumn": 20, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 26, + "column": 22, + "endLine": 26, + "endColumn": 23, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 30, "column": 9, @@ -74,6 +94,26 @@ "rule": "\"new\" expression with dynamic constructor type is not supported (arkts-no-dynamic-ctor-call)", "severity": "ERROR" }, + { + "line": 32, + "column": 19, + "endLine": 32, + "endColumn": 20, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 32, + "column": 22, + "endLine": 32, + "endColumn": 23, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 36, "column": 3, diff --git a/ets2panda/linter/test/main/entry_annotation_test10_1.ets.arkts2.json b/ets2panda/linter/test/main/entry_annotation_test10_1.ets.arkts2.json index 32c8ce210a..0e990c1b4b 100644 --- a/ets2panda/linter/test/main/entry_annotation_test10_1.ets.arkts2.json +++ b/ets2panda/linter/test/main/entry_annotation_test10_1.ets.arkts2.json @@ -1,28 +1,38 @@ -{ - "copyright": [ - "Copyright (c) 2025 Huawei Device Co., Ltd.", - "Licensed under the Apache License, Version 2.0 (the 'License');", - "you may not use this file except in compliance with the License.", - "You may obtain a copy of the License at", - "", - "http://www.apache.org/licenses/LICENSE-2.0", - "", - "Unless required by applicable law or agreed to in writing, software", - "distributed under the License is distributed on an 'AS IS' BASIS,", - "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.", - "See the License for the specific language governing permissions and", - "limitations under the License." - ], - "result": [ - { - "line": 19, - "column": 1, - "endLine": 19, - "endColumn": 38, - "problem": "EntryAnnotation", - "suggest": "", - "rule": "The \"@Entry\" annotation does not support dynamic parameters (arkui-entry-annotation-parameters)", - "severity": "ERROR" - } - ] +{ + "copyright": [ + "Copyright (c) 2025 Huawei Device Co., Ltd.", + "Licensed under the Apache License, Version 2.0 (the 'License');", + "you may not use this file except in compliance with the License.", + "You may obtain a copy of the License at", + "", + "http://www.apache.org/licenses/LICENSE-2.0", + "", + "Unless required by applicable law or agreed to in writing, software", + "distributed under the License is distributed on an 'AS IS' BASIS,", + "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.", + "See the License for the specific language governing permissions and", + "limitations under the License." + ], + "result": [ + { + "line": 19, + "column": 1, + "endLine": 19, + "endColumn": 38, + "problem": "EntryAnnotation", + "suggest": "", + "rule": "The \"@Entry\" annotation does not support dynamic parameters (arkui-entry-annotation-parameters)", + "severity": "ERROR" + }, + { + "line": 19, + "column": 34, + "endLine": 19, + "endColumn": 35, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + } + ] } \ No newline at end of file diff --git a/ets2panda/linter/test/main/entry_annotation_test10_1.ets.autofix.json b/ets2panda/linter/test/main/entry_annotation_test10_1.ets.autofix.json index dbe2ad5dbe..842bfd57b0 100644 --- a/ets2panda/linter/test/main/entry_annotation_test10_1.ets.autofix.json +++ b/ets2panda/linter/test/main/entry_annotation_test10_1.ets.autofix.json @@ -24,12 +24,37 @@ { "start": 738, "end": 775, - "replacementText": "const __get_local_storage__ = (): LocalStorage => getLocalStorage(1);\n@Entry({ storage: \"__get_local_storage__\" })" + "replacementText": "const __get_local_storage__ = (): LocalStorage => getLocalStorage(1);\n@Entry({ storage: \"__get_local_storage__\" })", + "line": 19, + "column": 1, + "endLine": 19, + "endColumn": 38 } ], "suggest": "", "rule": "The \"@Entry\" annotation does not support dynamic parameters (arkui-entry-annotation-parameters)", "severity": "ERROR" + }, + { + "line": 19, + "column": 34, + "endLine": 19, + "endColumn": 35, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 771, + "end": 772, + "replacementText": "1.0", + "line": 19, + "column": 34, + "endLine": 19, + "endColumn": 35 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" } ] } \ No newline at end of file diff --git a/ets2panda/linter/test/main/entry_annotation_test10_1.ets.migrate.ets b/ets2panda/linter/test/main/entry_annotation_test10_1.ets.migrate.ets index 59b5cc120a..cd8cec09b9 100644 --- a/ets2panda/linter/test/main/entry_annotation_test10_1.ets.migrate.ets +++ b/ets2panda/linter/test/main/entry_annotation_test10_1.ets.migrate.ets @@ -1,26 +1,26 @@ -/* - * Copyright (c) 2025 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { Entry, Component, Text, LocalStorage } from '@ohos.arkui.components'; -import { getLocalStorage } from './storage-manager'; - -const __get_local_storage__ = (): LocalStorage => getLocalStorage(1); -@Entry({ storage: "__get_local_storage__" }) -@Component -struct MyPage { - build() { - Text("Hello World") - } +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { Entry, Component, Text, LocalStorage } from '@ohos.arkui.components'; +import { getLocalStorage } from './storage-manager'; + +const __get_local_storage__ = (): LocalStorage => getLocalStorage(1.0); +@Entry({ storage: "__get_local_storage__" }) +@Component +struct MyPage { + build() { + Text("Hello World") + } } \ No newline at end of file diff --git a/ets2panda/linter/test/main/entry_annotation_test10_2.ets.arkts2.json b/ets2panda/linter/test/main/entry_annotation_test10_2.ets.arkts2.json index 8227167def..51f70c2d77 100644 --- a/ets2panda/linter/test/main/entry_annotation_test10_2.ets.arkts2.json +++ b/ets2panda/linter/test/main/entry_annotation_test10_2.ets.arkts2.json @@ -1,17 +1,28 @@ -{ - "copyright": [ - "Copyright (c) 2025 Huawei Device Co., Ltd.", - "Licensed under the Apache License, Version 2.0 (the 'License');", - "you may not use this file except in compliance with the License.", - "You may obtain a copy of the License at", - "", - "http://www.apache.org/licenses/LICENSE-2.0", - "", - "Unless required by applicable law or agreed to in writing, software", - "distributed under the License is distributed on an 'AS IS' BASIS,", - "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.", - "See the License for the specific language governing permissions and", - "limitations under the License." - ], - "result": [] +{ + "copyright": [ + "Copyright (c) 2025 Huawei Device Co., Ltd.", + "Licensed under the Apache License, Version 2.0 (the 'License');", + "you may not use this file except in compliance with the License.", + "You may obtain a copy of the License at", + "", + "http://www.apache.org/licenses/LICENSE-2.0", + "", + "Unless required by applicable law or agreed to in writing, software", + "distributed under the License is distributed on an 'AS IS' BASIS,", + "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.", + "See the License for the specific language governing permissions and", + "limitations under the License." + ], + "result": [ + { + "line": 19, + "column": 67, + "endLine": 19, + "endColumn": 68, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + } + ] } \ No newline at end of file diff --git a/ets2panda/linter/test/main/entry_annotation_test10_2.ets.autofix.json b/ets2panda/linter/test/main/entry_annotation_test10_2.ets.autofix.json index 8227167def..bc7b6ccc6a 100644 --- a/ets2panda/linter/test/main/entry_annotation_test10_2.ets.autofix.json +++ b/ets2panda/linter/test/main/entry_annotation_test10_2.ets.autofix.json @@ -1,17 +1,39 @@ -{ - "copyright": [ - "Copyright (c) 2025 Huawei Device Co., Ltd.", - "Licensed under the Apache License, Version 2.0 (the 'License');", - "you may not use this file except in compliance with the License.", - "You may obtain a copy of the License at", - "", - "http://www.apache.org/licenses/LICENSE-2.0", - "", - "Unless required by applicable law or agreed to in writing, software", - "distributed under the License is distributed on an 'AS IS' BASIS,", - "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.", - "See the License for the specific language governing permissions and", - "limitations under the License." - ], - "result": [] +{ + "copyright": [ + "Copyright (c) 2025 Huawei Device Co., Ltd.", + "Licensed under the Apache License, Version 2.0 (the 'License');", + "you may not use this file except in compliance with the License.", + "You may obtain a copy of the License at", + "", + "http://www.apache.org/licenses/LICENSE-2.0", + "", + "Unless required by applicable law or agreed to in writing, software", + "distributed under the License is distributed on an 'AS IS' BASIS,", + "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.", + "See the License for the specific language governing permissions and", + "limitations under the License." + ], + "result": [ + { + "line": 19, + "column": 67, + "endLine": 19, + "endColumn": 68, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 804, + "end": 805, + "replacementText": "1.0", + "line": 19, + "column": 67, + "endLine": 19, + "endColumn": 68 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + } + ] } \ No newline at end of file diff --git a/ets2panda/linter/test/main/entry_annotation_test10_2.ets.migrate.ets b/ets2panda/linter/test/main/entry_annotation_test10_2.ets.migrate.ets index b6345be4c3..c7f8f3c02e 100644 --- a/ets2panda/linter/test/main/entry_annotation_test10_2.ets.migrate.ets +++ b/ets2panda/linter/test/main/entry_annotation_test10_2.ets.migrate.ets @@ -1,26 +1,26 @@ -/* - * Copyright (c) 2025 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { Entry, Component, Text, LocalStorage } from '@ohos.arkui.components'; -import { getLocalStorage } from './storage-manager'; - -const __get_local_storage__ = (): LocalStorage => getLocalStorage(1); -@Entry({storage: "__get_local_storage__"}) -@Component -struct MyPage { - build() { - Text("Hello World") - } +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { Entry, Component, Text, LocalStorage } from '@ohos.arkui.components'; +import { getLocalStorage } from './storage-manager'; + +const __get_local_storage__ = (): LocalStorage => getLocalStorage(1.0); +@Entry({storage: "__get_local_storage__"}) +@Component +struct MyPage { + build() { + Text("Hello World") + } } \ No newline at end of file diff --git a/ets2panda/linter/test/main/enum_not_support_float.ets.arkts2.json b/ets2panda/linter/test/main/enum_not_support_float.ets.arkts2.json index d4ffa9eb19..ff258d6c12 100644 --- a/ets2panda/linter/test/main/enum_not_support_float.ets.arkts2.json +++ b/ets2panda/linter/test/main/enum_not_support_float.ets.arkts2.json @@ -34,6 +34,46 @@ "rule": "Enumeration members can be initialized only with compile time expressions of the same type (arkts-no-enum-mixed-types)", "severity": "ERROR" }, + { + "line": 39, + "column": 10, + "endLine": 39, + "endColumn": 11, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 39, + "column": 15, + "endLine": 39, + "endColumn": 16, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 40, + "column": 11, + "endLine": 40, + "endColumn": 12, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 40, + "column": 16, + "endLine": 40, + "endColumn": 17, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 44, "column": 7, @@ -44,6 +84,16 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 44, + "column": 18, + "endLine": 44, + "endColumn": 20, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 45, "column": 5, @@ -54,6 +104,16 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 45, + "column": 14, + "endLine": 45, + "endColumn": 16, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 49, "column": 3, @@ -73,6 +133,26 @@ "suggest": "", "rule": "Enumeration members can be initialized only with compile time expressions of the same type (arkts-no-enum-mixed-types)", "severity": "ERROR" + }, + { + "line": 54, + "column": 7, + "endLine": 54, + "endColumn": 8, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 54, + "column": 12, + "endLine": 54, + "endColumn": 13, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" } ] } \ No newline at end of file diff --git a/ets2panda/linter/test/main/equals_token_option.ets.arkts2.json b/ets2panda/linter/test/main/equals_token_option.ets.arkts2.json index 7100f9b797..d63680f149 100755 --- a/ets2panda/linter/test/main/equals_token_option.ets.arkts2.json +++ b/ets2panda/linter/test/main/equals_token_option.ets.arkts2.json @@ -24,6 +24,16 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 15, + "column": 8, + "endLine": 15, + "endColumn": 9, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 16, "column": 3, @@ -34,6 +44,16 @@ "rule": "Operator is not support (arkts-unsupport-operator)", "severity": "ERROR" }, + { + "line": 16, + "column": 6, + "endLine": 16, + "endColumn": 7, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 17, "column": 3, @@ -44,6 +64,16 @@ "rule": "Operator is not support (arkts-unsupport-operator)", "severity": "ERROR" }, + { + "line": 17, + "column": 6, + "endLine": 17, + "endColumn": 7, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 18, "column": 3, @@ -54,6 +84,16 @@ "rule": "Operator is not support (arkts-unsupport-operator)", "severity": "ERROR" }, + { + "line": 18, + "column": 6, + "endLine": 18, + "endColumn": 7, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 19, "column": 12, @@ -64,6 +104,16 @@ "rule": "Operator is not support (arkts-unsupport-operator)", "severity": "ERROR" }, + { + "line": 19, + "column": 15, + "endLine": 19, + "endColumn": 16, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 20, "column": 14, @@ -74,6 +124,16 @@ "rule": "Object literal must correspond to some explicitly declared class or interface (arkts-no-untyped-obj-literals)", "severity": "ERROR" }, + { + "line": 20, + "column": 36, + "endLine": 20, + "endColumn": 38, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 23, "column": 14, @@ -84,6 +144,26 @@ "rule": "Operator is not support (arkts-unsupport-operator)", "severity": "ERROR" }, + { + "line": 23, + "column": 20, + "endLine": 23, + "endColumn": 21, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 25, + "column": 14, + "endLine": 25, + "endColumn": 15, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 26, "column": 12, @@ -94,6 +174,16 @@ "rule": "Operator is not support (arkts-unsupport-operator)", "severity": "ERROR" }, + { + "line": 26, + "column": 16, + "endLine": 26, + "endColumn": 17, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 29, "column": 7, @@ -104,6 +194,26 @@ "rule": "Operator is not support (arkts-unsupport-operator)", "severity": "ERROR" }, + { + "line": 29, + "column": 11, + "endLine": 29, + "endColumn": 13, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 31, + "column": 9, + "endLine": 31, + "endColumn": 10, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 32, "column": 7, @@ -114,6 +224,16 @@ "rule": "Operator is not support (arkts-unsupport-operator)", "severity": "ERROR" }, + { + "line": 32, + "column": 11, + "endLine": 32, + "endColumn": 12, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 33, "column": 20, @@ -124,6 +244,16 @@ "rule": "Operator is not support (arkts-unsupport-operator)", "severity": "ERROR" }, + { + "line": 33, + "column": 24, + "endLine": 33, + "endColumn": 25, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 34, "column": 1, @@ -144,6 +274,16 @@ "rule": "Operator is not support (arkts-unsupport-operator)", "severity": "ERROR" }, + { + "line": 35, + "column": 21, + "endLine": 35, + "endColumn": 22, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 39, "column": 9, diff --git a/ets2panda/linter/test/main/es_object.ets.arkts2.json b/ets2panda/linter/test/main/es_object.ets.arkts2.json index 68eef9e72d..2715fd8f5c 100644 --- a/ets2panda/linter/test/main/es_object.ets.arkts2.json +++ b/ets2panda/linter/test/main/es_object.ets.arkts2.json @@ -374,6 +374,16 @@ "rule": "Object literal must correspond to some explicitly declared class or interface (arkts-no-untyped-obj-literals)", "severity": "ERROR" }, + { + "line": 61, + "column": 16, + "endLine": 61, + "endColumn": 18, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 64, "column": 18, @@ -454,6 +464,16 @@ "rule": "Usage of 'ESObject' type is restricted (arkts-limited-esobj)", "severity": "ERROR" }, + { + "line": 77, + "column": 12, + "endLine": 77, + "endColumn": 14, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 78, "column": 5, @@ -474,6 +494,16 @@ "rule": "Usage of 'ESObject' type is restricted (arkts-limited-esobj)", "severity": "ERROR" }, + { + "line": 79, + "column": 14, + "endLine": 79, + "endColumn": 16, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 80, "column": 5, @@ -484,6 +514,16 @@ "rule": "Usage of 'ESObject' type is restricted (arkts-limited-esobj)", "severity": "ERROR" }, + { + "line": 80, + "column": 8, + "endLine": 80, + "endColumn": 10, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 82, "column": 5, @@ -514,6 +554,26 @@ "rule": "Usage of 'ESObject' type is restricted (arkts-limited-esobj)", "severity": "ERROR" }, + { + "line": 85, + "column": 11, + "endLine": 85, + "endColumn": 12, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 85, + "column": 14, + "endLine": 85, + "endColumn": 15, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 86, "column": 5, @@ -574,6 +634,26 @@ "rule": "Usage of 'ESObject' type is restricted (arkts-limited-esobj)", "severity": "ERROR" }, + { + "line": 93, + "column": 26, + "endLine": 93, + "endColumn": 27, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 93, + "column": 29, + "endLine": 93, + "endColumn": 30, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 94, "column": 9, @@ -724,6 +804,26 @@ "rule": "Usage of 'ESObject' type is restricted (arkts-limited-esobj)", "severity": "ERROR" }, + { + "line": 127, + "column": 6, + "endLine": 127, + "endColumn": 7, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 128, + "column": 6, + "endLine": 128, + "endColumn": 7, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 136, "column": 25, @@ -744,6 +844,46 @@ "rule": "Usage of 'ESObject' type is restricted (arkts-limited-esobj)", "severity": "ERROR" }, + { + "line": 144, + "column": 7, + "endLine": 144, + "endColumn": 8, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 144, + "column": 10, + "endLine": 144, + "endColumn": 11, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 145, + "column": 7, + "endLine": 145, + "endColumn": 8, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 145, + "column": 10, + "endLine": 145, + "endColumn": 11, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 148, "column": 5, @@ -864,6 +1004,16 @@ "rule": "Object literal must correspond to some explicitly declared class or interface (arkts-no-untyped-obj-literals)", "severity": "ERROR" }, + { + "line": 176, + "column": 23, + "endLine": 176, + "endColumn": 24, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 177, "column": 5, @@ -874,6 +1024,16 @@ "rule": "Usage of 'ESObject' type is restricted (arkts-limited-esobj)", "severity": "ERROR" }, + { + "line": 177, + "column": 20, + "endLine": 177, + "endColumn": 21, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 178, "column": 5, @@ -914,6 +1074,16 @@ "rule": "Usage of 'ESObject' type is restricted (arkts-limited-esobj)", "severity": "ERROR" }, + { + "line": 182, + "column": 24, + "endLine": 182, + "endColumn": 25, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 183, "column": 9, diff --git a/ets2panda/linter/test/main/explicit_function_type.ets.arkts2.json b/ets2panda/linter/test/main/explicit_function_type.ets.arkts2.json index 1d761807b3..6c7ca94b92 100755 --- a/ets2panda/linter/test/main/explicit_function_type.ets.arkts2.json +++ b/ets2panda/linter/test/main/explicit_function_type.ets.arkts2.json @@ -1,19 +1,19 @@ { - "copyright": [ - "Copyright (c) 2024-2025 Huawei Device Co., Ltd.", - "Licensed under the Apache License, Version 2.0 (the 'License');", - "you may not use this file except in compliance with the License.", - "You may obtain a copy of the License at", - "", - "http://www.apache.org/licenses/LICENSE-2.0", - "", - "Unless required by applicable law or agreed to in writing, software", - "distributed under the License is distributed on an 'AS IS' BASIS,", - "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.", - "See the License for the specific language governing permissions and", - "limitations under the License." - ], - "result": [ + "copyright": [ + "Copyright (c) 2024-2025 Huawei Device Co., Ltd.", + "Licensed under the Apache License, Version 2.0 (the 'License');", + "you may not use this file except in compliance with the License.", + "You may obtain a copy of the License at", + "", + "http://www.apache.org/licenses/LICENSE-2.0", + "", + "Unless required by applicable law or agreed to in writing, software", + "distributed under the License is distributed on an 'AS IS' BASIS,", + "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.", + "See the License for the specific language governing permissions and", + "limitations under the License." + ], + "result": [ { "line": 16, "column": 20, @@ -34,6 +34,26 @@ "rule": "Use arrow functions instead of function expressions (arkts-no-func-expressions)", "severity": "ERROR" }, + { + "line": 21, + "column": 29, + "endLine": 21, + "endColumn": 30, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 29, + "column": 27, + "endLine": 29, + "endColumn": 29, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 57, "column": 3, @@ -64,6 +84,16 @@ "rule": "Classes cannot be used as objects (arkts-no-classes-as-obj)", "severity": "ERROR" }, + { + "line": 93, + "column": 11, + "endLine": 93, + "endColumn": 12, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 118, "column": 16, @@ -74,6 +104,36 @@ "rule": "Classes cannot be used as objects (arkts-no-classes-as-obj)", "severity": "ERROR" }, + { + "line": 118, + "column": 26, + "endLine": 118, + "endColumn": 27, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 118, + "column": 29, + "endLine": 118, + "endColumn": 30, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 118, + "column": 32, + "endLine": 118, + "endColumn": 33, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 121, "column": 3, @@ -114,6 +174,16 @@ "rule": "Literal types are restricted(arkts-limited-literal-types)", "severity": "ERROR" }, + { + "line": 128, + "column": 31, + "endLine": 128, + "endColumn": 32, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 128, "column": 33, @@ -134,6 +204,16 @@ "rule": "Literal types are restricted(arkts-limited-literal-types)", "severity": "ERROR" }, + { + "line": 128, + "column": 80, + "endLine": 128, + "endColumn": 81, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 132, "column": 3, @@ -154,6 +234,16 @@ "rule": "The function type should be explicit (arkts-no-ts-like-function-call)", "severity": "ERROR" }, + { + "line": 142, + "column": 41, + "endLine": 142, + "endColumn": 42, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 150, "column": 16, diff --git a/ets2panda/linter/test/main/explicit_function_type.ets.autofix.json b/ets2panda/linter/test/main/explicit_function_type.ets.autofix.json index 5f69b7bd51..6f0f0a0481 100644 --- a/ets2panda/linter/test/main/explicit_function_type.ets.autofix.json +++ b/ets2panda/linter/test/main/explicit_function_type.ets.autofix.json @@ -1,17 +1,17 @@ { "copyright": [ - "Copyright (c) 2025 Huawei Device Co., Ltd.", - "Licensed under the Apache License, Version 2.0 (the 'License');", - "you may not use this file except in compliance with the License.", - "You may obtain a copy of the License at", - "", - "http://www.apache.org/licenses/LICENSE-2.0", - "", - "Unless required by applicable law or agreed to in writing, software", - "distributed under the License is distributed on an 'AS IS' BASIS,", - "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.", - "See the License for the specific language governing permissions and", - "limitations under the License." + "Copyright (c) 2025 Huawei Device Co., Ltd.", + "Licensed under the Apache License, Version 2.0 (the 'License');", + "you may not use this file except in compliance with the License.", + "You may obtain a copy of the License at", + "", + "http://www.apache.org/licenses/LICENSE-2.0", + "", + "Unless required by applicable law or agreed to in writing, software", + "distributed under the License is distributed on an 'AS IS' BASIS,", + "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.", + "See the License for the specific language governing permissions and", + "limitations under the License." ], "result": [ { @@ -24,7 +24,11 @@ { "start": 668, "end": 681, - "replacementText": "() => { }" + "replacementText": "() => { }", + "line": 16, + "column": 20, + "endLine": 16, + "endColumn": 33 } ], "suggest": "", @@ -41,13 +45,59 @@ { "start": 760, "end": 773, - "replacementText": "() => { }" + "replacementText": "() => { }", + "line": 18, + "column": 10, + "endLine": 18, + "endColumn": 23 } ], "suggest": "", "rule": "Use arrow functions instead of function expressions (arkts-no-func-expressions)", "severity": "ERROR" }, + { + "line": 21, + "column": 29, + "endLine": 21, + "endColumn": 30, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 881, + "end": 882, + "replacementText": "1.0", + "line": 21, + "column": 29, + "endLine": 21, + "endColumn": 30 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 29, + "column": 27, + "endLine": 29, + "endColumn": 29, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1047, + "end": 1049, + "replacementText": "42.0", + "line": 29, + "column": 27, + "endLine": 29, + "endColumn": 29 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 57, "column": 3, @@ -58,7 +108,11 @@ { "replacementText": "fn.unSafeCall", "start": 1572, - "end": 1574 + "end": 1574, + "line": 57, + "column": 3, + "endLine": 57, + "endColumn": 5 } ], "suggest": "", @@ -85,6 +139,27 @@ "rule": "Classes cannot be used as objects (arkts-no-classes-as-obj)", "severity": "ERROR" }, + { + "line": 93, + "column": 11, + "endLine": 93, + "endColumn": 12, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 2073, + "end": 2074, + "replacementText": "2.0", + "line": 93, + "column": 11, + "endLine": 93, + "endColumn": 12 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 118, "column": 16, @@ -95,6 +170,69 @@ "rule": "Classes cannot be used as objects (arkts-no-classes-as-obj)", "severity": "ERROR" }, + { + "line": 118, + "column": 26, + "endLine": 118, + "endColumn": 27, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 2550, + "end": 2551, + "replacementText": "1.0", + "line": 118, + "column": 26, + "endLine": 118, + "endColumn": 27 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 118, + "column": 29, + "endLine": 118, + "endColumn": 30, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 2553, + "end": 2554, + "replacementText": "2.0", + "line": 118, + "column": 29, + "endLine": 118, + "endColumn": 30 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 118, + "column": 32, + "endLine": 118, + "endColumn": 33, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 2556, + "end": 2557, + "replacementText": "3.0", + "line": 118, + "column": 32, + "endLine": 118, + "endColumn": 33 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 121, "column": 3, @@ -135,6 +273,27 @@ "rule": "Literal types are restricted(arkts-limited-literal-types)", "severity": "ERROR" }, + { + "line": 128, + "column": 31, + "endLine": 128, + "endColumn": 32, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 2719, + "end": 2720, + "replacementText": "1.0", + "line": 128, + "column": 31, + "endLine": 128, + "endColumn": 32 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 128, "column": 33, @@ -155,6 +314,27 @@ "rule": "Literal types are restricted(arkts-limited-literal-types)", "severity": "ERROR" }, + { + "line": 128, + "column": 80, + "endLine": 128, + "endColumn": 81, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 2768, + "end": 2769, + "replacementText": "1.0", + "line": 128, + "column": 80, + "endLine": 128, + "endColumn": 81 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 132, "column": 3, @@ -175,13 +355,38 @@ { "replacementText": "callback.unSafeCall", "start": 2921, - "end": 2929 + "end": 2929, + "line": 139, + "column": 3, + "endLine": 139, + "endColumn": 11 } ], "suggest": "", "rule": "The function type should be explicit (arkts-no-ts-like-function-call)", "severity": "ERROR" }, + { + "line": 142, + "column": 41, + "endLine": 142, + "endColumn": 42, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 2995, + "end": 2996, + "replacementText": "1.0", + "line": 142, + "column": 41, + "endLine": 142, + "endColumn": 42 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 150, "column": 16, @@ -222,7 +427,11 @@ { "replacementText": "curr.unSafeCall", "start": 3458, - "end": 3462 + "end": 3462, + "line": 160, + "column": 62, + "endLine": 160, + "endColumn": 66 } ], "suggest": "", @@ -239,7 +448,11 @@ { "replacementText": "prev.unSafeCall", "start": 3463, - "end": 3467 + "end": 3467, + "line": 160, + "column": 67, + "endLine": 160, + "endColumn": 71 } ], "suggest": "", @@ -256,7 +469,11 @@ { "replacementText": "f1.unSafeCall", "start": 3586, - "end": 3588 + "end": 3588, + "line": 166, + "column": 1, + "endLine": 166, + "endColumn": 3 } ], "suggest": "", @@ -273,7 +490,11 @@ { "replacementText": "ab3.fn3.unSafeCall", "start": 3656, - "end": 3663 + "end": 3663, + "line": 172, + "column": 1, + "endLine": 172, + "endColumn": 8 } ], "suggest": "", @@ -290,7 +511,11 @@ { "replacementText": "fn29[1].unSafeCall", "start": 3697, - "end": 3704 + "end": 3704, + "line": 175, + "column": 1, + "endLine": 175, + "endColumn": 8 } ], "suggest": "", diff --git a/ets2panda/linter/test/main/explicit_function_type.ets.migrate.ets b/ets2panda/linter/test/main/explicit_function_type.ets.migrate.ets index e5584d49c7..0a5b1a221f 100644 --- a/ets2panda/linter/test/main/explicit_function_type.ets.migrate.ets +++ b/ets2panda/linter/test/main/explicit_function_type.ets.migrate.ets @@ -18,7 +18,7 @@ let h1: Function = new Function('return 42'); // NOT OK let g2 = () => { }; // OK let h2 = new Function('return 42'); // NOT OK let j1 = () => {}; // OK -let f2 = (x: number) => x + 1; // OK +let f2 = (x: number) => x + 1.0; // OK type F = () => R; @@ -26,7 +26,7 @@ type F1 = (p: P) => R; type F2 = (p1: P1, p2: P2) => R; let f3: F = () => {}; // OK -let g3: F = () => 42; // OK +let g3: F = () => 42.0; // OK let h3: F1 = (s: string) => s.length; // OK let i: F2 = (n: number, s: string) => s.length > n; // OK @@ -90,7 +90,7 @@ class I25 { } class I25_1 extends I25 { constructor() { - super(2) + super(2.0) } override foo3(fn: Function): void { @@ -115,7 +115,7 @@ function foo33(par1: number, par2: boolean, par3: string, par4: [string, Array x + 1; +let fn43: Function = (x: number) => x + 1.0; function process43(input: number): Function { if (typeof input === "string") return fn43; if (typeof input === "number") return fn43; diff --git a/ets2panda/linter/test/main/explicit_function_type.ets.migrate.json b/ets2panda/linter/test/main/explicit_function_type.ets.migrate.json index 8b449e6619..ca5758bca2 100644 --- a/ets2panda/linter/test/main/explicit_function_type.ets.migrate.json +++ b/ets2panda/linter/test/main/explicit_function_type.ets.migrate.json @@ -78,7 +78,7 @@ "line": 128, "column": 31, "endLine": 128, - "endColumn": 32, + "endColumn": 34, "problem": "LimitedLiteralType", "suggest": "", "rule": "Literal types are restricted(arkts-limited-literal-types)", @@ -86,9 +86,9 @@ }, { "line": 128, - "column": 33, + "column": 35, "endLine": 128, - "endColumn": 37, + "endColumn": 39, "problem": "LimitedLiteralType", "suggest": "", "rule": "Literal types are restricted(arkts-limited-literal-types)", @@ -96,9 +96,9 @@ }, { "line": 128, - "column": 39, + "column": 41, "endLine": 128, - "endColumn": 44, + "endColumn": 46, "problem": "LimitedLiteralType", "suggest": "", "rule": "Literal types are restricted(arkts-limited-literal-types)", diff --git a/ets2panda/linter/test/main/exponent.ets.arkts2.json b/ets2panda/linter/test/main/exponent.ets.arkts2.json index 642e7e5dcb..5f36685a32 100644 --- a/ets2panda/linter/test/main/exponent.ets.arkts2.json +++ b/ets2panda/linter/test/main/exponent.ets.arkts2.json @@ -34,6 +34,26 @@ "rule": "function \"Math.pow()\" behavior for ArkTS differs from Typescript version (arkts-math-pow-standard-diff)", "severity": "ERROR" }, + { + "line": 16, + "column": 19, + "endLine": 16, + "endColumn": 20, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 16, + "column": 22, + "endLine": 16, + "endColumn": 23, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 19, "column": 5, @@ -44,6 +64,16 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 19, + "column": 9, + "endLine": 19, + "endColumn": 10, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 19, "column": 11, @@ -54,6 +84,16 @@ "rule": "exponent opartions \"**\" and \"**=\" are disabled (arkts-no-exponent-op)", "severity": "ERROR" }, + { + "line": 19, + "column": 14, + "endLine": 19, + "endColumn": 15, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 22, "column": 3, @@ -64,6 +104,16 @@ "rule": "exponent opartions \"**\" and \"**=\" are disabled (arkts-no-exponent-op)", "severity": "ERROR" }, + { + "line": 22, + "column": 7, + "endLine": 22, + "endColumn": 8, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 25, "column": 5, @@ -73,6 +123,16 @@ "suggest": "", "rule": "function \"Math.pow()\" behavior for ArkTS differs from Typescript version (arkts-math-pow-standard-diff)", "severity": "ERROR" + }, + { + "line": 25, + "column": 15, + "endLine": 25, + "endColumn": 16, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" } ] } \ No newline at end of file diff --git a/ets2panda/linter/test/main/exponent.ets.autofix.json b/ets2panda/linter/test/main/exponent.ets.autofix.json index ba7b666489..ee4e3b4662 100644 --- a/ets2panda/linter/test/main/exponent.ets.autofix.json +++ b/ets2panda/linter/test/main/exponent.ets.autofix.json @@ -24,7 +24,11 @@ { "start": 609, "end": 628, - "replacementText": "kk: number = Math.pow(6, 3)" + "replacementText": "kk: number = Math.pow(6, 3)", + "line": 16, + "column": 5, + "endLine": 16, + "endColumn": 24 } ], "suggest": "", @@ -41,6 +45,48 @@ "rule": "function \"Math.pow()\" behavior for ArkTS differs from Typescript version (arkts-math-pow-standard-diff)", "severity": "ERROR" }, + { + "line": 16, + "column": 19, + "endLine": 16, + "endColumn": 20, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 623, + "end": 624, + "replacementText": "6.0", + "line": 16, + "column": 19, + "endLine": 16, + "endColumn": 20 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 16, + "column": 22, + "endLine": 16, + "endColumn": 23, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 626, + "end": 627, + "replacementText": "3.0", + "line": 16, + "column": 22, + "endLine": 16, + "endColumn": 23 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 19, "column": 5, @@ -51,7 +97,32 @@ { "start": 652, "end": 662, - "replacementText": "k: number = 5 ** 2" + "replacementText": "k: number = 5 ** 2", + "line": 19, + "column": 5, + "endLine": 19, + "endColumn": 15 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 19, + "column": 9, + "endLine": 19, + "endColumn": 10, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 656, + "end": 657, + "replacementText": "5.0", + "line": 19, + "column": 9, + "endLine": 19, + "endColumn": 10 } ], "suggest": "", @@ -68,13 +139,38 @@ { "replacementText": "Math.pow(5, 2)", "start": 656, - "end": 662 + "end": 662, + "line": 19, + "column": 11, + "endLine": 19, + "endColumn": 13 } ], "suggest": "", "rule": "exponent opartions \"**\" and \"**=\" are disabled (arkts-no-exponent-op)", "severity": "ERROR" }, + { + "line": 19, + "column": 14, + "endLine": 19, + "endColumn": 15, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 661, + "end": 662, + "replacementText": "2.0", + "line": 19, + "column": 14, + "endLine": 19, + "endColumn": 15 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 22, "column": 3, @@ -85,13 +181,38 @@ { "replacementText": "k = Math.pow(k, 2)", "start": 681, - "end": 688 + "end": 688, + "line": 22, + "column": 3, + "endLine": 22, + "endColumn": 6 } ], "suggest": "", "rule": "exponent opartions \"**\" and \"**=\" are disabled (arkts-no-exponent-op)", "severity": "ERROR" }, + { + "line": 22, + "column": 7, + "endLine": 22, + "endColumn": 8, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 687, + "end": 688, + "replacementText": "2.0", + "line": 22, + "column": 7, + "endLine": 22, + "endColumn": 8 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 25, "column": 5, @@ -101,6 +222,27 @@ "suggest": "", "rule": "function \"Math.pow()\" behavior for ArkTS differs from Typescript version (arkts-math-pow-standard-diff)", "severity": "ERROR" + }, + { + "line": 25, + "column": 15, + "endLine": 25, + "endColumn": 16, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 721, + "end": 722, + "replacementText": "1.0", + "line": 25, + "column": 15, + "endLine": 25, + "endColumn": 16 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" } ] } \ No newline at end of file diff --git a/ets2panda/linter/test/main/exponent.ets.migrate.ets b/ets2panda/linter/test/main/exponent.ets.migrate.ets index 056294b864..b4124ce72d 100644 --- a/ets2panda/linter/test/main/exponent.ets.migrate.ets +++ b/ets2panda/linter/test/main/exponent.ets.migrate.ets @@ -13,14 +13,14 @@ * limitations under the License. */ -let kk: number = Math.pow(6, 3); +let kk: number = Math.pow(6.0, 3.0); console.log(kk); -let k: number = Math.pow(5, 2); +let k: number = Math.pow(5.0, 2.0); console.log(k); -k = Math.pow(k, 2); +k = Math.pow(k, 2.0); console.log(k); -k = Math.pow(-1, Infinity); +k = Math.pow(-1.0, Infinity); console.log(k); diff --git a/ets2panda/linter/test/main/exponent.ets.migrate.json b/ets2panda/linter/test/main/exponent.ets.migrate.json index daeb5bf97a..c4a7f4ec82 100644 --- a/ets2panda/linter/test/main/exponent.ets.migrate.json +++ b/ets2panda/linter/test/main/exponent.ets.migrate.json @@ -18,7 +18,7 @@ "line": 16, "column": 18, "endLine": 16, - "endColumn": 32, + "endColumn": 36, "problem": "MathPow", "suggest": "", "rule": "function \"Math.pow()\" behavior for ArkTS differs from Typescript version (arkts-math-pow-standard-diff)", @@ -28,7 +28,7 @@ "line": 19, "column": 17, "endLine": 19, - "endColumn": 31, + "endColumn": 35, "problem": "MathPow", "suggest": "", "rule": "function \"Math.pow()\" behavior for ArkTS differs from Typescript version (arkts-math-pow-standard-diff)", @@ -38,7 +38,7 @@ "line": 22, "column": 5, "endLine": 22, - "endColumn": 19, + "endColumn": 21, "problem": "MathPow", "suggest": "", "rule": "function \"Math.pow()\" behavior for ArkTS differs from Typescript version (arkts-math-pow-standard-diff)", @@ -48,7 +48,7 @@ "line": 25, "column": 5, "endLine": 25, - "endColumn": 27, + "endColumn": 29, "problem": "MathPow", "suggest": "", "rule": "function \"Math.pow()\" behavior for ArkTS differs from Typescript version (arkts-math-pow-standard-diff)", diff --git a/ets2panda/linter/test/main/extend_decorator_1.ets.arkts2.json b/ets2panda/linter/test/main/extend_decorator_1.ets.arkts2.json index cbeedf0b66..d35d9872c4 100644 --- a/ets2panda/linter/test/main/extend_decorator_1.ets.arkts2.json +++ b/ets2panda/linter/test/main/extend_decorator_1.ets.arkts2.json @@ -1,17 +1,17 @@ { "copyright": [ - "Copyright (c) 2025 Huawei Device Co., Ltd.", - "Licensed under the Apache License, Version 2.0 (the 'License');", - "you may not use this file except in compliance with the License.", - "You may obtain a copy of the License at", - "", - "http://www.apache.org/licenses/LICENSE-2.0", - "", - "Unless required by applicable law or agreed to in writing, software", - "distributed under the License is distributed on an 'AS IS' BASIS,", - "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.", - "See the License for the specific language governing permissions and", - "limitations under the License." + "Copyright (c) 2025 Huawei Device Co., Ltd.", + "Licensed under the Apache License, Version 2.0 (the 'License');", + "you may not use this file except in compliance with the License.", + "You may obtain a copy of the License at", + "", + "http://www.apache.org/licenses/LICENSE-2.0", + "", + "Unless required by applicable law or agreed to in writing, software", + "distributed under the License is distributed on an 'AS IS' BASIS,", + "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.", + "See the License for the specific language governing permissions and", + "limitations under the License." ], "result": [ { @@ -24,6 +24,46 @@ "rule": "\"@Extend\" decorator is not supported (arkui-no-extend-decorator)", "severity": "ERROR" }, + { + "line": 36, + "column": 17, + "endLine": 36, + "endColumn": 18, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 37, + "column": 12, + "endLine": 37, + "endColumn": 13, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 39, + "column": 8, + "endLine": 39, + "endColumn": 9, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 40, + "column": 8, + "endLine": 40, + "endColumn": 9, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 44, "column": 1, @@ -34,6 +74,16 @@ "rule": "\"@Extend\" decorator is not supported (arkui-no-extend-decorator)", "severity": "ERROR" }, + { + "line": 48, + "column": 12, + "endLine": 48, + "endColumn": 14, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 16, "column": 2, diff --git a/ets2panda/linter/test/main/extend_decorator_1.ets.autofix.json b/ets2panda/linter/test/main/extend_decorator_1.ets.autofix.json index 4c4123dea8..6f96180e67 100644 --- a/ets2panda/linter/test/main/extend_decorator_1.ets.autofix.json +++ b/ets2panda/linter/test/main/extend_decorator_1.ets.autofix.json @@ -24,13 +24,101 @@ { "start": 743, "end": 1018, - "replacementText": "function cardStyle(this: ColumnAttribute): this {\n this.backgroundColor(\"#ffff00\");\n this.backgroundColor(\"#00ffff\");\n this.backgroundColor(\"#ff00ff\");\n this.backgroundColor(mycolor);\n this.backgroundColor(Color.Red);\n this.borderRadius(8);\n this.padding(8);\n this.backgroundImagePosition({\n x: 0,\n y: 0\n });\n return this;\n}" + "replacementText": "function cardStyle(this: ColumnAttribute): this {\n this.backgroundColor(\"#ffff00\");\n this.backgroundColor(\"#00ffff\");\n this.backgroundColor(\"#ff00ff\");\n this.backgroundColor(mycolor);\n this.backgroundColor(Color.Red);\n this.borderRadius(8);\n this.padding(8);\n this.backgroundImagePosition({\n x: 0,\n y: 0\n });\n return this;\n}", + "line": 28, + "column": 1, + "endLine": 42, + "endColumn": 2 } ], "suggest": "", "rule": "\"@Extend\" decorator is not supported (arkui-no-extend-decorator)", "severity": "ERROR" }, + { + "line": 36, + "column": 17, + "endLine": 36, + "endColumn": 18, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 946, + "end": 947, + "replacementText": "8.0", + "line": 36, + "column": 17, + "endLine": 36, + "endColumn": 18 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 37, + "column": 12, + "endLine": 37, + "endColumn": 13, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 960, + "end": 961, + "replacementText": "8.0", + "line": 37, + "column": 12, + "endLine": 37, + "endColumn": 13 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 39, + "column": 8, + "endLine": 39, + "endColumn": 9, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 999, + "end": 1000, + "replacementText": "0.0", + "line": 39, + "column": 8, + "endLine": 39, + "endColumn": 9 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 40, + "column": 8, + "endLine": 40, + "endColumn": 9, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1009, + "end": 1010, + "replacementText": "0.0", + "line": 40, + "column": 8, + "endLine": 40, + "endColumn": 9 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 44, "column": 1, @@ -41,13 +129,38 @@ { "start": 1020, "end": 1105, - "replacementText": "function superCard(this: ColumnAttribute, padding: number): this {\n this.cardStyle();\n this.padding(10);\n return this;\n}" + "replacementText": "function superCard(this: ColumnAttribute, padding: number): this {\n this.cardStyle();\n this.padding(10);\n return this;\n}", + "line": 44, + "column": 1, + "endLine": 49, + "endColumn": 2 } ], "suggest": "", "rule": "\"@Extend\" decorator is not supported (arkui-no-extend-decorator)", "severity": "ERROR" }, + { + "line": 48, + "column": 12, + "endLine": 48, + "endColumn": 14, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1100, + "end": 1102, + "replacementText": "10.0", + "line": 48, + "column": 12, + "endLine": 48, + "endColumn": 14 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 16, "column": 2, @@ -58,7 +171,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, Column, Text, ColumnAttribute, Color } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, Column, Text, ColumnAttribute, Color } from '@kit.ArkUI';", + "line": 35, + "column": 20, + "endLine": 35, + "endColumn": 25 } ], "suggest": "", @@ -75,7 +192,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, Column, Text, ColumnAttribute, Color } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, Column, Text, ColumnAttribute, Color } from '@kit.ArkUI';", + "line": 35, + "column": 20, + "endLine": 35, + "endColumn": 25 } ], "suggest": "", @@ -92,7 +213,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, Column, Text, ColumnAttribute, Color } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, Column, Text, ColumnAttribute, Color } from '@kit.ArkUI';", + "line": 35, + "column": 20, + "endLine": 35, + "endColumn": 25 } ], "suggest": "", @@ -109,7 +234,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, Column, Text, ColumnAttribute, Color } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, Column, Text, ColumnAttribute, Color } from '@kit.ArkUI';", + "line": 35, + "column": 20, + "endLine": 35, + "endColumn": 25 } ], "suggest": "", diff --git a/ets2panda/linter/test/main/extend_decorator_1.ets.migrate.ets b/ets2panda/linter/test/main/extend_decorator_1.ets.migrate.ets index 829d53b38a..da62cffcb5 100644 --- a/ets2panda/linter/test/main/extend_decorator_1.ets.migrate.ets +++ b/ets2panda/linter/test/main/extend_decorator_1.ets.migrate.ets @@ -33,17 +33,17 @@ function cardStyle(this: ColumnAttribute): this { this.backgroundColor("#ff00ff"); this.backgroundColor(mycolor); this.backgroundColor(Color.Red); - this.borderRadius(8); - this.padding(8); + this.borderRadius(8.0); + this.padding(8.0); this.backgroundImagePosition({ - x: 0, - y: 0 + x: 0.0, + y: 0.0 }); return this; } function superCard(this: ColumnAttribute, padding: number): this { this.cardStyle(); - this.padding(10); + this.padding(10.0); return this; } \ No newline at end of file diff --git a/ets2panda/linter/test/main/extend_decorator_2.ets.arkts2.json b/ets2panda/linter/test/main/extend_decorator_2.ets.arkts2.json index 47db15dc39..4ba965df1a 100644 --- a/ets2panda/linter/test/main/extend_decorator_2.ets.arkts2.json +++ b/ets2panda/linter/test/main/extend_decorator_2.ets.arkts2.json @@ -1,17 +1,17 @@ { "copyright": [ - "Copyright (c) 2025 Huawei Device Co., Ltd.", - "Licensed under the Apache License, Version 2.0 (the 'License');", - "you may not use this file except in compliance with the License.", - "You may obtain a copy of the License at", - "", - "http://www.apache.org/licenses/LICENSE-2.0", - "", - "Unless required by applicable law or agreed to in writing, software", - "distributed under the License is distributed on an 'AS IS' BASIS,", - "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.", - "See the License for the specific language governing permissions and", - "limitations under the License." + "Copyright (c) 2025 Huawei Device Co., Ltd.", + "Licensed under the Apache License, Version 2.0 (the 'License');", + "you may not use this file except in compliance with the License.", + "You may obtain a copy of the License at", + "", + "http://www.apache.org/licenses/LICENSE-2.0", + "", + "Unless required by applicable law or agreed to in writing, software", + "distributed under the License is distributed on an 'AS IS' BASIS,", + "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.", + "See the License for the specific language governing permissions and", + "limitations under the License." ], "result": [ { @@ -124,6 +124,46 @@ "rule": "Type notation using \"this\" is not supported (arkts-no-typing-with-this)", "severity": "ERROR" }, + { + "line": 36, + "column": 21, + "endLine": 36, + "endColumn": 22, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 37, + "column": 16, + "endLine": 37, + "endColumn": 17, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 39, + "column": 8, + "endLine": 39, + "endColumn": 9, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 40, + "column": 8, + "endLine": 40, + "endColumn": 9, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 45, "column": 20, @@ -143,6 +183,16 @@ "suggest": "", "rule": "Type notation using \"this\" is not supported (arkts-no-typing-with-this)", "severity": "ERROR" + }, + { + "line": 47, + "column": 12, + "endLine": 47, + "endColumn": 14, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" } ] } \ No newline at end of file diff --git a/ets2panda/linter/test/main/extend_decorator_2.ets.autofix.json b/ets2panda/linter/test/main/extend_decorator_2.ets.autofix.json index 47db15dc39..80d063967a 100644 --- a/ets2panda/linter/test/main/extend_decorator_2.ets.autofix.json +++ b/ets2panda/linter/test/main/extend_decorator_2.ets.autofix.json @@ -1,17 +1,17 @@ { "copyright": [ - "Copyright (c) 2025 Huawei Device Co., Ltd.", - "Licensed under the Apache License, Version 2.0 (the 'License');", - "you may not use this file except in compliance with the License.", - "You may obtain a copy of the License at", - "", - "http://www.apache.org/licenses/LICENSE-2.0", - "", - "Unless required by applicable law or agreed to in writing, software", - "distributed under the License is distributed on an 'AS IS' BASIS,", - "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.", - "See the License for the specific language governing permissions and", - "limitations under the License." + "Copyright (c) 2025 Huawei Device Co., Ltd.", + "Licensed under the Apache License, Version 2.0 (the 'License');", + "you may not use this file except in compliance with the License.", + "You may obtain a copy of the License at", + "", + "http://www.apache.org/licenses/LICENSE-2.0", + "", + "Unless required by applicable law or agreed to in writing, software", + "distributed under the License is distributed on an 'AS IS' BASIS,", + "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.", + "See the License for the specific language governing permissions and", + "limitations under the License." ], "result": [ { @@ -124,6 +124,90 @@ "rule": "Type notation using \"this\" is not supported (arkts-no-typing-with-this)", "severity": "ERROR" }, + { + "line": 36, + "column": 21, + "endLine": 36, + "endColumn": 22, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1065, + "end": 1066, + "replacementText": "8.0", + "line": 36, + "column": 21, + "endLine": 36, + "endColumn": 22 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 37, + "column": 16, + "endLine": 37, + "endColumn": 17, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1084, + "end": 1085, + "replacementText": "8.0", + "line": 37, + "column": 16, + "endLine": 37, + "endColumn": 17 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 39, + "column": 8, + "endLine": 39, + "endColumn": 9, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1128, + "end": 1129, + "replacementText": "0.0", + "line": 39, + "column": 8, + "endLine": 39, + "endColumn": 9 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 40, + "column": 8, + "endLine": 40, + "endColumn": 9, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1138, + "end": 1139, + "replacementText": "0.0", + "line": 40, + "column": 8, + "endLine": 40, + "endColumn": 9 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 45, "column": 20, @@ -143,6 +227,27 @@ "suggest": "", "rule": "Type notation using \"this\" is not supported (arkts-no-typing-with-this)", "severity": "ERROR" + }, + { + "line": 47, + "column": 12, + "endLine": 47, + "endColumn": 14, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1257, + "end": 1259, + "replacementText": "10.0", + "line": 47, + "column": 12, + "endLine": 47, + "endColumn": 14 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" } ] } \ No newline at end of file diff --git a/ets2panda/linter/test/main/extend_decorator_2.ets.migrate.ets b/ets2panda/linter/test/main/extend_decorator_2.ets.migrate.ets index c53497da05..009dc2d912 100644 --- a/ets2panda/linter/test/main/extend_decorator_2.ets.migrate.ets +++ b/ets2panda/linter/test/main/extend_decorator_2.ets.migrate.ets @@ -33,16 +33,16 @@ function cardStyle(this: ColumnAttribute): this { this.backgroundColor("#ff00ff"); this.backgroundColor(mycolor); this.backgroundColor(Color.Red); - this.borderRadius(8); - this.padding(8); + this.borderRadius(8.0); + this.padding(8.0); this.backgroundImagePosition({ - x: 0, - y: 0 + x: 0.0, + y: 0.0 }); return this; } function superCard(this: ColumnAttribute, padding: number): this { .cardStyle() - .padding(10) + .padding(10.0) } \ No newline at end of file diff --git a/ets2panda/linter/test/main/extends_expression.ets.arkts2.json b/ets2panda/linter/test/main/extends_expression.ets.arkts2.json index d157d2e206..789b06a0ff 100755 --- a/ets2panda/linter/test/main/extends_expression.ets.arkts2.json +++ b/ets2panda/linter/test/main/extends_expression.ets.arkts2.json @@ -13,116 +13,146 @@ "See the License for the specific language governing permissions and", "limitations under the License." ], - "result": [ - { - "line": 21, - "column": 9, - "endLine": 21, - "endColumn": 10, - "problem": "ClassAsObjectError", - "suggest": "", - "rule": "Classes cannot be used as objects (arkts-no-classes-as-obj)", - "severity": "ERROR" - }, - { - "line": 23, - "column": 17, - "endLine": 23, - "endColumn": 18, - "problem": "ExtendsExpression", - "suggest": "", - "rule": "Extends or implements expression are not supported(arkts-no-extends-expression)", - "severity": "ERROR" - }, - { - "line": 31, - "column": 37, - "endLine": 31, - "endColumn": 44, - "problem": "InterfaceExtendsClass", - "suggest": "", - "rule": "Interfaces cannot extend classes (arkts-extends-only-class)", - "severity": "ERROR" - }, - { - "line": 47, - "column": 5, - "endLine": 47, - "endColumn": 10, - "problem": "AnyType", - "suggest": "", - "rule": "Use explicit types instead of \"any\", \"unknown\" (arkts-no-any-unknown)", - "severity": "ERROR" - }, - { - "line": 58, - "column": 22, - "endLine": 58, - "endColumn": 23, - "problem": "ObjectTypeLiteral", - "suggest": "", - "rule": "Object literals cannot be used as type declarations (arkts-no-obj-literals-as-types)", - "severity": "ERROR" - }, - { - "line": 58, - "column": 24, - "endLine": 58, - "endColumn": 32, - "problem": "ConstructorType", - "suggest": "", - "rule": "Use \"class\" instead of a type with constructor signature (arkts-no-ctor-signatures-type)", - "severity": "ERROR" - }, - { - "line": 61, - "column": 10, - "endLine": 61, - "endColumn": 22, - "problem": "LimitedReturnTypeInference", - "suggest": "", - "rule": "Function return type inference is limited (arkts-no-implicit-return-types)", - "severity": "ERROR" - }, - { - "line": 73, - "column": 12, - "endLine": 73, - "endColumn": 13, - "problem": "ClassAsObjectError", - "suggest": "", - "rule": "Classes cannot be used as objects (arkts-no-classes-as-obj)", - "severity": "ERROR" - }, - { - "line": 75, - "column": 12, - "endLine": 75, - "endColumn": 13, - "problem": "ClassAsObjectError", - "suggest": "", - "rule": "Classes cannot be used as objects (arkts-no-classes-as-obj)", - "severity": "ERROR" - }, - { - "line": 79, - "column": 20, - "endLine": 79, - "endColumn": 39, - "problem": "ExtendsExpression", - "suggest": "", - "rule": "Extends or implements expression are not supported(arkts-no-extends-expression)", - "severity": "ERROR" - }, - { - "line": 85, - "column": 21, - "endLine": 85, - "endColumn": 39, - "problem": "ExtendsExpression", - "suggest": "", - "rule": "Extends or implements expression are not supported(arkts-no-extends-expression)", - "severity": "ERROR" - } - ] -} + "result": [ + { + "line": 18, + "column": 15, + "endLine": 18, + "endColumn": 16, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 21, + "column": 9, + "endLine": 21, + "endColumn": 10, + "problem": "ClassAsObjectError", + "suggest": "", + "rule": "Classes cannot be used as objects (arkts-no-classes-as-obj)", + "severity": "ERROR" + }, + { + "line": 23, + "column": 17, + "endLine": 23, + "endColumn": 18, + "problem": "ExtendsExpression", + "suggest": "", + "rule": "Extends or implements expression are not supported(arkts-no-extends-expression)", + "severity": "ERROR" + }, + { + "line": 24, + "column": 15, + "endLine": 24, + "endColumn": 16, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 28, + "column": 21, + "endLine": 28, + "endColumn": 22, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 31, + "column": 37, + "endLine": 31, + "endColumn": 44, + "problem": "InterfaceExtendsClass", + "suggest": "", + "rule": "Interfaces cannot extend classes (arkts-extends-only-class)", + "severity": "ERROR" + }, + { + "line": 47, + "column": 5, + "endLine": 47, + "endColumn": 10, + "problem": "AnyType", + "suggest": "", + "rule": "Use explicit types instead of \"any\", \"unknown\" (arkts-no-any-unknown)", + "severity": "ERROR" + }, + { + "line": 58, + "column": 22, + "endLine": 58, + "endColumn": 23, + "problem": "ObjectTypeLiteral", + "suggest": "", + "rule": "Object literals cannot be used as type declarations (arkts-no-obj-literals-as-types)", + "severity": "ERROR" + }, + { + "line": 58, + "column": 24, + "endLine": 58, + "endColumn": 32, + "problem": "ConstructorType", + "suggest": "", + "rule": "Use \"class\" instead of a type with constructor signature (arkts-no-ctor-signatures-type)", + "severity": "ERROR" + }, + { + "line": 61, + "column": 10, + "endLine": 61, + "endColumn": 22, + "problem": "LimitedReturnTypeInference", + "suggest": "", + "rule": "Function return type inference is limited (arkts-no-implicit-return-types)", + "severity": "ERROR" + }, + { + "line": 73, + "column": 12, + "endLine": 73, + "endColumn": 13, + "problem": "ClassAsObjectError", + "suggest": "", + "rule": "Classes cannot be used as objects (arkts-no-classes-as-obj)", + "severity": "ERROR" + }, + { + "line": 75, + "column": 12, + "endLine": 75, + "endColumn": 13, + "problem": "ClassAsObjectError", + "suggest": "", + "rule": "Classes cannot be used as objects (arkts-no-classes-as-obj)", + "severity": "ERROR" + }, + { + "line": 79, + "column": 20, + "endLine": 79, + "endColumn": 39, + "problem": "ExtendsExpression", + "suggest": "", + "rule": "Extends or implements expression are not supported(arkts-no-extends-expression)", + "severity": "ERROR" + }, + { + "line": 85, + "column": 21, + "endLine": 85, + "endColumn": 39, + "problem": "ExtendsExpression", + "suggest": "", + "rule": "Extends or implements expression are not supported(arkts-no-extends-expression)", + "severity": "ERROR" + } + ] +} \ No newline at end of file diff --git a/ets2panda/linter/test/main/func_inferred_type_args.ets.arkts2.json b/ets2panda/linter/test/main/func_inferred_type_args.ets.arkts2.json index 50329c6a63..acb0daf114 100755 --- a/ets2panda/linter/test/main/func_inferred_type_args.ets.arkts2.json +++ b/ets2panda/linter/test/main/func_inferred_type_args.ets.arkts2.json @@ -1,6 +1,6 @@ { "copyright": [ - "Copyright (c) 2023-2025 Huawei Device Co., Ltd.", + "Copyright (c) 2023-2025 Huawei Device Co., Ltd.", "Licensed under the Apache License, Version 2.0 (the 'License');", "you may not use this file except in compliance with the License.", "You may obtain a copy of the License at", @@ -24,6 +24,26 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 31, + "column": 16, + "endLine": 31, + "endColumn": 18, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 31, + "column": 20, + "endLine": 31, + "endColumn": 22, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 36, "column": 5, @@ -64,6 +84,16 @@ "rule": "Use explicit types instead of \"any\", \"unknown\" (arkts-no-any-unknown)", "severity": "ERROR" }, + { + "line": 39, + "column": 10, + "endLine": 39, + "endColumn": 11, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 41, "column": 1, @@ -94,16 +124,6 @@ "rule": "Type inference in case of generic function calls is limited (arkts-no-inferred-generic-params)", "severity": "ERROR" }, - { - "line": 53, - "column": 1, - "endLine": 53, - "endColumn": 31, - "problem": "NumericSemantics", - "suggest": "", - "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", - "severity": "ERROR" - }, { "line": 56, "column": 8, @@ -134,6 +154,26 @@ "rule": "Object literal must correspond to some explicitly declared class or interface (arkts-no-untyped-obj-literals)", "severity": "ERROR" }, + { + "line": 59, + "column": 12, + "endLine": 59, + "endColumn": 13, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 59, + "column": 18, + "endLine": 59, + "endColumn": 19, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 61, "column": 5, @@ -254,6 +294,16 @@ "rule": "Object literals cannot be used as type declarations (arkts-no-obj-literals-as-types)", "severity": "ERROR" }, + { + "line": 78, + "column": 37, + "endLine": 78, + "endColumn": 38, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 79, "column": 11, @@ -264,6 +314,26 @@ "rule": "Use explicit types instead of \"any\", \"unknown\" (arkts-no-any-unknown)", "severity": "ERROR" }, + { + "line": 79, + "column": 27, + "endLine": 79, + "endColumn": 29, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 79, + "column": 31, + "endLine": 79, + "endColumn": 33, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 89, "column": 5, diff --git a/ets2panda/linter/test/main/global_this.ets.arkts2.json b/ets2panda/linter/test/main/global_this.ets.arkts2.json index 34bcda6b2d..447570a136 100644 --- a/ets2panda/linter/test/main/global_this.ets.arkts2.json +++ b/ets2panda/linter/test/main/global_this.ets.arkts2.json @@ -64,6 +64,16 @@ "rule": "\"globalThis\" is not supported (arkts-no-globalthis)", "severity": "ERROR" }, + { + "line": 28, + "column": 18, + "endLine": 28, + "endColumn": 21, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 30, "column": 7, @@ -103,6 +113,16 @@ "suggest": "", "rule": "\"globalThis\" is not supported (arkts-no-globalthis)", "severity": "ERROR" + }, + { + "line": 34, + "column": 18, + "endLine": 34, + "endColumn": 21, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" } ] } \ No newline at end of file diff --git a/ets2panda/linter/test/main/global_this.ets.autofix.json b/ets2panda/linter/test/main/global_this.ets.autofix.json index 5d8cc4d2de..95eda816e5 100755 --- a/ets2panda/linter/test/main/global_this.ets.autofix.json +++ b/ets2panda/linter/test/main/global_this.ets.autofix.json @@ -24,7 +24,11 @@ { "start": 616, "end": 627, - "replacementText": "pi: number = 3.1416" + "replacementText": "pi: number = 3.1416", + "line": 16, + "column": 7, + "endLine": 16, + "endColumn": 18 } ], "suggest": "", @@ -51,7 +55,11 @@ { "start": 700, "end": 713, - "replacementText": "specialAutofixLib.globalThis.get(\"pi\")" + "replacementText": "specialAutofixLib.globalThis.get(\"pi\")", + "line": 21, + "column": 10, + "endLine": 21, + "endColumn": 23 } ], "suggest": "", @@ -78,13 +86,38 @@ { "start": 779, "end": 799, - "replacementText": "specialAutofixLib.globalThis.set(\"abc\", 200)" + "replacementText": "specialAutofixLib.globalThis.set(\"abc\", 200)", + "line": 28, + "column": 1, + "endLine": 28, + "endColumn": 21 } ], "suggest": "", "rule": "\"globalThis\" is not supported (arkts-no-globalthis)", "severity": "ERROR" }, + { + "line": 28, + "column": 18, + "endLine": 28, + "endColumn": 21, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 796, + "end": 799, + "replacementText": "200.0", + "line": 28, + "column": 18, + "endLine": 28, + "endColumn": 21 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 30, "column": 7, @@ -105,7 +138,11 @@ { "start": 816, "end": 830, - "replacementText": "specialAutofixLib.globalThis.get(\"obj\")" + "replacementText": "specialAutofixLib.globalThis.get(\"obj\")", + "line": 30, + "column": 15, + "endLine": 30, + "endColumn": 29 } ], "suggest": "", @@ -132,12 +169,37 @@ { "start": 845, "end": 864, - "replacementText": "specialAutofixLib.globalThis.get(\"property\")" + "replacementText": "specialAutofixLib.globalThis.get(\"property\")", + "line": 32, + "column": 8, + "endLine": 32, + "endColumn": 27 } ], "suggest": "", "rule": "\"globalThis\" is not supported (arkts-no-globalthis)", "severity": "ERROR" + }, + { + "line": 34, + "column": 18, + "endLine": 34, + "endColumn": 21, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 884, + "end": 887, + "replacementText": "100.0", + "line": 34, + "column": 18, + "endLine": 34, + "endColumn": 21 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" } ] } \ No newline at end of file diff --git a/ets2panda/linter/test/main/global_this.ets.migrate.ets b/ets2panda/linter/test/main/global_this.ets.migrate.ets index d1fb5d519f..aaafd6ebd1 100644 --- a/ets2panda/linter/test/main/global_this.ets.migrate.ets +++ b/ets2panda/linter/test/main/global_this.ets.migrate.ets @@ -25,13 +25,13 @@ function foo(x: any): void { console.log(x.pi); } -specialAutofixLib.globalThis.set("abc", 200); +specialAutofixLib.globalThis.set("abc", 200.0); const value = specialAutofixLib.globalThis.get("obj").prop; delete specialAutofixLib.globalThis.get("property"); -globalThisprop = 100; +globalThisprop = 100.0; specialAutofixLib.globalThis.get("pi"); diff --git a/ets2panda/linter/test/main/incompatible_function.ets.arkts2.json b/ets2panda/linter/test/main/incompatible_function.ets.arkts2.json index 5fe3227547..da908095d3 100644 --- a/ets2panda/linter/test/main/incompatible_function.ets.arkts2.json +++ b/ets2panda/linter/test/main/incompatible_function.ets.arkts2.json @@ -24,6 +24,26 @@ "rule": "Stricter assignments into variables of function type (arkts-incompatible-function-types)", "severity": "ERROR" }, + { + "line": 19, + "column": 12, + "endLine": 19, + "endColumn": 13, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 24, + "column": 16, + "endLine": 24, + "endColumn": 17, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 28, "column": 8, @@ -34,6 +54,36 @@ "rule": "Stricter assignments into variables of function type (arkts-incompatible-function-types)", "severity": "ERROR" }, + { + "line": 29, + "column": 12, + "endLine": 29, + "endColumn": 13, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 34, + "column": 16, + "endLine": 34, + "endColumn": 17, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 39, + "column": 12, + "endLine": 39, + "endColumn": 13, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 42, "column": 7, @@ -44,6 +94,16 @@ "rule": "Stricter assignments into variables of function type (arkts-incompatible-function-types)", "severity": "ERROR" }, + { + "line": 51, + "column": 12, + "endLine": 51, + "endColumn": 13, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 56, "column": 23, @@ -54,6 +114,16 @@ "rule": "Stricter assignments into variables of function type (arkts-incompatible-function-types)", "severity": "ERROR" }, + { + "line": 57, + "column": 12, + "endLine": 57, + "endColumn": 13, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 60, "column": 8, @@ -64,6 +134,26 @@ "rule": "Stricter assignments into variables of function type (arkts-incompatible-function-types)", "severity": "ERROR" }, + { + "line": 61, + "column": 12, + "endLine": 61, + "endColumn": 13, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 64, + "column": 59, + "endLine": 64, + "endColumn": 60, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 66, "column": 38, @@ -74,6 +164,26 @@ "rule": "Stricter assignments into variables of function type (arkts-incompatible-function-types)", "severity": "ERROR" }, + { + "line": 67, + "column": 12, + "endLine": 67, + "endColumn": 13, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 75, + "column": 12, + "endLine": 75, + "endColumn": 13, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 80, "column": 35, @@ -83,6 +193,16 @@ "suggest": "", "rule": "Stricter assignments into variables of function type (arkts-incompatible-function-types)", "severity": "ERROR" + }, + { + "line": 81, + "column": 12, + "endLine": 81, + "endColumn": 13, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" } ] -} +} \ No newline at end of file diff --git a/ets2panda/linter/test/main/index_negative.ets.arkts2.json b/ets2panda/linter/test/main/index_negative.ets.arkts2.json index f74d810960..d1daebd5f8 100755 --- a/ets2panda/linter/test/main/index_negative.ets.arkts2.json +++ b/ets2panda/linter/test/main/index_negative.ets.arkts2.json @@ -24,6 +24,36 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 16, + "column": 17, + "endLine": 16, + "endColumn": 18, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 16, + "column": 19, + "endLine": 16, + "endColumn": 20, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 16, + "column": 21, + "endLine": 16, + "endColumn": 22, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 17, "column": 5, @@ -84,6 +114,36 @@ "rule": "The index expression must be of a numeric type (arkts-array-index-expr-type)", "severity": "ERROR" }, + { + "line": 24, + "column": 18, + "endLine": 24, + "endColumn": 20, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 27, + "column": 30, + "endLine": 27, + "endColumn": 31, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 27, + "column": 33, + "endLine": 27, + "endColumn": 34, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 28, "column": 9, @@ -104,6 +164,16 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 33, + "column": 11, + "endLine": 33, + "endColumn": 12, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 37, "column": 1, @@ -144,6 +214,16 @@ "rule": "The index expression must be of a numeric type (arkts-array-index-expr-type)", "severity": "ERROR" }, + { + "line": 41, + "column": 20, + "endLine": 41, + "endColumn": 21, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 42, "column": 1, @@ -514,6 +594,16 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 74, + "column": 12, + "endLine": 74, + "endColumn": 13, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 75, "column": 7, @@ -524,6 +614,16 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 75, + "column": 13, + "endLine": 75, + "endColumn": 14, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 76, "column": 7, @@ -534,6 +634,16 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 76, + "column": 13, + "endLine": 76, + "endColumn": 14, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 77, "column": 7, @@ -544,6 +654,26 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 77, + "column": 13, + "endLine": 77, + "endColumn": 14, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 77, + "column": 15, + "endLine": 77, + "endColumn": 16, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 78, "column": 7, @@ -554,6 +684,16 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 78, + "column": 13, + "endLine": 78, + "endColumn": 14, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 79, "column": 7, @@ -564,6 +704,26 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 79, + "column": 13, + "endLine": 79, + "endColumn": 14, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 79, + "column": 15, + "endLine": 79, + "endColumn": 16, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 80, "column": 5, @@ -664,6 +824,16 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 86, + "column": 15, + "endLine": 86, + "endColumn": 16, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 87, "column": 1, @@ -784,6 +954,16 @@ "rule": "The index expression must be of a numeric type (arkts-array-index-expr-type)", "severity": "ERROR" }, + { + "line": 94, + "column": 11, + "endLine": 94, + "endColumn": 12, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 96, "column": 11, @@ -814,6 +994,16 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 98, + "column": 14, + "endLine": 98, + "endColumn": 15, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 99, "column": 1, @@ -855,4 +1045,4 @@ "severity": "ERROR" } ] -} +} \ No newline at end of file diff --git a/ets2panda/linter/test/main/interface_import_1.ets.arkts2.json b/ets2panda/linter/test/main/interface_import_1.ets.arkts2.json index 87714d54f8..953e84542d 100644 --- a/ets2panda/linter/test/main/interface_import_1.ets.arkts2.json +++ b/ets2panda/linter/test/main/interface_import_1.ets.arkts2.json @@ -1,19 +1,39 @@ { "copyright": [ - "Copyright (c) 2025 Huawei Device Co., Ltd.", - "Licensed under the Apache License, Version 2.0 (the 'License');", - "you may not use this file except in compliance with the License.", - "You may obtain a copy of the License at", - "", - "http://www.apache.org/licenses/LICENSE-2.0", - "", - "Unless required by applicable law or agreed to in writing, software", - "distributed under the License is distributed on an 'AS IS' BASIS,", - "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.", - "See the License for the specific language governing permissions and", - "limitations under the License." + "Copyright (c) 2025 Huawei Device Co., Ltd.", + "Licensed under the Apache License, Version 2.0 (the 'License');", + "you may not use this file except in compliance with the License.", + "You may obtain a copy of the License at", + "", + "http://www.apache.org/licenses/LICENSE-2.0", + "", + "Unless required by applicable law or agreed to in writing, software", + "distributed under the License is distributed on an 'AS IS' BASIS,", + "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.", + "See the License for the specific language governing permissions and", + "limitations under the License." ], "result": [ + { + "line": 21, + "column": 24, + "endLine": 21, + "endColumn": 25, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 51, + "column": 26, + "endLine": 51, + "endColumn": 27, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 60, "column": 1, @@ -34,6 +54,16 @@ "rule": "\"@AnimatableExtend\" decorator should be transformed to use receiver (arkui-animatableextend-use-receiver)", "severity": "ERROR" }, + { + "line": 73, + "column": 26, + "endLine": 73, + "endColumn": 27, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 78, "column": 16, diff --git a/ets2panda/linter/test/main/interface_import_1.ets.autofix.json b/ets2panda/linter/test/main/interface_import_1.ets.autofix.json index 513f949766..deacf76eb3 100644 --- a/ets2panda/linter/test/main/interface_import_1.ets.autofix.json +++ b/ets2panda/linter/test/main/interface_import_1.ets.autofix.json @@ -14,6 +14,48 @@ "limitations under the License." ], "result": [ + { + "line": 21, + "column": 24, + "endLine": 21, + "endColumn": 25, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 698, + "end": 699, + "replacementText": "0.0", + "line": 21, + "column": 24, + "endLine": 21, + "endColumn": 25 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 51, + "column": 26, + "endLine": 51, + "endColumn": 27, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1041, + "end": 1042, + "replacementText": "0.0", + "line": 51, + "column": 26, + "endLine": 51, + "endColumn": 27 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 60, "column": 1, @@ -24,7 +66,11 @@ { "start": 1099, "end": 1169, - "replacementText": "function cardStyle(this: TextAttribute): this {\n this.backgroundColor(Color.Green);\n return this;\n}" + "replacementText": "function cardStyle(this: TextAttribute): this {\n this.backgroundColor(Color.Green);\n return this;\n}", + "line": 60, + "column": 1, + "endLine": 64, + "endColumn": 2 } ], "suggest": "", @@ -41,13 +87,38 @@ { "start": 1171, "end": 1256, - "replacementText": "@AnimatableExtend\nfunction animatableWidth(this: ColumnAttribute, width: number): this {\n this.width(width);\n return this;\n}" + "replacementText": "@AnimatableExtend\nfunction animatableWidth(this: ColumnAttribute, width: number): this {\n this.width(width);\n return this;\n}", + "line": 66, + "column": 1, + "endLine": 69, + "endColumn": 2 } ], "suggest": "", "rule": "\"@AnimatableExtend\" decorator should be transformed to use receiver (arkui-animatableextend-use-receiver)", "severity": "ERROR" }, + { + "line": 73, + "column": 26, + "endLine": 73, + "endColumn": 27, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1316, + "end": 1317, + "replacementText": "0.0", + "line": 73, + "column": 26, + "endLine": 73, + "endColumn": 27 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 78, "column": 16, @@ -58,7 +129,11 @@ { "start": 1374, "end": 1386, - "replacementText": "$$(this.value)" + "replacementText": "$$(this.value)", + "line": 78, + "column": 16, + "endLine": 78, + "endColumn": 28 } ], "suggest": "", @@ -75,7 +150,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Entry, Component, State, Column, Button, Text, Row, TextAttribute, ColumnAttribute, AnimatableExtend, $$, ImageFit } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Entry, Component, State, Column, Button, Text, Row, TextAttribute, ColumnAttribute, AnimatableExtend, $$, ImageFit } from '@kit.ArkUI';", + "line": 86, + "column": 36, + "endLine": 86, + "endColumn": 44 } ], "suggest": "", @@ -92,7 +171,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Entry, Component, State, Column, Button, Text, Row, TextAttribute, ColumnAttribute, AnimatableExtend, $$, ImageFit } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Entry, Component, State, Column, Button, Text, Row, TextAttribute, ColumnAttribute, AnimatableExtend, $$, ImageFit } from '@kit.ArkUI';", + "line": 86, + "column": 36, + "endLine": 86, + "endColumn": 44 } ], "suggest": "", @@ -109,7 +192,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Entry, Component, State, Column, Button, Text, Row, TextAttribute, ColumnAttribute, AnimatableExtend, $$, ImageFit } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Entry, Component, State, Column, Button, Text, Row, TextAttribute, ColumnAttribute, AnimatableExtend, $$, ImageFit } from '@kit.ArkUI';", + "line": 86, + "column": 36, + "endLine": 86, + "endColumn": 44 } ], "suggest": "", @@ -126,7 +213,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Entry, Component, State, Column, Button, Text, Row, TextAttribute, ColumnAttribute, AnimatableExtend, $$, ImageFit } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Entry, Component, State, Column, Button, Text, Row, TextAttribute, ColumnAttribute, AnimatableExtend, $$, ImageFit } from '@kit.ArkUI';", + "line": 86, + "column": 36, + "endLine": 86, + "endColumn": 44 } ], "suggest": "", @@ -143,7 +234,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Entry, Component, State, Column, Button, Text, Row, TextAttribute, ColumnAttribute, AnimatableExtend, $$, ImageFit } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Entry, Component, State, Column, Button, Text, Row, TextAttribute, ColumnAttribute, AnimatableExtend, $$, ImageFit } from '@kit.ArkUI';", + "line": 86, + "column": 36, + "endLine": 86, + "endColumn": 44 } ], "suggest": "", @@ -160,7 +255,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Entry, Component, State, Column, Button, Text, Row, TextAttribute, ColumnAttribute, AnimatableExtend, $$, ImageFit } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Entry, Component, State, Column, Button, Text, Row, TextAttribute, ColumnAttribute, AnimatableExtend, $$, ImageFit } from '@kit.ArkUI';", + "line": 86, + "column": 36, + "endLine": 86, + "endColumn": 44 } ], "suggest": "", @@ -177,7 +276,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Entry, Component, State, Column, Button, Text, Row, TextAttribute, ColumnAttribute, AnimatableExtend, $$, ImageFit } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Entry, Component, State, Column, Button, Text, Row, TextAttribute, ColumnAttribute, AnimatableExtend, $$, ImageFit } from '@kit.ArkUI';", + "line": 86, + "column": 36, + "endLine": 86, + "endColumn": 44 } ], "suggest": "", @@ -194,7 +297,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Entry, Component, State, Column, Button, Text, Row, TextAttribute, ColumnAttribute, AnimatableExtend, $$, ImageFit } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Entry, Component, State, Column, Button, Text, Row, TextAttribute, ColumnAttribute, AnimatableExtend, $$, ImageFit } from '@kit.ArkUI';", + "line": 86, + "column": 36, + "endLine": 86, + "endColumn": 44 } ], "suggest": "", @@ -211,7 +318,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Entry, Component, State, Column, Button, Text, Row, TextAttribute, ColumnAttribute, AnimatableExtend, $$, ImageFit } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Entry, Component, State, Column, Button, Text, Row, TextAttribute, ColumnAttribute, AnimatableExtend, $$, ImageFit } from '@kit.ArkUI';", + "line": 86, + "column": 36, + "endLine": 86, + "endColumn": 44 } ], "suggest": "", @@ -228,7 +339,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Entry, Component, State, Column, Button, Text, Row, TextAttribute, ColumnAttribute, AnimatableExtend, $$, ImageFit } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Entry, Component, State, Column, Button, Text, Row, TextAttribute, ColumnAttribute, AnimatableExtend, $$, ImageFit } from '@kit.ArkUI';", + "line": 86, + "column": 36, + "endLine": 86, + "endColumn": 44 } ], "suggest": "", @@ -245,7 +360,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Entry, Component, State, Column, Button, Text, Row, TextAttribute, ColumnAttribute, AnimatableExtend, $$, ImageFit } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Entry, Component, State, Column, Button, Text, Row, TextAttribute, ColumnAttribute, AnimatableExtend, $$, ImageFit } from '@kit.ArkUI';", + "line": 86, + "column": 36, + "endLine": 86, + "endColumn": 44 } ], "suggest": "", @@ -262,7 +381,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Entry, Component, State, Column, Button, Text, Row, TextAttribute, ColumnAttribute, AnimatableExtend, $$, ImageFit } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Entry, Component, State, Column, Button, Text, Row, TextAttribute, ColumnAttribute, AnimatableExtend, $$, ImageFit } from '@kit.ArkUI';", + "line": 86, + "column": 36, + "endLine": 86, + "endColumn": 44 } ], "suggest": "", @@ -279,7 +402,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Entry, Component, State, Column, Button, Text, Row, TextAttribute, ColumnAttribute, AnimatableExtend, $$, ImageFit } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Entry, Component, State, Column, Button, Text, Row, TextAttribute, ColumnAttribute, AnimatableExtend, $$, ImageFit } from '@kit.ArkUI';", + "line": 86, + "column": 36, + "endLine": 86, + "endColumn": 44 } ], "suggest": "", @@ -296,7 +423,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Entry, Component, State, Column, Button, Text, Row, TextAttribute, ColumnAttribute, AnimatableExtend, $$, ImageFit } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Entry, Component, State, Column, Button, Text, Row, TextAttribute, ColumnAttribute, AnimatableExtend, $$, ImageFit } from '@kit.ArkUI';", + "line": 86, + "column": 36, + "endLine": 86, + "endColumn": 44 } ], "suggest": "", @@ -313,7 +444,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Entry, Component, State, Column, Button, Text, Row, TextAttribute, ColumnAttribute, AnimatableExtend, $$, ImageFit } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Entry, Component, State, Column, Button, Text, Row, TextAttribute, ColumnAttribute, AnimatableExtend, $$, ImageFit } from '@kit.ArkUI';", + "line": 86, + "column": 36, + "endLine": 86, + "endColumn": 44 } ], "suggest": "", diff --git a/ets2panda/linter/test/main/interface_import_1.ets.migrate.ets b/ets2panda/linter/test/main/interface_import_1.ets.migrate.ets index 231baa7371..97155fd1a2 100644 --- a/ets2panda/linter/test/main/interface_import_1.ets.migrate.ets +++ b/ets2panda/linter/test/main/interface_import_1.ets.migrate.ets @@ -20,7 +20,7 @@ import { Slider } from '@kit.ArkUI'; @Entry @Component struct Test { - @State num: number = 0 + @State num: number = 0.0 @State a: MyClassA = new MyClassA() build() { @@ -50,7 +50,7 @@ function Circle() { @Component struct MyComponent1 { - @State count: number = 0; + @State count: number = 0.0; build() { Row() { @@ -72,7 +72,7 @@ function animatableWidth(this: ColumnAttribute, width: number): this { @Component struct MyComponent2 { - @State value: number = 0; + @State value: number = 0.0; build() { Row() { diff --git a/ets2panda/linter/test/main/interface_import_2.ets.arkts2.json b/ets2panda/linter/test/main/interface_import_2.ets.arkts2.json index 0d99665991..8a91069601 100644 --- a/ets2panda/linter/test/main/interface_import_2.ets.arkts2.json +++ b/ets2panda/linter/test/main/interface_import_2.ets.arkts2.json @@ -1,19 +1,39 @@ { "copyright": [ - "Copyright (c) 2025 Huawei Device Co., Ltd.", - "Licensed under the Apache License, Version 2.0 (the 'License');", - "you may not use this file except in compliance with the License.", - "You may obtain a copy of the License at", - "", - "http://www.apache.org/licenses/LICENSE-2.0", - "", - "Unless required by applicable law or agreed to in writing, software", - "distributed under the License is distributed on an 'AS IS' BASIS,", - "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.", - "See the License for the specific language governing permissions and", - "limitations under the License." + "Copyright (c) 2025 Huawei Device Co., Ltd.", + "Licensed under the Apache License, Version 2.0 (the 'License');", + "you may not use this file except in compliance with the License.", + "You may obtain a copy of the License at", + "", + "http://www.apache.org/licenses/LICENSE-2.0", + "", + "Unless required by applicable law or agreed to in writing, software", + "distributed under the License is distributed on an 'AS IS' BASIS,", + "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.", + "See the License for the specific language governing permissions and", + "limitations under the License." ], "result": [ + { + "line": 23, + "column": 24, + "endLine": 23, + "endColumn": 25, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 53, + "column": 26, + "endLine": 53, + "endColumn": 27, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 63, "column": 5, @@ -93,6 +113,16 @@ "suggest": "", "rule": "Type notation using \"this\" is not supported (arkts-no-typing-with-this)", "severity": "ERROR" + }, + { + "line": 75, + "column": 26, + "endLine": 75, + "endColumn": 27, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" } ] } \ No newline at end of file diff --git a/ets2panda/linter/test/main/interface_import_2.ets.autofix.json b/ets2panda/linter/test/main/interface_import_2.ets.autofix.json index 0d99665991..2a99eb2500 100644 --- a/ets2panda/linter/test/main/interface_import_2.ets.autofix.json +++ b/ets2panda/linter/test/main/interface_import_2.ets.autofix.json @@ -1,19 +1,61 @@ { "copyright": [ - "Copyright (c) 2025 Huawei Device Co., Ltd.", - "Licensed under the Apache License, Version 2.0 (the 'License');", - "you may not use this file except in compliance with the License.", - "You may obtain a copy of the License at", - "", - "http://www.apache.org/licenses/LICENSE-2.0", - "", - "Unless required by applicable law or agreed to in writing, software", - "distributed under the License is distributed on an 'AS IS' BASIS,", - "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.", - "See the License for the specific language governing permissions and", - "limitations under the License." + "Copyright (c) 2025 Huawei Device Co., Ltd.", + "Licensed under the Apache License, Version 2.0 (the 'License');", + "you may not use this file except in compliance with the License.", + "You may obtain a copy of the License at", + "", + "http://www.apache.org/licenses/LICENSE-2.0", + "", + "Unless required by applicable law or agreed to in writing, software", + "distributed under the License is distributed on an 'AS IS' BASIS,", + "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.", + "See the License for the specific language governing permissions and", + "limitations under the License." ], "result": [ + { + "line": 23, + "column": 24, + "endLine": 23, + "endColumn": 25, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 844, + "end": 845, + "replacementText": "0.0", + "line": 23, + "column": 24, + "endLine": 23, + "endColumn": 25 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 53, + "column": 26, + "endLine": 53, + "endColumn": 27, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1187, + "end": 1188, + "replacementText": "0.0", + "line": 53, + "column": 26, + "endLine": 53, + "endColumn": 27 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 63, "column": 5, @@ -93,6 +135,27 @@ "suggest": "", "rule": "Type notation using \"this\" is not supported (arkts-no-typing-with-this)", "severity": "ERROR" + }, + { + "line": 75, + "column": 26, + "endLine": 75, + "endColumn": 27, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1542, + "end": 1543, + "replacementText": "0.0", + "line": 75, + "column": 26, + "endLine": 75, + "endColumn": 27 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" } ] } \ No newline at end of file diff --git a/ets2panda/linter/test/main/interface_import_2.ets.migrate.ets b/ets2panda/linter/test/main/interface_import_2.ets.migrate.ets index 231baa7371..97155fd1a2 100644 --- a/ets2panda/linter/test/main/interface_import_2.ets.migrate.ets +++ b/ets2panda/linter/test/main/interface_import_2.ets.migrate.ets @@ -20,7 +20,7 @@ import { Slider } from '@kit.ArkUI'; @Entry @Component struct Test { - @State num: number = 0 + @State num: number = 0.0 @State a: MyClassA = new MyClassA() build() { @@ -50,7 +50,7 @@ function Circle() { @Component struct MyComponent1 { - @State count: number = 0; + @State count: number = 0.0; build() { Row() { @@ -72,7 +72,7 @@ function animatableWidth(this: ColumnAttribute, width: number): this { @Component struct MyComponent2 { - @State value: number = 0; + @State value: number = 0.0; build() { Row() { diff --git a/ets2panda/linter/test/main/invalid_identifier.ets.arkts2.json b/ets2panda/linter/test/main/invalid_identifier.ets.arkts2.json index 39bd99fe34..2999205f95 100644 --- a/ets2panda/linter/test/main/invalid_identifier.ets.arkts2.json +++ b/ets2panda/linter/test/main/invalid_identifier.ets.arkts2.json @@ -1,818 +1,918 @@ { - "copyright": [ - "Copyright (c) 2025 Huawei Device Co., Ltd.", - "Licensed under the Apache License, Version 2.0 (the 'License');", - "you may not use this file except in compliance with the License.", - "You may obtain a copy of the License at", - "", - "http://www.apache.org/licenses/LICENSE-2.0", - "", - "Unless required by applicable law or agreed to in writing, software", - "distributed under the License is distributed on an 'AS IS' BASIS,", - "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.", - "See the License for the specific language governing permissions and", - "limitations under the License." - ], - "result": [ - { - "line": 16, - "column": 10, - "endLine": 16, - "endColumn": 16, - "problem": "InvalidIdentifier", - "suggest": "", - "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", - "severity": "ERROR" - }, - { - "line": 18, - "column": 8, - "endLine": 18, - "endColumn": 16, - "problem": "InvalidIdentifier", - "suggest": "", - "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", - "severity": "ERROR" - }, - { - "line": 22, - "column": 7, - "endLine": 22, - "endColumn": 15, - "problem": "InvalidIdentifier", - "suggest": "", - "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", - "severity": "ERROR" - }, - { - "line": 24, - "column": 7, - "endLine": 24, - "endColumn": 13, - "problem": "InvalidIdentifier", - "suggest": "", - "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", - "severity": "ERROR" - }, - { - "line": 26, - "column": 7, - "endLine": 26, - "endColumn": 9, - "problem": "InvalidIdentifier", - "suggest": "", - "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", - "severity": "ERROR" - }, - { - "line": 30, - "column": 7, - "endLine": 30, - "endColumn": 13, - "problem": "InvalidIdentifier", - "suggest": "", - "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", - "severity": "ERROR" - }, - { - "line": 32, - "column": 13, - "endLine": 32, - "endColumn": 13, - "problem": "SwitchExpression", - "suggest": "", - "rule": "The switch expression type must be of type char, byte, short, int, long, string or enum (arkts-switch-expr)", - "severity": "ERROR" - }, - { - "line": 34, - "column": 7, - "endLine": 34, - "endColumn": 12, - "problem": "InvalidIdentifier", - "suggest": "", - "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", - "severity": "ERROR" - }, - { - "line": 36, - "column": 7, - "endLine": 36, - "endColumn": 10, - "problem": "InvalidIdentifier", - "suggest": "", - "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", - "severity": "ERROR" - }, - { - "line": 40, - "column": 7, - "endLine": 40, - "endColumn": 12, - "problem": "InvalidIdentifier", - "suggest": "", - "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", - "severity": "ERROR" - }, - { - "line": 42, - "column": 7, - "endLine": 42, - "endColumn": 13, - "problem": "InvalidIdentifier", - "suggest": "", - "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", - "severity": "ERROR" - }, - { - "line": 50, - "column": 10, - "endLine": 50, - "endColumn": 10, - "problem": "DynamicCtorCall", - "suggest": "", - "rule": "\"new\" expression with dynamic constructor type is not supported (arkts-no-dynamic-ctor-call)", - "severity": "ERROR" - }, - { - "line": 52, - "column": 7, - "endLine": 52, - "endColumn": 12, - "problem": "ThrowStatement", - "suggest": "", - "rule": "\"throw\" statements cannot accept values of arbitrary types (arkts-limited-throw)", - "severity": "ERROR" - }, - { - "line": 54, - "column": 7, - "endLine": 54, - "endColumn": 12, - "problem": "InvalidIdentifier", - "suggest": "", - "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", - "severity": "ERROR" - }, - { - "line": 64, - "column": 7, - "endLine": 64, - "endColumn": 15, - "problem": "InvalidIdentifier", - "suggest": "", - "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", - "severity": "ERROR" - }, - { - "line": 70, - "column": 7, - "endLine": 70, - "endColumn": 14, - "problem": "InvalidIdentifier", - "suggest": "", - "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", - "severity": "ERROR" - }, - { - "line": 72, - "column": 7, - "endLine": 72, - "endColumn": 16, - "problem": "InvalidIdentifier", - "suggest": "", - "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", - "severity": "ERROR" - }, - { - "line": 74, - "column": 7, - "endLine": 74, - "endColumn": 18, - "problem": "InvalidIdentifier", - "suggest": "", - "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", - "severity": "ERROR" - }, - { - "line": 78, - "column": 7, - "endLine": 78, - "endColumn": 14, - "problem": "InvalidIdentifier", - "suggest": "", - "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", - "severity": "ERROR" - }, - { - "line": 84, - "column": 7, - "endLine": 84, - "endColumn": 17, - "problem": "InvalidIdentifier", - "suggest": "", - "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", - "severity": "ERROR" - }, - { - "line": 86, - "column": 7, - "endLine": 86, - "endColumn": 16, - "problem": "InvalidIdentifier", - "suggest": "", - "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", - "severity": "ERROR" - }, - { - "line": 88, - "column": 7, - "endLine": 88, - "endColumn": 13, - "problem": "InvalidIdentifier", - "suggest": "", - "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", - "severity": "ERROR" - }, - { - "line": 92, - "column": 7, - "endLine": 92, - "endColumn": 16, - "problem": "InvalidIdentifier", - "suggest": "", - "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", - "severity": "ERROR" - }, - { - "line": 96, - "column": 7, - "endLine": 96, - "endColumn": 14, - "problem": "InvalidIdentifier", - "suggest": "", - "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", - "severity": "ERROR" - }, - { - "line": 98, - "column": 7, - "endLine": 98, - "endColumn": 13, - "problem": "InvalidIdentifier", - "suggest": "", - "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", - "severity": "ERROR" - }, - { - "line": 100, - "column": 7, - "endLine": 100, - "endColumn": 14, - "problem": "InvalidIdentifier", - "suggest": "", - "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", - "severity": "ERROR" - }, - { - "line": 102, - "column": 7, - "endLine": 102, - "endColumn": 13, - "problem": "InvalidIdentifier", - "suggest": "", - "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", - "severity": "ERROR" - }, - { - "line": 104, - "column": 7, - "endLine": 104, - "endColumn": 13, - "problem": "InvalidIdentifier", - "suggest": "", - "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", - "severity": "ERROR" - }, - { - "line": 106, - "column": 7, - "endLine": 106, - "endColumn": 11, - "problem": "InvalidIdentifier", - "suggest": "", - "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", - "severity": "ERROR" - }, - { - "line": 108, - "column": 7, - "endLine": 108, - "endColumn": 12, - "problem": "InvalidIdentifier", - "suggest": "", - "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", - "severity": "ERROR" - }, - { - "line": 110, - "column": 7, - "endLine": 110, - "endColumn": 13, - "problem": "InvalidIdentifier", - "suggest": "", - "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", - "severity": "ERROR" - }, - { - "line": 110, - "column": 24, - "endLine": 110, - "endColumn": 25, - "problem": "ObjectLiteralNoContextType", - "suggest": "", - "rule": "Object literal must correspond to some explicitly declared class or interface (arkts-no-untyped-obj-literals)", - "severity": "ERROR" - }, - { - "line": 112, - "column": 7, - "endLine": 112, - "endColumn": 11, - "problem": "InvalidIdentifier", - "suggest": "", - "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", - "severity": "ERROR" - }, - { - "line": 114, - "column": 7, - "endLine": 114, - "endColumn": 12, - "problem": "InvalidIdentifier", - "suggest": "", - "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", - "severity": "ERROR" - }, - { - "line": 116, - "column": 7, - "endLine": 116, - "endColumn": 13, - "problem": "InvalidIdentifier", - "suggest": "", - "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", - "severity": "ERROR" - }, - { - "line": 116, - "column": 24, - "endLine": 116, - "endColumn": 25, - "problem": "ObjectLiteralNoContextType", - "suggest": "", - "rule": "Object literal must correspond to some explicitly declared class or interface (arkts-no-untyped-obj-literals)", - "severity": "ERROR" - }, - { - "line": 118, - "column": 7, - "endLine": 118, - "endColumn": 13, - "problem": "InvalidIdentifier", - "suggest": "", - "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", - "severity": "ERROR" - }, - { - "line": 120, - "column": 7, - "endLine": 120, - "endColumn": 10, - "problem": "InvalidIdentifier", - "suggest": "", - "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", - "severity": "ERROR" - }, - { - "line": 122, - "column": 7, - "endLine": 122, - "endColumn": 12, - "problem": "InvalidIdentifier", - "suggest": "", - "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", - "severity": "ERROR" - }, - { - "line": 124, - "column": 7, - "endLine": 124, - "endColumn": 13, - "problem": "InvalidIdentifier", - "suggest": "", - "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", - "severity": "ERROR" - }, - { - "line": 126, - "column": 7, - "endLine": 126, - "endColumn": 10, - "problem": "InvalidIdentifier", - "suggest": "", - "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", - "severity": "ERROR" - }, - { - "line": 128, - "column": 7, - "endLine": 128, - "endColumn": 12, - "problem": "InvalidIdentifier", - "suggest": "", - "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", - "severity": "ERROR" - }, - { - "line": 130, - "column": 7, - "endLine": 130, - "endColumn": 11, - "problem": "InvalidIdentifier", - "suggest": "", - "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", - "severity": "ERROR" - }, - { - "line": 132, - "column": 7, - "endLine": 132, - "endColumn": 13, - "problem": "InvalidIdentifier", - "suggest": "", - "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", - "severity": "ERROR" - }, - { - "line": 134, - "column": 7, - "endLine": 134, - "endColumn": 11, - "problem": "VoidOperator", - "suggest": "", - "rule": "\"void\" operator is not supported (arkts-no-void-operator)", - "severity": "ERROR" - }, - { - "line": 134, - "column": 13, - "endLine": 134, - "endColumn": 17, - "problem": "VoidOperator", - "suggest": "", - "rule": "\"void\" operator is not supported (arkts-no-void-operator)", - "severity": "ERROR" - }, - { - "line": 136, - "column": 7, - "endLine": 136, - "endColumn": 13, - "problem": "InvalidIdentifier", - "suggest": "", - "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", - "severity": "ERROR" - }, - { - "line": 138, - "column": 13, - "endLine": 138, - "endColumn": 18, - "problem": "InvalidIdentifier", - "suggest": "", - "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", - "severity": "ERROR" - }, - { - "line": 140, - "column": 5, - "endLine": 140, - "endColumn": 11, - "problem": "InvalidIdentifier", - "suggest": "", - "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", - "severity": "ERROR" - }, - { - "line": 142, - "column": 17, - "endLine": 142, - "endColumn": 23, - "problem": "InvalidIdentifier", - "suggest": "", - "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", - "severity": "ERROR" - }, - { - "line": 145, - "column": 20, - "endLine": 145, - "endColumn": 24, - "problem": "InvalidIdentifier", - "suggest": "", - "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", - "severity": "ERROR" - }, - { - "line": 148, - "column": 12, - "endLine": 148, - "endColumn": 16, - "problem": "InvalidIdentifier", - "suggest": "", - "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", - "severity": "ERROR" - }, - { - "line": 151, - "column": 10, - "endLine": 151, - "endColumn": 16, - "problem": "InvalidIdentifier", - "suggest": "", - "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", - "severity": "ERROR" - }, - { - "line": 156, - "column": 16, - "endLine": 156, - "endColumn": 22, - "problem": "InvalidIdentifier", - "suggest": "", - "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", - "severity": "ERROR" - }, - { - "line": 160, - "column": 24, - "endLine": 160, - "endColumn": 30, - "problem": "InvalidIdentifier", - "suggest": "", - "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", - "severity": "ERROR" - }, - { - "line": 164, - "column": 10, - "endLine": 164, - "endColumn": 14, - "problem": "InvalidIdentifier", - "suggest": "", - "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", - "severity": "ERROR" - }, - { - "line": 164, - "column": 15, - "endLine": 164, - "endColumn": 21, - "problem": "InvalidIdentifier", - "suggest": "", - "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", - "severity": "ERROR" - }, - { - "line": 169, - "column": 5, - "endLine": 169, - "endColumn": 11, - "problem": "InvalidIdentifier", - "suggest": "", - "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", - "severity": "ERROR" - }, - { - "line": 174, - "column": 8, - "endLine": 174, - "endColumn": 12, - "problem": "InvalidIdentifier", - "suggest": "", - "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", - "severity": "ERROR" - }, - { - "line": 176, - "column": 3, - "endLine": 176, - "endColumn": 11, - "problem": "InvalidIdentifier", - "suggest": "", - "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", - "severity": "ERROR" - }, - { - "line": 177, - "column": 3, - "endLine": 177, - "endColumn": 8, - "problem": "InvalidIdentifier", - "suggest": "", - "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", - "severity": "ERROR" - }, - { - "line": 178, - "column": 3, - "endLine": 178, - "endColumn": 11, - "problem": "InvalidIdentifier", - "suggest": "", - "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", - "severity": "ERROR" - }, - { - "line": 187, - "column": 3, - "endLine": 187, - "endColumn": 7, - "problem": "InvalidIdentifier", - "suggest": "", - "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", - "severity": "ERROR" - }, - { - "line": 193, - "column": 8, - "endLine": 193, - "endColumn": 12, - "problem": "InvalidIdentifier", - "suggest": "", - "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", - "severity": "ERROR" - }, - { - "line": 203, - "column": 6, - "endLine": 203, - "endColumn": 10, - "problem": "InvalidIdentifier", - "suggest": "", - "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", - "severity": "ERROR" - }, - { - "line": 204, - "column": 3, - "endLine": 204, - "endColumn": 8, - "problem": "InvalidIdentifier", - "suggest": "", - "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", - "severity": "ERROR" - }, - { - "line": 205, - "column": 3, - "endLine": 205, - "endColumn": 9, - "problem": "InvalidIdentifier", - "suggest": "", - "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", - "severity": "ERROR" - }, - { - "line": 206, - "column": 3, - "endLine": 206, - "endColumn": 6, - "problem": "InvalidIdentifier", - "suggest": "", - "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", - "severity": "ERROR" - }, - { - "line": 209, - "column": 11, - "endLine": 209, - "endColumn": 15, - "problem": "InvalidIdentifier", - "suggest": "", - "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", - "severity": "ERROR" - }, - { - "line": 210, - "column": 9, - "endLine": 210, - "endColumn": 15, - "problem": "InvalidIdentifier", - "suggest": "", - "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", - "severity": "ERROR" - }, - { - "line": 214, - "column": 13, - "endLine": 214, - "endColumn": 16, - "problem": "InvalidIdentifier", - "suggest": "", - "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", - "severity": "ERROR" - }, - { - "line": 219, - "column": 7, - "endLine": 219, - "endColumn": 10, - "problem": "InvalidIdentifier", - "suggest": "", - "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", - "severity": "ERROR" - }, - { - "line": 172, - "column": 2, - "endLine": 172, - "endColumn": 7, - "problem": "UIInterfaceImport", - "suggest": "", - "rule": "ArkUI interface should be imported before using (arkui-modular-interface)", - "severity": "ERROR" - }, - { - "line": 173, - "column": 2, - "endLine": 173, - "endColumn": 11, - "problem": "UIInterfaceImport", - "suggest": "", - "rule": "ArkUI interface should be imported before using (arkui-modular-interface)", - "severity": "ERROR" - }, - { - "line": 175, - "column": 4, - "endLine": 175, - "endColumn": 9, - "problem": "UIInterfaceImport", - "suggest": "", - "rule": "ArkUI interface should be imported before using (arkui-modular-interface)", - "severity": "ERROR" - }, - { - "line": 181, - "column": 5, - "endLine": 181, - "endColumn": 22, - "problem": "UIInterfaceImport", - "suggest": "", - "rule": "ArkUI interface should be imported before using (arkui-modular-interface)", - "severity": "ERROR" - }, - { - "line": 182, - "column": 7, - "endLine": 182, - "endColumn": 11, - "problem": "UIInterfaceImport", - "suggest": "", - "rule": "ArkUI interface should be imported before using (arkui-modular-interface)", - "severity": "ERROR" - }, - { - "line": 194, - "column": 4, - "endLine": 194, - "endColumn": 9, - "problem": "UIInterfaceImport", - "suggest": "", - "rule": "ArkUI interface should be imported before using (arkui-modular-interface)", - "severity": "ERROR" - }, - { - "line": 197, - "column": 5, - "endLine": 197, - "endColumn": 22, - "problem": "UIInterfaceImport", - "suggest": "", - "rule": "ArkUI interface should be imported before using (arkui-modular-interface)", - "severity": "ERROR" - }, - { - "line": 198, - "column": 7, - "endLine": 198, - "endColumn": 11, - "problem": "UIInterfaceImport", - "suggest": "", - "rule": "ArkUI interface should be imported before using (arkui-modular-interface)", - "severity": "ERROR" - } - ] + "copyright": [ + "Copyright (c) 2025 Huawei Device Co., Ltd.", + "Licensed under the Apache License, Version 2.0 (the 'License');", + "you may not use this file except in compliance with the License.", + "You may obtain a copy of the License at", + "", + "http://www.apache.org/licenses/LICENSE-2.0", + "", + "Unless required by applicable law or agreed to in writing, software", + "distributed under the License is distributed on an 'AS IS' BASIS,", + "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.", + "See the License for the specific language governing permissions and", + "limitations under the License." + ], + "result": [ + { + "line": 16, + "column": 10, + "endLine": 16, + "endColumn": 16, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 18, + "column": 8, + "endLine": 18, + "endColumn": 16, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 22, + "column": 7, + "endLine": 22, + "endColumn": 15, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 24, + "column": 7, + "endLine": 24, + "endColumn": 13, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 26, + "column": 7, + "endLine": 26, + "endColumn": 9, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 30, + "column": 7, + "endLine": 30, + "endColumn": 13, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 32, + "column": 13, + "endLine": 32, + "endColumn": 13, + "problem": "SwitchExpression", + "suggest": "", + "rule": "The switch expression type must be of type char, byte, short, int, long, string or enum (arkts-switch-expr)", + "severity": "ERROR" + }, + { + "line": 34, + "column": 7, + "endLine": 34, + "endColumn": 12, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 36, + "column": 7, + "endLine": 36, + "endColumn": 10, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 40, + "column": 7, + "endLine": 40, + "endColumn": 12, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 42, + "column": 7, + "endLine": 42, + "endColumn": 13, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 50, + "column": 10, + "endLine": 50, + "endColumn": 10, + "problem": "DynamicCtorCall", + "suggest": "", + "rule": "\"new\" expression with dynamic constructor type is not supported (arkts-no-dynamic-ctor-call)", + "severity": "ERROR" + }, + { + "line": 52, + "column": 7, + "endLine": 52, + "endColumn": 12, + "problem": "ThrowStatement", + "suggest": "", + "rule": "\"throw\" statements cannot accept values of arbitrary types (arkts-limited-throw)", + "severity": "ERROR" + }, + { + "line": 54, + "column": 7, + "endLine": 54, + "endColumn": 12, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 64, + "column": 7, + "endLine": 64, + "endColumn": 15, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 70, + "column": 7, + "endLine": 70, + "endColumn": 14, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 72, + "column": 7, + "endLine": 72, + "endColumn": 16, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 74, + "column": 7, + "endLine": 74, + "endColumn": 18, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 78, + "column": 7, + "endLine": 78, + "endColumn": 14, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 84, + "column": 7, + "endLine": 84, + "endColumn": 17, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 86, + "column": 7, + "endLine": 86, + "endColumn": 16, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 88, + "column": 7, + "endLine": 88, + "endColumn": 13, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 92, + "column": 7, + "endLine": 92, + "endColumn": 16, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 96, + "column": 7, + "endLine": 96, + "endColumn": 14, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 98, + "column": 7, + "endLine": 98, + "endColumn": 13, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 100, + "column": 7, + "endLine": 100, + "endColumn": 14, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 102, + "column": 7, + "endLine": 102, + "endColumn": 13, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 104, + "column": 7, + "endLine": 104, + "endColumn": 13, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 104, + "column": 24, + "endLine": 104, + "endColumn": 26, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 106, + "column": 7, + "endLine": 106, + "endColumn": 11, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 106, + "column": 22, + "endLine": 106, + "endColumn": 25, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 108, + "column": 7, + "endLine": 108, + "endColumn": 12, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 110, + "column": 7, + "endLine": 110, + "endColumn": 13, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 110, + "column": 24, + "endLine": 110, + "endColumn": 25, + "problem": "ObjectLiteralNoContextType", + "suggest": "", + "rule": "Object literal must correspond to some explicitly declared class or interface (arkts-no-untyped-obj-literals)", + "severity": "ERROR" + }, + { + "line": 112, + "column": 7, + "endLine": 112, + "endColumn": 11, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 112, + "column": 22, + "endLine": 112, + "endColumn": 25, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 114, + "column": 7, + "endLine": 114, + "endColumn": 12, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 116, + "column": 7, + "endLine": 116, + "endColumn": 13, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 116, + "column": 24, + "endLine": 116, + "endColumn": 25, + "problem": "ObjectLiteralNoContextType", + "suggest": "", + "rule": "Object literal must correspond to some explicitly declared class or interface (arkts-no-untyped-obj-literals)", + "severity": "ERROR" + }, + { + "line": 118, + "column": 7, + "endLine": 118, + "endColumn": 13, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 120, + "column": 7, + "endLine": 120, + "endColumn": 10, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 120, + "column": 21, + "endLine": 120, + "endColumn": 23, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 122, + "column": 7, + "endLine": 122, + "endColumn": 12, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 122, + "column": 23, + "endLine": 122, + "endColumn": 28, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 124, + "column": 7, + "endLine": 124, + "endColumn": 13, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 126, + "column": 7, + "endLine": 126, + "endColumn": 10, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 126, + "column": 21, + "endLine": 126, + "endColumn": 23, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 128, + "column": 7, + "endLine": 128, + "endColumn": 12, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 128, + "column": 23, + "endLine": 128, + "endColumn": 28, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 130, + "column": 7, + "endLine": 130, + "endColumn": 11, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 132, + "column": 7, + "endLine": 132, + "endColumn": 13, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 134, + "column": 7, + "endLine": 134, + "endColumn": 11, + "problem": "VoidOperator", + "suggest": "", + "rule": "\"void\" operator is not supported (arkts-no-void-operator)", + "severity": "ERROR" + }, + { + "line": 134, + "column": 13, + "endLine": 134, + "endColumn": 17, + "problem": "VoidOperator", + "suggest": "", + "rule": "\"void\" operator is not supported (arkts-no-void-operator)", + "severity": "ERROR" + }, + { + "line": 136, + "column": 7, + "endLine": 136, + "endColumn": 13, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 138, + "column": 13, + "endLine": 138, + "endColumn": 18, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 140, + "column": 5, + "endLine": 140, + "endColumn": 11, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 142, + "column": 17, + "endLine": 142, + "endColumn": 23, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 145, + "column": 20, + "endLine": 145, + "endColumn": 24, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 148, + "column": 12, + "endLine": 148, + "endColumn": 16, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 151, + "column": 10, + "endLine": 151, + "endColumn": 16, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 156, + "column": 16, + "endLine": 156, + "endColumn": 22, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 160, + "column": 24, + "endLine": 160, + "endColumn": 30, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 164, + "column": 10, + "endLine": 164, + "endColumn": 14, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 164, + "column": 15, + "endLine": 164, + "endColumn": 21, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 169, + "column": 5, + "endLine": 169, + "endColumn": 11, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 174, + "column": 8, + "endLine": 174, + "endColumn": 12, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 176, + "column": 3, + "endLine": 176, + "endColumn": 11, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 176, + "column": 21, + "endLine": 176, + "endColumn": 24, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 177, + "column": 3, + "endLine": 177, + "endColumn": 8, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 177, + "column": 18, + "endLine": 177, + "endColumn": 21, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 178, + "column": 3, + "endLine": 178, + "endColumn": 11, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 178, + "column": 21, + "endLine": 178, + "endColumn": 24, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 187, + "column": 3, + "endLine": 187, + "endColumn": 7, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 193, + "column": 8, + "endLine": 193, + "endColumn": 12, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 203, + "column": 6, + "endLine": 203, + "endColumn": 10, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 204, + "column": 3, + "endLine": 204, + "endColumn": 8, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 205, + "column": 3, + "endLine": 205, + "endColumn": 9, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 206, + "column": 3, + "endLine": 206, + "endColumn": 6, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 209, + "column": 11, + "endLine": 209, + "endColumn": 15, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 210, + "column": 9, + "endLine": 210, + "endColumn": 15, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 214, + "column": 13, + "endLine": 214, + "endColumn": 16, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 219, + "column": 7, + "endLine": 219, + "endColumn": 10, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 172, + "column": 2, + "endLine": 172, + "endColumn": 7, + "problem": "UIInterfaceImport", + "suggest": "", + "rule": "ArkUI interface should be imported before using (arkui-modular-interface)", + "severity": "ERROR" + }, + { + "line": 173, + "column": 2, + "endLine": 173, + "endColumn": 11, + "problem": "UIInterfaceImport", + "suggest": "", + "rule": "ArkUI interface should be imported before using (arkui-modular-interface)", + "severity": "ERROR" + }, + { + "line": 175, + "column": 4, + "endLine": 175, + "endColumn": 9, + "problem": "UIInterfaceImport", + "suggest": "", + "rule": "ArkUI interface should be imported before using (arkui-modular-interface)", + "severity": "ERROR" + }, + { + "line": 181, + "column": 5, + "endLine": 181, + "endColumn": 22, + "problem": "UIInterfaceImport", + "suggest": "", + "rule": "ArkUI interface should be imported before using (arkui-modular-interface)", + "severity": "ERROR" + }, + { + "line": 182, + "column": 7, + "endLine": 182, + "endColumn": 11, + "problem": "UIInterfaceImport", + "suggest": "", + "rule": "ArkUI interface should be imported before using (arkui-modular-interface)", + "severity": "ERROR" + }, + { + "line": 194, + "column": 4, + "endLine": 194, + "endColumn": 9, + "problem": "UIInterfaceImport", + "suggest": "", + "rule": "ArkUI interface should be imported before using (arkui-modular-interface)", + "severity": "ERROR" + }, + { + "line": 197, + "column": 5, + "endLine": 197, + "endColumn": 22, + "problem": "UIInterfaceImport", + "suggest": "", + "rule": "ArkUI interface should be imported before using (arkui-modular-interface)", + "severity": "ERROR" + }, + { + "line": 198, + "column": 7, + "endLine": 198, + "endColumn": 11, + "problem": "UIInterfaceImport", + "suggest": "", + "rule": "ArkUI interface should be imported before using (arkui-modular-interface)", + "severity": "ERROR" + } + ] } \ No newline at end of file diff --git a/ets2panda/linter/test/main/limit_void_type.ets.arkts2.json b/ets2panda/linter/test/main/limit_void_type.ets.arkts2.json index afeebdd2a3..61c85afd26 100644 --- a/ets2panda/linter/test/main/limit_void_type.ets.arkts2.json +++ b/ets2panda/linter/test/main/limit_void_type.ets.arkts2.json @@ -154,6 +154,16 @@ "rule": "Type \"void\" has no instances.(arkts-limited-void-type)", "severity": "ERROR" }, + { + "line": 41, + "column": 28, + "endLine": 41, + "endColumn": 32, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 42, "column": 8, @@ -164,6 +174,16 @@ "rule": "Type \"void\" has no instances.(arkts-limited-void-type)", "severity": "ERROR" }, + { + "line": 42, + "column": 36, + "endLine": 42, + "endColumn": 40, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 45, "column": 8, @@ -414,6 +434,36 @@ "rule": "Type \"void\" has no instances.(arkts-limited-void-type)", "severity": "ERROR" }, + { + "line": 83, + "column": 19, + "endLine": 83, + "endColumn": 20, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 83, + "column": 22, + "endLine": 83, + "endColumn": 23, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 83, + "column": 25, + "endLine": 83, + "endColumn": 26, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 85, "column": 19, diff --git a/ets2panda/linter/test/main/limited_literal_type.ets.arkts2.json b/ets2panda/linter/test/main/limited_literal_type.ets.arkts2.json index 08bcd5b26c..bac768d698 100644 --- a/ets2panda/linter/test/main/limited_literal_type.ets.arkts2.json +++ b/ets2panda/linter/test/main/limited_literal_type.ets.arkts2.json @@ -24,6 +24,26 @@ "rule": "Literal types are restricted(arkts-limited-literal-types)", "severity": "ERROR" }, + { + "line": 16, + "column": 9, + "endLine": 16, + "endColumn": 10, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 16, + "column": 13, + "endLine": 16, + "endColumn": 14, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 17, "column": 9, @@ -44,6 +64,26 @@ "rule": "Literal types are restricted(arkts-limited-literal-types)", "severity": "ERROR" }, + { + "line": 23, + "column": 14, + "endLine": 23, + "endColumn": 17, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 28, + "column": 13, + "endLine": 28, + "endColumn": 16, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 30, "column": 7, @@ -54,6 +94,26 @@ "rule": "Literal types are restricted(arkts-limited-literal-types)", "severity": "ERROR" }, + { + "line": 30, + "column": 7, + "endLine": 30, + "endColumn": 8, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 30, + "column": 11, + "endLine": 30, + "endColumn": 12, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 39, "column": 5, @@ -84,6 +144,16 @@ "rule": "Literal types are restricted(arkts-limited-literal-types)", "severity": "ERROR" }, + { + "line": 39, + "column": 31, + "endLine": 39, + "endColumn": 32, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 40, "column": 5, @@ -94,6 +164,16 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 40, + "column": 21, + "endLine": 40, + "endColumn": 22, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 42, "column": 17, @@ -104,6 +184,16 @@ "rule": "Literal types are restricted(arkts-limited-literal-types)", "severity": "ERROR" }, + { + "line": 42, + "column": 17, + "endLine": 42, + "endColumn": 18, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 44, "column": 10, @@ -114,6 +204,16 @@ "rule": "Literal types are restricted(arkts-limited-literal-types)", "severity": "ERROR" }, + { + "line": 44, + "column": 10, + "endLine": 44, + "endColumn": 11, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 46, "column": 5, @@ -124,6 +224,16 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 46, + "column": 9, + "endLine": 46, + "endColumn": 10, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 46, "column": 14, @@ -134,6 +244,16 @@ "rule": "Literal types are restricted(arkts-limited-literal-types)", "severity": "ERROR" }, + { + "line": 46, + "column": 14, + "endLine": 46, + "endColumn": 15, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 48, "column": 5, @@ -164,6 +284,16 @@ "rule": "Literal types are restricted(arkts-limited-literal-types)", "severity": "ERROR" }, + { + "line": 48, + "column": 32, + "endLine": 48, + "endColumn": 33, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 49, "column": 31, @@ -174,6 +304,16 @@ "rule": "Literal types are restricted(arkts-limited-literal-types)", "severity": "ERROR" }, + { + "line": 49, + "column": 31, + "endLine": 49, + "endColumn": 32, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 49, "column": 35, @@ -194,6 +334,16 @@ "rule": "Literal types are restricted(arkts-limited-literal-types)", "severity": "ERROR" }, + { + "line": 49, + "column": 80, + "endLine": 49, + "endColumn": 81, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 50, "column": 9, @@ -204,6 +354,26 @@ "rule": "Literal types are restricted(arkts-limited-literal-types)", "severity": "ERROR" }, + { + "line": 50, + "column": 9, + "endLine": 50, + "endColumn": 10, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 50, + "column": 22, + "endLine": 50, + "endColumn": 23, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 51, "column": 10, @@ -213,6 +383,26 @@ "suggest": "", "rule": "Literal types are restricted(arkts-limited-literal-types)", "severity": "ERROR" + }, + { + "line": 51, + "column": 10, + "endLine": 51, + "endColumn": 11, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 51, + "column": 16, + "endLine": 51, + "endColumn": 17, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" } ] } \ No newline at end of file diff --git a/ets2panda/linter/test/main/limited_stdlib_api.ets.arkts2.json b/ets2panda/linter/test/main/limited_stdlib_api.ets.arkts2.json index 115d052092..affb940597 100644 --- a/ets2panda/linter/test/main/limited_stdlib_api.ets.arkts2.json +++ b/ets2panda/linter/test/main/limited_stdlib_api.ets.arkts2.json @@ -44,6 +44,36 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 20, + "column": 10, + "endLine": 20, + "endColumn": 11, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 21, + "column": 7, + "endLine": 21, + "endColumn": 8, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 23, + "column": 15, + "endLine": 23, + "endColumn": 17, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 31, "column": 8, @@ -94,6 +124,16 @@ "rule": "The function type should be explicit (arkts-no-ts-like-function-call)", "severity": "ERROR" }, + { + "line": 46, + "column": 8, + "endLine": 46, + "endColumn": 10, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 56, "column": 8, @@ -424,11 +464,21 @@ "rule": "Usage of standard library is restricted (arkts-limited-stdlib)", "severity": "ERROR" }, + { + "line": 100, + "column": 27, + "endLine": 100, + "endColumn": 29, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 101, - "column": 1, + "column": 19, "endLine": 101, - "endColumn": 28, + "endColumn": 20, "problem": "NumericSemantics", "suggest": "", "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", @@ -694,6 +744,16 @@ "rule": "Usage of standard library is restricted (arkts-limited-stdlib)", "severity": "ERROR" }, + { + "line": 116, + "column": 41, + "endLine": 116, + "endColumn": 42, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 117, "column": 13, @@ -714,6 +774,16 @@ "rule": "Usage of standard library is restricted (arkts-limited-stdlib)", "severity": "ERROR" }, + { + "line": 122, + "column": 25, + "endLine": 122, + "endColumn": 26, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 127, "column": 12, @@ -724,6 +794,26 @@ "rule": "Indexed signatures are not supported (arkts-no-indexed-signatures)", "severity": "ERROR" }, + { + "line": 128, + "column": 43, + "endLine": 128, + "endColumn": 44, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 128, + "column": 51, + "endLine": 128, + "endColumn": 52, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 130, "column": 25, diff --git a/ets2panda/linter/test/main/literals_as_prop_names.ets.arkts2.json b/ets2panda/linter/test/main/literals_as_prop_names.ets.arkts2.json index 9d889b27b6..225b7a33e4 100755 --- a/ets2panda/linter/test/main/literals_as_prop_names.ets.arkts2.json +++ b/ets2panda/linter/test/main/literals_as_prop_names.ets.arkts2.json @@ -64,6 +64,16 @@ "rule": "Objects with property names that are not identifiers are not supported (arkts-identifiers-as-prop-names)", "severity": "ERROR" }, + { + "line": 33, + "column": 10, + "endLine": 33, + "endColumn": 11, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 36, "column": 13, @@ -94,6 +104,16 @@ "rule": "Indexed access is not supported for fields (arkts-no-props-by-index)", "severity": "ERROR" }, + { + "line": 49, + "column": 8, + "endLine": 49, + "endColumn": 9, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 57, "column": 9, @@ -114,6 +134,16 @@ "rule": "Objects with property names that are not identifiers are not supported (arkts-identifiers-as-prop-names)", "severity": "ERROR" }, + { + "line": 57, + "column": 18, + "endLine": 57, + "endColumn": 20, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 57, "column": 22, @@ -124,6 +154,16 @@ "rule": "Objects with property names that are not identifiers are not supported (arkts-identifiers-as-prop-names)", "severity": "ERROR" }, + { + "line": 57, + "column": 25, + "endLine": 57, + "endColumn": 27, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 59, "column": 13, @@ -154,6 +194,26 @@ "rule": "Object literal must correspond to some explicitly declared class or interface (arkts-no-untyped-obj-literals)", "severity": "ERROR" }, + { + "line": 67, + "column": 20, + "endLine": 67, + "endColumn": 22, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 67, + "column": 28, + "endLine": 67, + "endColumn": 30, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 75, "column": 3, @@ -204,6 +264,16 @@ "rule": "Objects with property names that are not identifiers are not supported (arkts-identifiers-as-prop-names)", "severity": "ERROR" }, + { + "line": 81, + "column": 10, + "endLine": 81, + "endColumn": 13, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 84, "column": 36, @@ -214,6 +284,16 @@ "rule": "Objects with property names that are not identifiers are not supported (arkts-identifiers-as-prop-names)", "severity": "ERROR" }, + { + "line": 84, + "column": 39, + "endLine": 84, + "endColumn": 42, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 92, "column": 4, diff --git a/ets2panda/linter/test/main/literals_as_prop_names.ets.autofix.json b/ets2panda/linter/test/main/literals_as_prop_names.ets.autofix.json index 69a6d4d352..ea9175629e 100644 --- a/ets2panda/linter/test/main/literals_as_prop_names.ets.autofix.json +++ b/ets2panda/linter/test/main/literals_as_prop_names.ets.autofix.json @@ -24,12 +24,20 @@ { "replacementText": "PrivateTwo", "start": 721, - "end": 733 + "end": 733, + "line": 20, + "column": 3, + "endLine": 20, + "endColumn": 22 }, { "replacementText": "LiteralAsPropertyNameEnum.PrivateTwo", "start": 1919, - "end": 1958 + "end": 1958, + "line": 20, + "column": 3, + "endLine": 20, + "endColumn": 22 } ], "suggest": "", @@ -46,17 +54,29 @@ { "replacementText": "__2", "start": 836, - "end": 837 + "end": 837, + "line": 37, + "column": 13, + "endLine": 37, + "endColumn": 29 }, { "replacementText": "__2", "start": 928, - "end": 929 + "end": 929, + "line": 37, + "column": 13, + "endLine": 37, + "endColumn": 29 }, { "replacementText": "litAsPropName.__2", "start": 1001, - "end": 1017 + "end": 1017, + "line": 37, + "column": 13, + "endLine": 37, + "endColumn": 29 } ], "suggest": "", @@ -73,17 +93,29 @@ { "replacementText": "Two", "start": 849, - "end": 854 + "end": 854, + "line": 38, + "column": 13, + "endLine": 38, + "endColumn": 33 }, { "replacementText": "Two", "start": 940, - "end": 945 + "end": 945, + "line": 38, + "column": 13, + "endLine": 38, + "endColumn": 33 }, { "replacementText": "litAsPropName.Two", "start": 1032, - "end": 1052 + "end": 1052, + "line": 38, + "column": 13, + "endLine": 38, + "endColumn": 33 } ], "suggest": "", @@ -100,17 +132,29 @@ { "replacementText": "__2", "start": 836, - "end": 837 + "end": 837, + "line": 37, + "column": 13, + "endLine": 37, + "endColumn": 29 }, { "replacementText": "__2", "start": 928, - "end": 929 + "end": 929, + "line": 37, + "column": 13, + "endLine": 37, + "endColumn": 29 }, { "replacementText": "litAsPropName.__2", "start": 1001, - "end": 1017 + "end": 1017, + "line": 37, + "column": 13, + "endLine": 37, + "endColumn": 29 } ], "suggest": "", @@ -127,23 +171,56 @@ { "replacementText": "Two", "start": 849, - "end": 854 + "end": 854, + "line": 38, + "column": 13, + "endLine": 38, + "endColumn": 33 }, { "replacementText": "Two", "start": 940, - "end": 945 + "end": 945, + "line": 38, + "column": 13, + "endLine": 38, + "endColumn": 33 }, { "replacementText": "litAsPropName.Two", "start": 1032, - "end": 1052 + "end": 1052, + "line": 38, + "column": 13, + "endLine": 38, + "endColumn": 33 } ], "suggest": "", "rule": "Objects with property names that are not identifiers are not supported (arkts-identifiers-as-prop-names)", "severity": "ERROR" }, + { + "line": 33, + "column": 10, + "endLine": 33, + "endColumn": 11, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 947, + "end": 948, + "replacementText": "2.0", + "line": 33, + "column": 10, + "endLine": 33, + "endColumn": 11 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 36, "column": 13, @@ -154,7 +231,11 @@ { "replacementText": "litAsPropName.one", "start": 966, - "end": 986 + "end": 986, + "line": 36, + "column": 13, + "endLine": 36, + "endColumn": 33 } ], "suggest": "", @@ -171,17 +252,29 @@ { "replacementText": "__2", "start": 836, - "end": 837 + "end": 837, + "line": 37, + "column": 13, + "endLine": 37, + "endColumn": 29 }, { "replacementText": "__2", "start": 928, - "end": 929 + "end": 929, + "line": 37, + "column": 13, + "endLine": 37, + "endColumn": 29 }, { "replacementText": "litAsPropName.__2", "start": 1001, - "end": 1017 + "end": 1017, + "line": 37, + "column": 13, + "endLine": 37, + "endColumn": 29 } ], "suggest": "", @@ -198,23 +291,56 @@ { "replacementText": "Two", "start": 849, - "end": 854 + "end": 854, + "line": 38, + "column": 13, + "endLine": 38, + "endColumn": 33 }, { "replacementText": "Two", "start": 940, - "end": 945 + "end": 945, + "line": 38, + "column": 13, + "endLine": 38, + "endColumn": 33 }, { "replacementText": "litAsPropName.Two", "start": 1032, - "end": 1052 + "end": 1052, + "line": 38, + "column": 13, + "endLine": 38, + "endColumn": 33 } ], "suggest": "", "rule": "Indexed access is not supported for fields (arkts-no-props-by-index)", "severity": "ERROR" }, + { + "line": 49, + "column": 8, + "endLine": 49, + "endColumn": 9, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1263, + "end": 1264, + "replacementText": "2.0", + "line": 49, + "column": 8, + "endLine": 49, + "endColumn": 9 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 57, "column": 9, @@ -235,6 +361,27 @@ "rule": "Objects with property names that are not identifiers are not supported (arkts-identifiers-as-prop-names)", "severity": "ERROR" }, + { + "line": 57, + "column": 18, + "endLine": 57, + "endColumn": 20, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1433, + "end": 1435, + "replacementText": "20.0", + "line": 57, + "column": 18, + "endLine": 57, + "endColumn": 20 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 57, "column": 22, @@ -245,6 +392,27 @@ "rule": "Objects with property names that are not identifiers are not supported (arkts-identifiers-as-prop-names)", "severity": "ERROR" }, + { + "line": 57, + "column": 25, + "endLine": 57, + "endColumn": 27, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1440, + "end": 1442, + "replacementText": "30.0", + "line": 57, + "column": 25, + "endLine": 57, + "endColumn": 27 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 59, "column": 13, @@ -275,18 +443,68 @@ { "start": 1556, "end": 1556, - "replacementText": "interface GeneratedObjectLiteralInterface_1 {\n name: number;\n _2: number;\n}\n" + "replacementText": "interface GeneratedObjectLiteralInterface_1 {\n name: number;\n _2: number;\n}\n", + "line": 67, + "column": 13, + "endLine": 67, + "endColumn": 14 }, { "start": 1565, "end": 1565, - "replacementText": ": GeneratedObjectLiteralInterface_1" + "replacementText": ": GeneratedObjectLiteralInterface_1", + "line": 67, + "column": 13, + "endLine": 67, + "endColumn": 14 } ], "suggest": "", "rule": "Object literal must correspond to some explicitly declared class or interface (arkts-no-untyped-obj-literals)", "severity": "ERROR" }, + { + "line": 67, + "column": 20, + "endLine": 67, + "endColumn": 22, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1575, + "end": 1577, + "replacementText": "20.0", + "line": 67, + "column": 20, + "endLine": 67, + "endColumn": 22 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 67, + "column": 28, + "endLine": 67, + "endColumn": 30, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1583, + "end": 1585, + "replacementText": "20.0", + "line": 67, + "column": 28, + "endLine": 67, + "endColumn": 30 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 75, "column": 3, @@ -297,12 +515,20 @@ { "replacementText": "___2", "start": 1726, - "end": 1727 + "end": 1727, + "line": 80, + "column": 3, + "endLine": 80, + "endColumn": 4 }, { "replacementText": "___2", "start": 1808, - "end": 1809 + "end": 1809, + "line": 80, + "column": 3, + "endLine": 80, + "endColumn": 4 } ], "suggest": "", @@ -319,12 +545,20 @@ { "replacementText": "__2", "start": 1739, - "end": 1744 + "end": 1744, + "line": 81, + "column": 3, + "endLine": 81, + "endColumn": 8 }, { "replacementText": "__2", "start": 1824, - "end": 1829 + "end": 1829, + "line": 81, + "column": 3, + "endLine": 81, + "endColumn": 8 } ], "suggest": "", @@ -351,12 +585,20 @@ { "replacementText": "___2", "start": 1726, - "end": 1727 + "end": 1727, + "line": 80, + "column": 3, + "endLine": 80, + "endColumn": 4 }, { "replacementText": "___2", "start": 1808, - "end": 1809 + "end": 1809, + "line": 80, + "column": 3, + "endLine": 80, + "endColumn": 4 } ], "suggest": "", @@ -373,18 +615,47 @@ { "replacementText": "__2", "start": 1739, - "end": 1744 + "end": 1744, + "line": 81, + "column": 3, + "endLine": 81, + "endColumn": 8 }, { "replacementText": "__2", "start": 1824, - "end": 1829 + "end": 1829, + "line": 81, + "column": 3, + "endLine": 81, + "endColumn": 8 } ], "suggest": "", "rule": "Objects with property names that are not identifiers are not supported (arkts-identifiers-as-prop-names)", "severity": "ERROR" }, + { + "line": 81, + "column": 10, + "endLine": 81, + "endColumn": 13, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1831, + "end": 1834, + "replacementText": "123.0", + "line": 81, + "column": 10, + "endLine": 81, + "endColumn": 13 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 84, "column": 36, @@ -395,6 +666,27 @@ "rule": "Objects with property names that are not identifiers are not supported (arkts-identifiers-as-prop-names)", "severity": "ERROR" }, + { + "line": 84, + "column": 39, + "endLine": 84, + "endColumn": 42, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1877, + "end": 1880, + "replacementText": "234.0", + "line": 84, + "column": 39, + "endLine": 84, + "endColumn": 42 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 92, "column": 4, @@ -405,7 +697,11 @@ { "replacementText": "__empty", "start": 1991, - "end": 1993 + "end": 1993, + "line": 92, + "column": 4, + "endLine": 92, + "endColumn": 10 } ], "suggest": "", @@ -422,7 +718,11 @@ { "replacementText": "___x5c", "start": 2033, - "end": 2037 + "end": 2037, + "line": 97, + "column": 3, + "endLine": 97, + "endColumn": 11 } ], "suggest": "", @@ -439,7 +739,11 @@ { "replacementText": "__x5c", "start": 2045, - "end": 2052 + "end": 2052, + "line": 98, + "column": 3, + "endLine": 98, + "endColumn": 14 } ], "suggest": "", @@ -456,12 +760,20 @@ { "replacementText": "___x5c", "start": 2088, - "end": 2092 + "end": 2092, + "line": 102, + "column": 3, + "endLine": 102, + "endColumn": 11 }, { "replacementText": "Direction17.___x5c", "start": 2128, - "end": 2145 + "end": 2145, + "line": 102, + "column": 3, + "endLine": 102, + "endColumn": 11 } ], "suggest": "", @@ -478,12 +790,20 @@ { "replacementText": "__x5c", "start": 2100, - "end": 2107 + "end": 2107, + "line": 103, + "column": 3, + "endLine": 103, + "endColumn": 14 }, { "replacementText": "Direction17.__x5c", "start": 2160, - "end": 2180 + "end": 2180, + "line": 103, + "column": 3, + "endLine": 103, + "endColumn": 14 } ], "suggest": "", @@ -500,7 +820,11 @@ { "start": 2119, "end": 2145, - "replacementText": "case17: number = Direction17[\"\\\\\"]" + "replacementText": "case17: number = Direction17[\"\\\\\"]", + "line": 105, + "column": 5, + "endLine": 105, + "endColumn": 31 } ], "suggest": "", @@ -517,7 +841,11 @@ { "start": 2150, "end": 2180, - "replacementText": "case172: number = Direction17[\"__x5c\"]" + "replacementText": "case172: number = Direction17[\"__x5c\"]", + "line": 106, + "column": 5, + "endLine": 106, + "endColumn": 35 } ], "suggest": "", @@ -534,12 +862,20 @@ { "replacementText": "__x21x21", "start": 2207, - "end": 2211 + "end": 2211, + "line": 109, + "column": 1, + "endLine": 109, + "endColumn": 9 }, { "replacementText": "Direction11.__x21x21", "start": 2349, - "end": 2366 + "end": 2366, + "line": 109, + "column": 1, + "endLine": 109, + "endColumn": 9 } ], "suggest": "", @@ -556,7 +892,11 @@ { "replacementText": "aaa", "start": 2244, - "end": 2249 + "end": 2249, + "line": 112, + "column": 1, + "endLine": 112, + "endColumn": 10 } ], "suggest": "", @@ -573,7 +913,11 @@ { "start": 608, "end": 608, - "replacementText": "\n\nimport { Component, State } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, State } from '@kit.ArkUI';", + "line": 117, + "column": 2, + "endLine": 117, + "endColumn": 7 } ], "suggest": "", @@ -590,7 +934,11 @@ { "start": 608, "end": 608, - "replacementText": "\n\nimport { Component, State } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, State } from '@kit.ArkUI';", + "line": 117, + "column": 2, + "endLine": 117, + "endColumn": 7 } ], "suggest": "", diff --git a/ets2panda/linter/test/main/literals_as_prop_names.ets.migrate.ets b/ets2panda/linter/test/main/literals_as_prop_names.ets.migrate.ets index 322bb59464..436900cfcb 100644 --- a/ets2panda/linter/test/main/literals_as_prop_names.ets.migrate.ets +++ b/ets2panda/linter/test/main/literals_as_prop_names.ets.migrate.ets @@ -32,7 +32,7 @@ class LiteralAsPropertyName { const litAsPropName: LiteralAsPropertyName = { one: "1", __2: 'two', - Two: 2, + Two: 2.0, }; console.log(litAsPropName.one); @@ -48,7 +48,7 @@ class LiteralAsPropertyName_fix { const litAsPropName_fix: LiteralAsPropertyName_fix = { one: "1111111111", _2: 'two', - Two: 2, + Two: 2.0, }; console.log("Fixed listAsPropName:"); @@ -56,7 +56,7 @@ console.log(litAsPropName_fix.one); console.log(litAsPropName_fix._2); console.log(litAsPropName_fix.Two); -let x = {"name": 20, 2: 30} +let x = {"name": 20.0, 2: 30.0} console.log(x["name"]); console.log(x[2]); @@ -70,7 +70,7 @@ interface GeneratedObjectLiteralInterface_1 { name: number; _2: number; } -let x_fix: GeneratedObjectLiteralInterface_1 = {name: 20, _2: 20}; +let x_fix: GeneratedObjectLiteralInterface_1 = {name: 20.0, _2: 20.0}; console.log("Fixed x object literal:"); console.log(x_fix.name); @@ -84,10 +84,10 @@ interface litAsPropNameIface { const int: litAsPropNameIface = { one: '12321', ___2: 'weqwewq', - __2: 123 + __2: 123.0 }; -const imp: ExportLitAsPropName = { 1: 234 }; +const imp: ExportLitAsPropName = { 1: 234.0 }; LiteralAsPropertyNameEnum['One'] diff --git a/ets2panda/linter/test/main/literals_as_prop_names.ets.migrate.json b/ets2panda/linter/test/main/literals_as_prop_names.ets.migrate.json index f58bbbb8ee..7756bd5397 100644 --- a/ets2panda/linter/test/main/literals_as_prop_names.ets.migrate.json +++ b/ets2panda/linter/test/main/literals_as_prop_names.ets.migrate.json @@ -36,9 +36,9 @@ }, { "line": 59, - "column": 22, + "column": 24, "endLine": 59, - "endColumn": 23, + "endColumn": 25, "problem": "LiteralAsPropertyName", "suggest": "", "rule": "Objects with property names that are not identifiers are not supported (arkts-identifiers-as-prop-names)", diff --git a/ets2panda/linter/test/main/make_observed_1.ets.arkts2.json b/ets2panda/linter/test/main/make_observed_1.ets.arkts2.json index 25479ad946..10dbf86c48 100644 --- a/ets2panda/linter/test/main/make_observed_1.ets.arkts2.json +++ b/ets2panda/linter/test/main/make_observed_1.ets.arkts2.json @@ -14,6 +14,16 @@ "limitations under the License." ], "result": [ + { + "line": 19, + "column": 16, + "endLine": 19, + "endColumn": 17, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 28, "column": 26, @@ -24,6 +34,26 @@ "rule": "The makeObserved function is not supported (arkui-no-makeobserved-function)", "severity": "ERROR" }, + { + "line": 28, + "column": 56, + "endLine": 28, + "endColumn": 58, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 35, + "column": 33, + "endLine": 35, + "endColumn": 35, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 38, "column": 24, @@ -34,6 +64,16 @@ "rule": "The makeObserved function is not supported (arkui-no-makeobserved-function)", "severity": "ERROR" }, + { + "line": 38, + "column": 54, + "endLine": 38, + "endColumn": 56, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 25, "column": 2, diff --git a/ets2panda/linter/test/main/make_observed_2.ets.arkts2.json b/ets2panda/linter/test/main/make_observed_2.ets.arkts2.json index 9637e0d4ec..acf1d0da2e 100644 --- a/ets2panda/linter/test/main/make_observed_2.ets.arkts2.json +++ b/ets2panda/linter/test/main/make_observed_2.ets.arkts2.json @@ -14,6 +14,16 @@ "limitations under the License." ], "result": [ + { + "line": 19, + "column": 16, + "endLine": 19, + "endColumn": 17, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 28, "column": 26, @@ -24,6 +34,26 @@ "rule": "The makeObserved function is not supported (arkui-no-makeobserved-function)", "severity": "ERROR" }, + { + "line": 28, + "column": 54, + "endLine": 28, + "endColumn": 56, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 35, + "column": 33, + "endLine": 35, + "endColumn": 35, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 38, "column": 24, @@ -34,6 +64,16 @@ "rule": "The makeObserved function is not supported (arkui-no-makeobserved-function)", "severity": "ERROR" }, + { + "line": 38, + "column": 52, + "endLine": 38, + "endColumn": 54, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 25, "column": 2, diff --git a/ets2panda/linter/test/main/make_observed_3.ets.arkts2.json b/ets2panda/linter/test/main/make_observed_3.ets.arkts2.json index 19d2b241e6..7323b8589d 100644 --- a/ets2panda/linter/test/main/make_observed_3.ets.arkts2.json +++ b/ets2panda/linter/test/main/make_observed_3.ets.arkts2.json @@ -14,6 +14,56 @@ "limitations under the License." ], "result": [ + { + "line": 19, + "column": 16, + "endLine": 19, + "endColumn": 17, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 28, + "column": 56, + "endLine": 28, + "endColumn": 58, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 35, + "column": 33, + "endLine": 35, + "endColumn": 35, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 38, + "column": 54, + "endLine": 38, + "endColumn": 56, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 41, + "column": 46, + "endLine": 41, + "endColumn": 48, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 25, "column": 2, diff --git a/ets2panda/linter/test/main/method_inheritance.ets.arkts2.json b/ets2panda/linter/test/main/method_inheritance.ets.arkts2.json index 4a6d9d7c64..717bb1ec00 100644 --- a/ets2panda/linter/test/main/method_inheritance.ets.arkts2.json +++ b/ets2panda/linter/test/main/method_inheritance.ets.arkts2.json @@ -54,6 +54,26 @@ "rule": "Overridden method parameters and return types must respect type inheritance principles (arkts-method-inherit-rule)", "severity": "ERROR" }, + { + "line": 52, + "column": 31, + "endLine": 52, + "endColumn": 32, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 52, + "column": 43, + "endLine": 52, + "endColumn": 44, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 61, "column": 15, @@ -93,6 +113,26 @@ "suggest": "", "rule": "Overridden method parameters and return types must respect type inheritance principles (arkts-method-inherit-rule)", "severity": "ERROR" + }, + { + "line": 72, + "column": 23, + "endLine": 72, + "endColumn": 25, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 83, + "column": 41, + "endLine": 83, + "endColumn": 42, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" } ] } \ No newline at end of file diff --git a/ets2panda/linter/test/main/no_sparse_array.ets.arkts2.json b/ets2panda/linter/test/main/no_sparse_array.ets.arkts2.json index e6e4296523..f34010f03c 100644 --- a/ets2panda/linter/test/main/no_sparse_array.ets.arkts2.json +++ b/ets2panda/linter/test/main/no_sparse_array.ets.arkts2.json @@ -33,6 +33,26 @@ "suggest": "", "rule": "Sparse array are not supported (arkts-no-sparse-array)", "severity": "ERROR" + }, + { + "line": 16, + "column": 10, + "endLine": 16, + "endColumn": 11, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 16, + "column": 17, + "endLine": 16, + "endColumn": 18, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" } ] } \ No newline at end of file diff --git a/ets2panda/linter/test/main/no_ts_like_smart_type.ets.arkts2.json b/ets2panda/linter/test/main/no_ts_like_smart_type.ets.arkts2.json index ac0ca437fc..45fcc93425 100755 --- a/ets2panda/linter/test/main/no_ts_like_smart_type.ets.arkts2.json +++ b/ets2panda/linter/test/main/no_ts_like_smart_type.ets.arkts2.json @@ -34,6 +34,16 @@ "rule": "The static property has no initializer (arkts-class-static-initialization)", "severity": "ERROR" }, + { + "line": 20, + "column": 20, + "endLine": 20, + "endColumn": 21, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 32, "column": 9, @@ -44,6 +54,16 @@ "rule": "Smart type differences (arkts-no-ts-like-smart-type)", "severity": "ERROR" }, + { + "line": 30, + "column": 20, + "endLine": 30, + "endColumn": 21, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 27, "column": 12, diff --git a/ets2panda/linter/test/main/no_tuples_arrays.ets.arkts2.json b/ets2panda/linter/test/main/no_tuples_arrays.ets.arkts2.json index b86a5ddb80..f0089549bc 100644 --- a/ets2panda/linter/test/main/no_tuples_arrays.ets.arkts2.json +++ b/ets2panda/linter/test/main/no_tuples_arrays.ets.arkts2.json @@ -14,6 +14,36 @@ "limitations under the License." ], "result": [ + { + "line": 17, + "column": 18, + "endLine": 17, + "endColumn": 20, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 18, + "column": 41, + "endLine": 18, + "endColumn": 42, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 20, + "column": 10, + "endLine": 20, + "endColumn": 11, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 22, "column": 5, @@ -44,6 +74,36 @@ "rule": "Array types follow the principle of invariance (arkts-array-type-immutable)", "severity": "ERROR" }, + { + "line": 29, + "column": 30, + "endLine": 29, + "endColumn": 31, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 29, + "column": 34, + "endLine": 29, + "endColumn": 35, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 33, + "column": 23, + "endLine": 33, + "endColumn": 25, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 39, "column": 13, @@ -64,6 +124,26 @@ "rule": "Array types follow the principle of invariance (arkts-array-type-immutable)", "severity": "ERROR" }, + { + "line": 63, + "column": 43, + "endLine": 63, + "endColumn": 44, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 64, + "column": 44, + "endLine": 64, + "endColumn": 45, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 65, "column": 7, @@ -254,6 +334,16 @@ "rule": "Type inference in case of generic function calls is limited (arkts-no-inferred-generic-params)", "severity": "ERROR" }, + { + "line": 85, + "column": 38, + "endLine": 85, + "endColumn": 39, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 85, "column": 44, @@ -264,6 +354,46 @@ "rule": "Use explicit types instead of \"any\", \"unknown\" (arkts-no-any-unknown)", "severity": "ERROR" }, + { + "line": 85, + "column": 65, + "endLine": 85, + "endColumn": 66, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 85, + "column": 71, + "endLine": 85, + "endColumn": 72, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 85, + "column": 91, + "endLine": 85, + "endColumn": 92, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 85, + "column": 97, + "endLine": 85, + "endColumn": 98, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 86, "column": 34, @@ -274,6 +404,86 @@ "rule": "Array and tuple are different type(arkts-no-tuples-arrays)", "severity": "ERROR" }, + { + "line": 87, + "column": 34, + "endLine": 87, + "endColumn": 35, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 87, + "column": 37, + "endLine": 87, + "endColumn": 38, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 87, + "column": 40, + "endLine": 87, + "endColumn": 41, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 87, + "column": 43, + "endLine": 87, + "endColumn": 44, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 87, + "column": 46, + "endLine": 87, + "endColumn": 47, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 88, + "column": 54, + "endLine": 88, + "endColumn": 55, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 88, + "column": 60, + "endLine": 88, + "endColumn": 61, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 88, + "column": 79, + "endLine": 88, + "endColumn": 80, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 89, "column": 34, diff --git a/ets2panda/linter/test/main/numeric_bigint_compare.ets.arkts2.json b/ets2panda/linter/test/main/numeric_bigint_compare.ets.arkts2.json index 30d46ababf..09a668e7ce 100755 --- a/ets2panda/linter/test/main/numeric_bigint_compare.ets.arkts2.json +++ b/ets2panda/linter/test/main/numeric_bigint_compare.ets.arkts2.json @@ -14,6 +14,16 @@ "limitations under the License." ], "result": [ + { + "line": 16, + "column": 18, + "endLine": 16, + "endColumn": 21, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 19, "column": 1, diff --git a/ets2panda/linter/test/main/numeric_semantics.ets.arkts2.json b/ets2panda/linter/test/main/numeric_semantics.ets.arkts2.json index 1c60c7069a..d8d76c5ce8 100755 --- a/ets2panda/linter/test/main/numeric_semantics.ets.arkts2.json +++ b/ets2panda/linter/test/main/numeric_semantics.ets.arkts2.json @@ -1,678 +1,1168 @@ -{ - "copyright": [ - "Copyright (c) 2025 Huawei Device Co., Ltd.", - "Licensed under the Apache License, Version 2.0 (the 'License');", - "you may not use this file except in compliance with the License.", - "You may obtain a copy of the License at", - "", - "http://www.apache.org/licenses/LICENSE-2.0", - "", - "Unless required by applicable law or agreed to in writing, software", - "distributed under the License is distributed on an 'AS IS' BASIS,", - "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.", - "See the License for the specific language governing permissions and", - "limitations under the License." - ], - "result": [ - { - "line": 18, - "column": 5, - "endLine": 18, - "endColumn": 10, - "problem": "NumericSemantics", - "suggest": "", - "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", - "severity": "ERROR" - }, - { - "line": 39, - "column": 5, - "endLine": 39, - "endColumn": 12, - "problem": "NumericSemantics", - "suggest": "", - "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", - "severity": "ERROR" - }, - { - "line": 45, - "column": 5, - "endLine": 45, - "endColumn": 10, - "problem": "NumericSemantics", - "suggest": "", - "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", - "severity": "ERROR" - }, - { - "line": 51, - "column": 5, - "endLine": 51, - "endColumn": 10, - "problem": "NumericSemantics", - "suggest": "", - "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", - "severity": "ERROR" - }, - { - "line": 55, - "column": 5, - "endLine": 55, - "endColumn": 18, - "problem": "NumericSemantics", - "suggest": "", - "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", - "severity": "ERROR" - }, - { - "line": 57, - "column": 5, - "endLine": 57, - "endColumn": 15, - "problem": "DefiniteAssignmentError", - "suggest": "", - "rule": "Definite assignment assertions are not supported (arkts-no-definite-assignment)", - "severity": "ERROR" - }, - { - "line": 59, - "column": 5, - "endLine": 59, - "endColumn": 18, - "problem": "NumericSemantics", - "suggest": "", - "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", - "severity": "ERROR" - }, - { - "line": 61, - "column": 5, - "endLine": 61, - "endColumn": 19, - "problem": "NumericSemantics", - "suggest": "", - "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", - "severity": "ERROR" - }, - { - "line": 63, - "column": 5, - "endLine": 63, - "endColumn": 14, - "problem": "NumericSemantics", - "suggest": "", - "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", - "severity": "ERROR" - }, - { - "line": 65, - "column": 5, - "endLine": 65, - "endColumn": 27, - "problem": "NumericSemantics", - "suggest": "", - "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", - "severity": "ERROR" - }, - { - "line": 67, - "column": 5, - "endLine": 67, - "endColumn": 27, - "problem": "NumericSemantics", - "suggest": "", - "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", - "severity": "ERROR" - }, - { - "line": 73, - "column": 5, - "endLine": 73, - "endColumn": 11, - "problem": "NumericSemantics", - "suggest": "", - "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", - "severity": "ERROR" - }, - { - "line": 75, - "column": 5, - "endLine": 75, - "endColumn": 12, - "problem": "NumericSemantics", - "suggest": "", - "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", - "severity": "ERROR" - }, - { - "line": 78, - "column": 4, - "endLine": 78, - "endColumn": 10, - "problem": "NumericSemantics", - "suggest": "", - "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", - "severity": "ERROR" - }, - { - "line": 83, - "column": 5, - "endLine": 83, - "endColumn": 14, - "problem": "NumericSemantics", - "suggest": "", - "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", - "severity": "ERROR" - }, - { - "line": 85, - "column": 5, - "endLine": 85, - "endColumn": 14, - "problem": "NumericSemantics", - "suggest": "", - "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", - "severity": "ERROR" - }, - { - "line": 87, - "column": 5, - "endLine": 87, - "endColumn": 26, - "problem": "NumericSemantics", - "suggest": "", - "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", - "severity": "ERROR" - }, - { - "line": 89, - "column": 5, - "endLine": 89, - "endColumn": 27, - "problem": "NumericSemantics", - "suggest": "", - "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", - "severity": "ERROR" - }, - { - "line": 92, - "column": 1, - "endLine": 94, - "endColumn": 2, - "problem": "NumericSemantics", - "suggest": "", - "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", - "severity": "ERROR" - }, - { - "line": 96, - "column": 1, - "endLine": 98, - "endColumn": 2, - "problem": "NumericSemantics", - "suggest": "", - "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", - "severity": "ERROR" - }, - { - "line": 103, - "column": 1, - "endLine": 103, - "endColumn": 13, - "problem": "NumericSemantics", - "suggest": "", - "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", - "severity": "ERROR" - }, - { - "line": 105, - "column": 5, - "endLine": 105, - "endColumn": 23, - "problem": "NumericSemantics", - "suggest": "", - "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", - "severity": "ERROR" - }, - { - "line": 107, - "column": 5, - "endLine": 107, - "endColumn": 19, - "problem": "NumericSemantics", - "suggest": "", - "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", - "severity": "ERROR" - }, - { - "line": 107, - "column": 18, - "endLine": 107, - "endColumn": 18, - "problem": "ArrayIndexExprType", - "suggest": "", - "rule": "The index expression must be of a numeric type (arkts-array-index-expr-type)", - "severity": "ERROR" - }, - { - "line": 109, - "column": 7, - "endLine": 109, - "endColumn": 12, - "problem": "NumericSemantics", - "suggest": "", - "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", - "severity": "ERROR" - }, - { - "line": 115, - "column": 7, - "endLine": 115, - "endColumn": 20, - "problem": "NumericSemantics", - "suggest": "", - "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", - "severity": "ERROR" - }, - { - "line": 121, - "column": 3, - "endLine": 121, - "endColumn": 19, - "problem": "NumericSemantics", - "suggest": "", - "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", - "severity": "ERROR" - }, - { - "line": 122, - "column": 3, - "endLine": 122, - "endColumn": 21, - "problem": "NumericSemantics", - "suggest": "", - "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", - "severity": "ERROR" - }, - { - "line": 123, - "column": 3, - "endLine": 123, - "endColumn": 23, - "problem": "NumericSemantics", - "suggest": "", - "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", - "severity": "ERROR" - }, - { - "line": 124, - "column": 3, - "endLine": 124, - "endColumn": 23, - "problem": "NumericSemantics", - "suggest": "", - "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", - "severity": "ERROR" - }, - { - "line": 125, - "column": 3, - "endLine": 125, - "endColumn": 23, - "problem": "NumericSemantics", - "suggest": "", - "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", - "severity": "ERROR" - }, - { - "line": 126, - "column": 3, - "endLine": 126, - "endColumn": 24, - "problem": "NumericSemantics", - "suggest": "", - "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", - "severity": "ERROR" - }, - { - "line": 137, - "column": 7, - "endLine": 137, - "endColumn": 13, - "problem": "NumericSemantics", - "suggest": "", - "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", - "severity": "ERROR" - }, - { - "line": 140, - "column": 3, - "endLine": 140, - "endColumn": 19, - "problem": "NumericSemantics", - "suggest": "", - "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", - "severity": "ERROR" - }, - { - "line": 143, - "column": 7, - "endLine": 143, - "endColumn": 123, - "problem": "AnyType", - "suggest": "", - "rule": "Use explicit types instead of \"any\", \"unknown\" (arkts-no-any-unknown)", - "severity": "ERROR" - }, - { - "line": 143, - "column": 30, - "endLine": 143, - "endColumn": 118, - "problem": "NumericSemantics", - "suggest": "", - "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", - "severity": "ERROR" - }, - { - "line": 145, - "column": 45, - "endLine": 145, - "endColumn": 49, - "problem": "VoidOperator", - "suggest": "", - "rule": "\"void\" operator is not supported (arkts-no-void-operator)", - "severity": "ERROR" - }, - { - "line": 145, - "column": 50, - "endLine": 145, - "endColumn": 51, - "problem": "ObjectLiteralNoContextType", - "suggest": "", - "rule": "Object literal must correspond to some explicitly declared class or interface (arkts-no-untyped-obj-literals)", - "severity": "ERROR" - }, - { - "line": 146, - "column": 5, - "endLine": 146, - "endColumn": 21, - "problem": "ObjectLiteralProperty", - "suggest": "", - "rule": "Object literal properties can only contain name-value pairs (arkts-obj-literal-props)", - "severity": "ERROR" - }, - { - "line": 147, - "column": 5, - "endLine": 147, - "endColumn": 21, - "problem": "ObjectLiteralProperty", - "suggest": "", - "rule": "Object literal properties can only contain name-value pairs (arkts-obj-literal-props)", - "severity": "ERROR" - }, - { - "line": 149, - "column": 5, - "endLine": 149, - "endColumn": 8, - "problem": "ObjectLiteralProperty", - "suggest": "", - "rule": "Object literal properties can only contain name-value pairs (arkts-obj-literal-props)", - "severity": "ERROR" - }, - { - "line": 149, - "column": 9, - "endLine": 149, - "endColumn": 23, - "problem": "ObjectLiteralProperty", - "suggest": "", - "rule": "Object literal properties can only contain name-value pairs (arkts-obj-literal-props)", - "severity": "ERROR" - }, - { - "line": 150, - "column": 5, - "endLine": 150, - "endColumn": 104, - "problem": "ObjectLiteralProperty", - "suggest": "", - "rule": "Object literal properties can only contain name-value pairs (arkts-obj-literal-props)", - "severity": "ERROR" - }, - { - "line": 151, - "column": 5, - "endLine": 151, - "endColumn": 8, - "problem": "ObjectLiteralProperty", - "suggest": "", - "rule": "Object literal properties can only contain name-value pairs (arkts-obj-literal-props)", - "severity": "ERROR" - }, - { - "line": 151, - "column": 9, - "endLine": 151, - "endColumn": 61, - "problem": "ObjectLiteralProperty", - "suggest": "", - "rule": "Object literal properties can only contain name-value pairs (arkts-obj-literal-props)", - "severity": "ERROR" - }, - { - "line": 152, - "column": 5, - "endLine": 152, - "endColumn": 12, - "problem": "ObjectLiteralProperty", - "suggest": "", - "rule": "Object literal properties can only contain name-value pairs (arkts-obj-literal-props)", - "severity": "ERROR" - }, - { - "line": 152, - "column": 5, - "endLine": 152, - "endColumn": 7, - "problem": "LimitedReturnTypeInference", - "suggest": "", - "rule": "Function return type inference is limited (arkts-no-implicit-return-types)", - "severity": "ERROR" - }, - { - "line": 152, - "column": 5, - "endLine": 152, - "endColumn": 7, - "problem": "InvalidIdentifier", - "suggest": "", - "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", - "severity": "ERROR" - }, - { - "line": 152, - "column": 9, - "endLine": 152, - "endColumn": 12, - "problem": "AnyType", - "suggest": "", - "rule": "Use explicit types instead of \"any\", \"unknown\" (arkts-no-any-unknown)", - "severity": "ERROR" - }, - { - "line": 166, - "column": 5, - "endLine": 166, - "endColumn": 12, - "problem": "NumericSemantics", - "suggest": "", - "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", - "severity": "ERROR" - }, - { - "line": 170, - "column": 5, - "endLine": 170, - "endColumn": 12, - "problem": "NumericSemantics", - "suggest": "", - "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", - "severity": "ERROR" - }, - { - "line": 182, - "column": 5, - "endLine": 182, - "endColumn": 19, - "problem": "NumericSemantics", - "suggest": "", - "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", - "severity": "ERROR" - }, - { - "line": 185, - "column": 5, - "endLine": 185, - "endColumn": 12, - "problem": "NumericSemantics", - "suggest": "", - "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", - "severity": "ERROR" - }, - { - "line": 197, - "column": 1, - "endLine": 197, - "endColumn": 40, - "problem": "ImportAfterStatement", - "suggest": "", - "rule": "\"import\" statements after other statements are not allowed (arkts-no-misplaced-imports)", - "severity": "ERROR" - }, - { - "line": 199, - "column": 5, - "endLine": 199, - "endColumn": 34, - "problem": "AnyType", - "suggest": "", - "rule": "Use explicit types instead of \"any\", \"unknown\" (arkts-no-any-unknown)", - "severity": "ERROR" - }, - { - "line": 199, - "column": 15, - "endLine": 199, - "endColumn": 24, - "problem": "DynamicCtorCall", - "suggest": "", - "rule": "\"new\" expression with dynamic constructor type is not supported (arkts-no-dynamic-ctor-call)", - "severity": "ERROR" - }, - { - "line": 205, - "column": 42, - "endLine": 205, - "endColumn": 51, - "problem": "DynamicCtorCall", - "suggest": "", - "rule": "\"new\" expression with dynamic constructor type is not supported (arkts-no-dynamic-ctor-call)", - "severity": "ERROR" - }, - { - "line": 117, - "column": 2, - "endLine": 117, - "endColumn": 7, - "problem": "UIInterfaceImport", - "suggest": "", - "rule": "ArkUI interface should be imported before using (arkui-modular-interface)", - "severity": "ERROR" - }, - { - "line": 118, - "column": 2, - "endLine": 118, - "endColumn": 11, - "problem": "UIInterfaceImport", - "suggest": "", - "rule": "ArkUI interface should be imported before using (arkui-modular-interface)", - "severity": "ERROR" - }, - { - "line": 120, - "column": 4, - "endLine": 120, - "endColumn": 9, - "problem": "UIInterfaceImport", - "suggest": "", - "rule": "ArkUI interface should be imported before using (arkui-modular-interface)", - "severity": "ERROR" - }, - { - "line": 129, - "column": 5, - "endLine": 129, - "endColumn": 22, - "problem": "UIInterfaceImport", - "suggest": "", - "rule": "ArkUI interface should be imported before using (arkui-modular-interface)", - "severity": "ERROR" - }, - { - "line": 130, - "column": 7, - "endLine": 130, - "endColumn": 11, - "problem": "UIInterfaceImport", - "suggest": "", - "rule": "ArkUI interface should be imported before using (arkui-modular-interface)", - "severity": "ERROR" - }, - { - "line": 143, - "column": 30, - "endLine": 143, - "endColumn": 40, - "problem": "UIInterfaceImport", - "suggest": "", - "rule": "ArkUI interface should be imported before using (arkui-modular-interface)", - "severity": "ERROR" - }, - { - "line": 153, - "column": 46, - "endLine": 153, - "endColumn": 56, - "problem": "UIInterfaceImport", - "suggest": "", - "rule": "ArkUI interface should be imported before using (arkui-modular-interface)", - "severity": "ERROR" - }, - { - "line": 154, - "column": 33, - "endLine": 154, - "endColumn": 43, - "problem": "UIInterfaceImport", - "suggest": "", - "rule": "ArkUI interface should be imported before using (arkui-modular-interface)", - "severity": "ERROR" - }, - { - "line": 155, - "column": 34, - "endLine": 155, - "endColumn": 44, - "problem": "UIInterfaceImport", - "suggest": "", - "rule": "ArkUI interface should be imported before using (arkui-modular-interface)", - "severity": "ERROR" - } - ] +{ + "copyright": [ + "Copyright (c) 2025 Huawei Device Co., Ltd.", + "Licensed under the Apache License, Version 2.0 (the 'License');", + "you may not use this file except in compliance with the License.", + "You may obtain a copy of the License at", + "", + "http://www.apache.org/licenses/LICENSE-2.0", + "", + "Unless required by applicable law or agreed to in writing, software", + "distributed under the License is distributed on an 'AS IS' BASIS,", + "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.", + "See the License for the specific language governing permissions and", + "limitations under the License." + ], + "result": [ + { + "line": 18, + "column": 5, + "endLine": 18, + "endColumn": 10, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 18, + "column": 9, + "endLine": 18, + "endColumn": 10, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 20, + "column": 5, + "endLine": 20, + "endColumn": 6, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 23, + "column": 6, + "endLine": 23, + "endColumn": 7, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 26, + "column": 17, + "endLine": 26, + "endColumn": 18, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 28, + "column": 17, + "endLine": 28, + "endColumn": 18, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 30, + "column": 13, + "endLine": 30, + "endColumn": 14, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 33, + "column": 17, + "endLine": 33, + "endColumn": 18, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 39, + "column": 5, + "endLine": 39, + "endColumn": 12, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 45, + "column": 5, + "endLine": 45, + "endColumn": 10, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 45, + "column": 9, + "endLine": 45, + "endColumn": 10, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 51, + "column": 5, + "endLine": 51, + "endColumn": 10, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 51, + "column": 9, + "endLine": 51, + "endColumn": 10, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 53, + "column": 17, + "endLine": 53, + "endColumn": 18, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 55, + "column": 5, + "endLine": 55, + "endColumn": 18, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 55, + "column": 10, + "endLine": 55, + "endColumn": 11, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 55, + "column": 13, + "endLine": 55, + "endColumn": 14, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 55, + "column": 16, + "endLine": 55, + "endColumn": 17, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 57, + "column": 5, + "endLine": 57, + "endColumn": 15, + "problem": "DefiniteAssignmentError", + "suggest": "", + "rule": "Definite assignment assertions are not supported (arkts-no-definite-assignment)", + "severity": "ERROR" + }, + { + "line": 59, + "column": 5, + "endLine": 59, + "endColumn": 18, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 61, + "column": 5, + "endLine": 61, + "endColumn": 19, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 63, + "column": 5, + "endLine": 63, + "endColumn": 14, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 65, + "column": 5, + "endLine": 65, + "endColumn": 27, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 67, + "column": 5, + "endLine": 67, + "endColumn": 27, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 69, + "column": 16, + "endLine": 69, + "endColumn": 19, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 71, + "column": 19, + "endLine": 71, + "endColumn": 22, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 73, + "column": 5, + "endLine": 73, + "endColumn": 11, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 75, + "column": 5, + "endLine": 75, + "endColumn": 12, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 78, + "column": 4, + "endLine": 78, + "endColumn": 10, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 78, + "column": 8, + "endLine": 78, + "endColumn": 9, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 83, + "column": 5, + "endLine": 83, + "endColumn": 14, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 83, + "column": 11, + "endLine": 83, + "endColumn": 14, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 85, + "column": 5, + "endLine": 85, + "endColumn": 14, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 85, + "column": 11, + "endLine": 85, + "endColumn": 14, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 87, + "column": 5, + "endLine": 87, + "endColumn": 26, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 89, + "column": 5, + "endLine": 89, + "endColumn": 27, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 92, + "column": 1, + "endLine": 94, + "endColumn": 2, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 92, + "column": 23, + "endLine": 92, + "endColumn": 24, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 92, + "column": 30, + "endLine": 92, + "endColumn": 31, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 96, + "column": 1, + "endLine": 98, + "endColumn": 2, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 103, + "column": 10, + "endLine": 103, + "endColumn": 12, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 105, + "column": 5, + "endLine": 105, + "endColumn": 23, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 105, + "column": 17, + "endLine": 105, + "endColumn": 18, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 105, + "column": 19, + "endLine": 105, + "endColumn": 20, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 105, + "column": 21, + "endLine": 105, + "endColumn": 22, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 107, + "column": 5, + "endLine": 107, + "endColumn": 19, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 107, + "column": 18, + "endLine": 107, + "endColumn": 18, + "problem": "ArrayIndexExprType", + "suggest": "", + "rule": "The index expression must be of a numeric type (arkts-array-index-expr-type)", + "severity": "ERROR" + }, + { + "line": 109, + "column": 7, + "endLine": 109, + "endColumn": 12, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 109, + "column": 11, + "endLine": 109, + "endColumn": 12, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 115, + "column": 7, + "endLine": 115, + "endColumn": 20, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 121, + "column": 3, + "endLine": 121, + "endColumn": 19, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 121, + "column": 17, + "endLine": 121, + "endColumn": 18, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 122, + "column": 3, + "endLine": 122, + "endColumn": 21, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 123, + "column": 3, + "endLine": 123, + "endColumn": 23, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 124, + "column": 3, + "endLine": 124, + "endColumn": 23, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 125, + "column": 3, + "endLine": 125, + "endColumn": 23, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 126, + "column": 3, + "endLine": 126, + "endColumn": 24, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 126, + "column": 18, + "endLine": 126, + "endColumn": 19, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 126, + "column": 20, + "endLine": 126, + "endColumn": 21, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 126, + "column": 22, + "endLine": 126, + "endColumn": 23, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 137, + "column": 7, + "endLine": 137, + "endColumn": 13, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 137, + "column": 12, + "endLine": 137, + "endColumn": 13, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 140, + "column": 3, + "endLine": 140, + "endColumn": 19, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 140, + "column": 17, + "endLine": 140, + "endColumn": 18, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 143, + "column": 7, + "endLine": 143, + "endColumn": 123, + "problem": "AnyType", + "suggest": "", + "rule": "Use explicit types instead of \"any\", \"unknown\" (arkts-no-any-unknown)", + "severity": "ERROR" + }, + { + "line": 143, + "column": 30, + "endLine": 143, + "endColumn": 118, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 143, + "column": 122, + "endLine": 143, + "endColumn": 123, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 145, + "column": 45, + "endLine": 145, + "endColumn": 49, + "problem": "VoidOperator", + "suggest": "", + "rule": "\"void\" operator is not supported (arkts-no-void-operator)", + "severity": "ERROR" + }, + { + "line": 145, + "column": 50, + "endLine": 145, + "endColumn": 51, + "problem": "ObjectLiteralNoContextType", + "suggest": "", + "rule": "Object literal must correspond to some explicitly declared class or interface (arkts-no-untyped-obj-literals)", + "severity": "ERROR" + }, + { + "line": 146, + "column": 5, + "endLine": 146, + "endColumn": 21, + "problem": "ObjectLiteralProperty", + "suggest": "", + "rule": "Object literal properties can only contain name-value pairs (arkts-obj-literal-props)", + "severity": "ERROR" + }, + { + "line": 147, + "column": 5, + "endLine": 147, + "endColumn": 21, + "problem": "ObjectLiteralProperty", + "suggest": "", + "rule": "Object literal properties can only contain name-value pairs (arkts-obj-literal-props)", + "severity": "ERROR" + }, + { + "line": 149, + "column": 5, + "endLine": 149, + "endColumn": 8, + "problem": "ObjectLiteralProperty", + "suggest": "", + "rule": "Object literal properties can only contain name-value pairs (arkts-obj-literal-props)", + "severity": "ERROR" + }, + { + "line": 149, + "column": 9, + "endLine": 149, + "endColumn": 23, + "problem": "ObjectLiteralProperty", + "suggest": "", + "rule": "Object literal properties can only contain name-value pairs (arkts-obj-literal-props)", + "severity": "ERROR" + }, + { + "line": 150, + "column": 5, + "endLine": 150, + "endColumn": 104, + "problem": "ObjectLiteralProperty", + "suggest": "", + "rule": "Object literal properties can only contain name-value pairs (arkts-obj-literal-props)", + "severity": "ERROR" + }, + { + "line": 151, + "column": 5, + "endLine": 151, + "endColumn": 8, + "problem": "ObjectLiteralProperty", + "suggest": "", + "rule": "Object literal properties can only contain name-value pairs (arkts-obj-literal-props)", + "severity": "ERROR" + }, + { + "line": 151, + "column": 9, + "endLine": 151, + "endColumn": 61, + "problem": "ObjectLiteralProperty", + "suggest": "", + "rule": "Object literal properties can only contain name-value pairs (arkts-obj-literal-props)", + "severity": "ERROR" + }, + { + "line": 152, + "column": 5, + "endLine": 152, + "endColumn": 12, + "problem": "ObjectLiteralProperty", + "suggest": "", + "rule": "Object literal properties can only contain name-value pairs (arkts-obj-literal-props)", + "severity": "ERROR" + }, + { + "line": 149, + "column": 17, + "endLine": 149, + "endColumn": 18, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 149, + "column": 21, + "endLine": 149, + "endColumn": 22, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 152, + "column": 5, + "endLine": 152, + "endColumn": 7, + "problem": "LimitedReturnTypeInference", + "suggest": "", + "rule": "Function return type inference is limited (arkts-no-implicit-return-types)", + "severity": "ERROR" + }, + { + "line": 152, + "column": 5, + "endLine": 152, + "endColumn": 7, + "problem": "InvalidIdentifier", + "suggest": "", + "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", + "severity": "ERROR" + }, + { + "line": 152, + "column": 9, + "endLine": 152, + "endColumn": 12, + "problem": "AnyType", + "suggest": "", + "rule": "Use explicit types instead of \"any\", \"unknown\" (arkts-no-any-unknown)", + "severity": "ERROR" + }, + { + "line": 152, + "column": 22, + "endLine": 152, + "endColumn": 23, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 153, + "column": 100, + "endLine": 153, + "endColumn": 101, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 160, + "column": 84, + "endLine": 160, + "endColumn": 85, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 166, + "column": 5, + "endLine": 166, + "endColumn": 12, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 167, + "column": 18, + "endLine": 167, + "endColumn": 19, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 170, + "column": 5, + "endLine": 170, + "endColumn": 12, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 171, + "column": 18, + "endLine": 171, + "endColumn": 19, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 180, + "column": 9, + "endLine": 180, + "endColumn": 10, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 181, + "column": 9, + "endLine": 181, + "endColumn": 10, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 182, + "column": 5, + "endLine": 182, + "endColumn": 19, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 182, + "column": 13, + "endLine": 182, + "endColumn": 14, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 182, + "column": 15, + "endLine": 182, + "endColumn": 16, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 182, + "column": 17, + "endLine": 182, + "endColumn": 18, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 185, + "column": 5, + "endLine": 185, + "endColumn": 12, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 190, + "column": 10, + "endLine": 190, + "endColumn": 11, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 194, + "column": 10, + "endLine": 194, + "endColumn": 11, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 197, + "column": 1, + "endLine": 197, + "endColumn": 40, + "problem": "ImportAfterStatement", + "suggest": "", + "rule": "\"import\" statements after other statements are not allowed (arkts-no-misplaced-imports)", + "severity": "ERROR" + }, + { + "line": 199, + "column": 5, + "endLine": 199, + "endColumn": 34, + "problem": "AnyType", + "suggest": "", + "rule": "Use explicit types instead of \"any\", \"unknown\" (arkts-no-any-unknown)", + "severity": "ERROR" + }, + { + "line": 199, + "column": 15, + "endLine": 199, + "endColumn": 24, + "problem": "DynamicCtorCall", + "suggest": "", + "rule": "\"new\" expression with dynamic constructor type is not supported (arkts-no-dynamic-ctor-call)", + "severity": "ERROR" + }, + { + "line": 200, + "column": 21, + "endLine": 200, + "endColumn": 22, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 200, + "column": 28, + "endLine": 200, + "endColumn": 31, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 203, + "column": 52, + "endLine": 203, + "endColumn": 53, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 203, + "column": 55, + "endLine": 203, + "endColumn": 57, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 205, + "column": 42, + "endLine": 205, + "endColumn": 51, + "problem": "DynamicCtorCall", + "suggest": "", + "rule": "\"new\" expression with dynamic constructor type is not supported (arkts-no-dynamic-ctor-call)", + "severity": "ERROR" + }, + { + "line": 117, + "column": 2, + "endLine": 117, + "endColumn": 7, + "problem": "UIInterfaceImport", + "suggest": "", + "rule": "ArkUI interface should be imported before using (arkui-modular-interface)", + "severity": "ERROR" + }, + { + "line": 118, + "column": 2, + "endLine": 118, + "endColumn": 11, + "problem": "UIInterfaceImport", + "suggest": "", + "rule": "ArkUI interface should be imported before using (arkui-modular-interface)", + "severity": "ERROR" + }, + { + "line": 120, + "column": 4, + "endLine": 120, + "endColumn": 9, + "problem": "UIInterfaceImport", + "suggest": "", + "rule": "ArkUI interface should be imported before using (arkui-modular-interface)", + "severity": "ERROR" + }, + { + "line": 129, + "column": 5, + "endLine": 129, + "endColumn": 22, + "problem": "UIInterfaceImport", + "suggest": "", + "rule": "ArkUI interface should be imported before using (arkui-modular-interface)", + "severity": "ERROR" + }, + { + "line": 130, + "column": 7, + "endLine": 130, + "endColumn": 11, + "problem": "UIInterfaceImport", + "suggest": "", + "rule": "ArkUI interface should be imported before using (arkui-modular-interface)", + "severity": "ERROR" + }, + { + "line": 143, + "column": 30, + "endLine": 143, + "endColumn": 40, + "problem": "UIInterfaceImport", + "suggest": "", + "rule": "ArkUI interface should be imported before using (arkui-modular-interface)", + "severity": "ERROR" + }, + { + "line": 153, + "column": 46, + "endLine": 153, + "endColumn": 56, + "problem": "UIInterfaceImport", + "suggest": "", + "rule": "ArkUI interface should be imported before using (arkui-modular-interface)", + "severity": "ERROR" + }, + { + "line": 154, + "column": 33, + "endLine": 154, + "endColumn": 43, + "problem": "UIInterfaceImport", + "suggest": "", + "rule": "ArkUI interface should be imported before using (arkui-modular-interface)", + "severity": "ERROR" + }, + { + "line": 155, + "column": 34, + "endLine": 155, + "endColumn": 44, + "problem": "UIInterfaceImport", + "suggest": "", + "rule": "ArkUI interface should be imported before using (arkui-modular-interface)", + "severity": "ERROR" + } + ] } \ No newline at end of file diff --git a/ets2panda/linter/test/main/numeric_semantics.ets.autofix.json b/ets2panda/linter/test/main/numeric_semantics.ets.autofix.json index ea3285da99..148d39bc82 100644 --- a/ets2panda/linter/test/main/numeric_semantics.ets.autofix.json +++ b/ets2panda/linter/test/main/numeric_semantics.ets.autofix.json @@ -35,6 +35,153 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 18, + "column": 9, + "endLine": 18, + "endColumn": 10, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 748, + "end": 749, + "replacementText": "1.0", + "line": 18, + "column": 9, + "endLine": 18, + "endColumn": 10 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 20, + "column": 5, + "endLine": 20, + "endColumn": 6, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 758, + "end": 759, + "replacementText": "1.0", + "line": 20, + "column": 5, + "endLine": 20, + "endColumn": 6 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 23, + "column": 6, + "endLine": 23, + "endColumn": 7, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 848, + "end": 849, + "replacementText": "1.0", + "line": 23, + "column": 6, + "endLine": 23, + "endColumn": 7 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 26, + "column": 17, + "endLine": 26, + "endColumn": 18, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 921, + "end": 922, + "replacementText": "1.0", + "line": 26, + "column": 17, + "endLine": 26, + "endColumn": 18 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 28, + "column": 17, + "endLine": 28, + "endColumn": 18, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 977, + "end": 978, + "replacementText": "2.0", + "line": 28, + "column": 17, + "endLine": 28, + "endColumn": 18 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 30, + "column": 13, + "endLine": 30, + "endColumn": 14, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1083, + "end": 1084, + "replacementText": "2.0", + "line": 30, + "column": 13, + "endLine": 30, + "endColumn": 14 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 33, + "column": 17, + "endLine": 33, + "endColumn": 18, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1199, + "end": 1200, + "replacementText": "1.0", + "line": 33, + "column": 17, + "endLine": 33, + "endColumn": 18 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 39, "column": 5, @@ -77,6 +224,27 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 45, + "column": 9, + "endLine": 45, + "endColumn": 10, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1565, + "end": 1566, + "replacementText": "2.0", + "line": 45, + "column": 9, + "endLine": 45, + "endColumn": 10 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 51, "column": 5, @@ -98,6 +266,48 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 51, + "column": 9, + "endLine": 51, + "endColumn": 10, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1716, + "end": 1717, + "replacementText": "2.0", + "line": 51, + "column": 9, + "endLine": 51, + "endColumn": 10 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 53, + "column": 17, + "endLine": 53, + "endColumn": 18, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1738, + "end": 1739, + "replacementText": "1.0", + "line": 53, + "column": 17, + "endLine": 53, + "endColumn": 18 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 55, "column": 5, @@ -119,6 +329,69 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 55, + "column": 10, + "endLine": 55, + "endColumn": 11, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1752, + "end": 1753, + "replacementText": "1.0", + "line": 55, + "column": 10, + "endLine": 55, + "endColumn": 11 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 55, + "column": 13, + "endLine": 55, + "endColumn": 14, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1755, + "end": 1756, + "replacementText": "2.0", + "line": 55, + "column": 13, + "endLine": 55, + "endColumn": 14 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 55, + "column": 16, + "endLine": 55, + "endColumn": 17, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1758, + "end": 1759, + "replacementText": "3.0", + "line": 55, + "column": 16, + "endLine": 55, + "endColumn": 17 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 57, "column": 5, @@ -234,6 +507,48 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 69, + "column": 16, + "endLine": 69, + "endColumn": 19, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1921, + "end": 1924, + "replacementText": "123.0", + "line": 69, + "column": 16, + "endLine": 69, + "endColumn": 19 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 71, + "column": 19, + "endLine": 71, + "endColumn": 22, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1947, + "end": 1950, + "replacementText": "123.0", + "line": 71, + "column": 19, + "endLine": 71, + "endColumn": 22 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 73, "column": 5, @@ -297,6 +612,27 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 78, + "column": 8, + "endLine": 78, + "endColumn": 9, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 2005, + "end": 2006, + "replacementText": "1.0", + "line": 78, + "column": 8, + "endLine": 78, + "endColumn": 9 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 83, "column": 5, @@ -318,6 +654,27 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 83, + "column": 11, + "endLine": 83, + "endColumn": 14, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 2049, + "end": 2052, + "replacementText": "123.0", + "line": 83, + "column": 11, + "endLine": 83, + "endColumn": 14 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 85, "column": 5, @@ -339,6 +696,27 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 85, + "column": 11, + "endLine": 85, + "endColumn": 14, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 2067, + "end": 2070, + "replacementText": "234.0", + "line": 85, + "column": 11, + "endLine": 85, + "endColumn": 14 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 87, "column": 5, @@ -444,6 +822,48 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 92, + "column": 23, + "endLine": 92, + "endColumn": 24, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 2192, + "end": 2193, + "replacementText": "2.0", + "line": 92, + "column": 23, + "endLine": 92, + "endColumn": 24 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 92, + "column": 30, + "endLine": 92, + "endColumn": 31, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 2199, + "end": 2200, + "replacementText": "3.0", + "line": 92, + "column": 30, + "endLine": 92, + "endColumn": 31 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 96, "column": 1, @@ -467,19 +887,19 @@ }, { "line": 103, - "column": 1, + "column": 10, "endLine": 103, - "endColumn": 13, + "endColumn": 12, "problem": "NumericSemantics", "autofix": [ { - "start": 2347, - "end": 2359, - "replacementText": "identity(42)", + "start": 2356, + "end": 2358, + "replacementText": "42.0", "line": 103, - "column": 1, + "column": 10, "endLine": 103, - "endColumn": 13 + "endColumn": 12 } ], "suggest": "", @@ -507,6 +927,69 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 105, + "column": 17, + "endLine": 105, + "endColumn": 18, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 2380, + "end": 2381, + "replacementText": "1.0", + "line": 105, + "column": 17, + "endLine": 105, + "endColumn": 18 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 105, + "column": 19, + "endLine": 105, + "endColumn": 20, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 2382, + "end": 2383, + "replacementText": "2.0", + "line": 105, + "column": 19, + "endLine": 105, + "endColumn": 20 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 105, + "column": 21, + "endLine": 105, + "endColumn": 22, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 2384, + "end": 2385, + "replacementText": "3.0", + "line": 105, + "column": 21, + "endLine": 105, + "endColumn": 22 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 107, "column": 5, @@ -559,6 +1042,27 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 109, + "column": 11, + "endLine": 109, + "endColumn": 12, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 2422, + "end": 2423, + "replacementText": "1.0", + "line": 109, + "column": 11, + "endLine": 109, + "endColumn": 12 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 115, "column": 7, @@ -601,6 +1105,27 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 121, + "column": 17, + "endLine": 121, + "endColumn": 18, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 2607, + "end": 2608, + "replacementText": "1.0", + "line": 121, + "column": 17, + "endLine": 121, + "endColumn": 18 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 122, "column": 3, @@ -706,6 +1231,69 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 126, + "column": 18, + "endLine": 126, + "endColumn": 19, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 2758, + "end": 2759, + "replacementText": "1.0", + "line": 126, + "column": 18, + "endLine": 126, + "endColumn": 19 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 126, + "column": 20, + "endLine": 126, + "endColumn": 21, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 2760, + "end": 2761, + "replacementText": "2.0", + "line": 126, + "column": 20, + "endLine": 126, + "endColumn": 21 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 126, + "column": 22, + "endLine": 126, + "endColumn": 23, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 2762, + "end": 2763, + "replacementText": "3.0", + "line": 126, + "column": 22, + "endLine": 126, + "endColumn": 23 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 137, "column": 7, @@ -727,6 +1315,27 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 137, + "column": 12, + "endLine": 137, + "endColumn": 13, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 2898, + "end": 2899, + "replacementText": "1.0", + "line": 137, + "column": 12, + "endLine": 137, + "endColumn": 13 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 140, "column": 3, @@ -735,13 +1344,34 @@ "problem": "NumericSemantics", "autofix": [ { - "start": 2923, - "end": 2939, - "replacementText": "readonly a5: number = 4;", + "start": 2923, + "end": 2939, + "replacementText": "readonly a5: number = 4;", + "line": 140, + "column": 3, + "endLine": 140, + "endColumn": 19 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 140, + "column": 17, + "endLine": 140, + "endColumn": 18, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 2937, + "end": 2938, + "replacementText": "4.0", "line": 140, - "column": 3, + "column": 17, "endLine": 140, - "endColumn": 19 + "endColumn": 18 } ], "suggest": "", @@ -779,6 +1409,27 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 143, + "column": 122, + "endLine": 143, + "endColumn": 123, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 3067, + "end": 3068, + "replacementText": "0.0", + "line": 143, + "column": 122, + "endLine": 143, + "endColumn": 123 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 145, "column": 45, @@ -967,6 +1618,48 @@ "rule": "Object literal properties can only contain name-value pairs (arkts-obj-literal-props)", "severity": "ERROR" }, + { + "line": 149, + "column": 17, + "endLine": 149, + "endColumn": 18, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 3357, + "end": 3358, + "replacementText": "1.0", + "line": 149, + "column": 17, + "endLine": 149, + "endColumn": 18 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 149, + "column": 21, + "endLine": 149, + "endColumn": 22, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 3361, + "end": 3362, + "replacementText": "1.0", + "line": 149, + "column": 21, + "endLine": 149, + "endColumn": 22 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 152, "column": 5, @@ -997,6 +1690,69 @@ "rule": "Use explicit types instead of \"any\", \"unknown\" (arkts-no-any-unknown)", "severity": "ERROR" }, + { + "line": 152, + "column": 22, + "endLine": 152, + "endColumn": 23, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 3556, + "end": 3557, + "replacementText": "1.0", + "line": 152, + "column": 22, + "endLine": 152, + "endColumn": 23 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 153, + "column": 100, + "endLine": 153, + "endColumn": 101, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 3661, + "end": 3662, + "replacementText": "0.0", + "line": 153, + "column": 100, + "endLine": 153, + "endColumn": 101 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 160, + "column": 84, + "endLine": 160, + "endColumn": 85, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 4128, + "end": 4129, + "replacementText": "2.0", + "line": 160, + "column": 84, + "endLine": 160, + "endColumn": 85 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 166, "column": 5, @@ -1018,6 +1774,27 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 167, + "column": 18, + "endLine": 167, + "endColumn": 19, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 4415, + "end": 4416, + "replacementText": "0.0", + "line": 167, + "column": 18, + "endLine": 167, + "endColumn": 19 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 170, "column": 5, @@ -1039,6 +1816,69 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 171, + "column": 18, + "endLine": 171, + "endColumn": 19, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 4467, + "end": 4468, + "replacementText": "0.0", + "line": 171, + "column": 18, + "endLine": 171, + "endColumn": 19 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 180, + "column": 9, + "endLine": 180, + "endColumn": 10, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 4595, + "end": 4596, + "replacementText": "3.0", + "line": 180, + "column": 9, + "endLine": 180, + "endColumn": 10 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 181, + "column": 9, + "endLine": 181, + "endColumn": 10, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 4613, + "end": 4614, + "replacementText": "3.0", + "line": 181, + "column": 9, + "endLine": 181, + "endColumn": 10 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 182, "column": 5, @@ -1060,6 +1900,69 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 182, + "column": 13, + "endLine": 182, + "endColumn": 14, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 4635, + "end": 4636, + "replacementText": "1.0", + "line": 182, + "column": 13, + "endLine": 182, + "endColumn": 14 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 182, + "column": 15, + "endLine": 182, + "endColumn": 16, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 4637, + "end": 4638, + "replacementText": "2.0", + "line": 182, + "column": 15, + "endLine": 182, + "endColumn": 16 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 182, + "column": 17, + "endLine": 182, + "endColumn": 18, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 4639, + "end": 4640, + "replacementText": "3.0", + "line": 182, + "column": 17, + "endLine": 182, + "endColumn": 18 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 185, "column": 5, @@ -1081,6 +1984,48 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 190, + "column": 10, + "endLine": 190, + "endColumn": 11, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 4743, + "end": 4744, + "replacementText": "1.0", + "line": 190, + "column": 10, + "endLine": 190, + "endColumn": 11 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 194, + "column": 10, + "endLine": 194, + "endColumn": 11, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 4796, + "end": 4797, + "replacementText": "1.0", + "line": 194, + "column": 10, + "endLine": 194, + "endColumn": 11 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 197, "column": 1, @@ -1111,6 +2056,90 @@ "rule": "\"new\" expression with dynamic constructor type is not supported (arkts-no-dynamic-ctor-call)", "severity": "ERROR" }, + { + "line": 200, + "column": 21, + "endLine": 200, + "endColumn": 22, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 4903, + "end": 4904, + "replacementText": "0.0", + "line": 200, + "column": 21, + "endLine": 200, + "endColumn": 22 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 200, + "column": 28, + "endLine": 200, + "endColumn": 31, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 4910, + "end": 4913, + "replacementText": "100.0", + "line": 200, + "column": 28, + "endLine": 200, + "endColumn": 31 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 203, + "column": 52, + "endLine": 203, + "endColumn": 53, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 4991, + "end": 4992, + "replacementText": "6.0", + "line": 203, + "column": 52, + "endLine": 203, + "endColumn": 53 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 203, + "column": 55, + "endLine": 203, + "endColumn": 57, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 4994, + "end": 4996, + "replacementText": "86.0", + "line": 203, + "column": 55, + "endLine": 203, + "endColumn": 57 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 205, "column": 42, diff --git a/ets2panda/linter/test/main/numeric_semantics.ets.migrate.ets b/ets2panda/linter/test/main/numeric_semantics.ets.migrate.ets index 9afe1bb1ba..cecf097403 100644 --- a/ets2panda/linter/test/main/numeric_semantics.ets.migrate.ets +++ b/ets2panda/linter/test/main/numeric_semantics.ets.migrate.ets @@ -1,211 +1,211 @@ -/* - * Copyright (c) 2025 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -// TypeScript: treats 'n' as having type number -// ArkTS: treats 'n' as having type int to reach max code performance - -import { Entry, Component, State, RelativeContainer, Text, AppStorage } from '@kit.ArkUI'; - -let a: number = 1; - -a = 1; // OK -a = 1.5; // CTE in ArkTS: Type 'double' can't be assigned to type 'int' - -a += 1; // OK -a += 1.5; // ArkTS: Result is integer value - -console.log(a + 1); // OK -console.log(a - 0.5); // OK -console.log(a / 2); // ArkTS: integer division is used, result is integer value -console.log(a / 2.5); // OK -console.log(2 / a); // ArkTS: integer division is used, result is integer value -console.log(2.5 / a); // OK - -let b: number = 1; -a = b; // CTE in ArkTS: Type 'double' can't be assigned to type 'int' -a += b; // ArkTS: Result is integer value -console.log(a + b); // OK -console.log(a / b); // OK - -let c: number = 1.5; -a = c; // CTE in ArkTS: Type 'double' can't be assigned to type 'int' -a += c; // ArkTS: Result is integer value -console.log(a + c); // OK -console.log(a / c); // OK - -let d: number = 2; -a = d; // OK -a += d; // OK -console.log(a + d); // OK -console.log(a / d); // ArkTS: integer division is used, result is integer value - -let n: number = 2; - -let f: number = 1 - -let g: number[] = [1, 2, 3] - -let x!: number - -let t8: number = Infinity - -let t9: number = -Infinity; - -let t10: number = NaN; - -let t11: number = Number.MAX_VALUE; - -let t12: number = Number.MIN_VALUE; - -let o:number = 123; - -const oo:number = 123; - -let o2: number = o; - -let o3: number = oo; - -class A{ - a: number = 1; - constructor() { - } -} - -let t2: number = +123; - -let t3: number = -234; - -let num: number = Math.floor(4.8); // num 可能是 int - -let value: number = parseInt("42"); // value 可能是 int - - -function multiply(x: number = 2, y: number = 3): number { - return x * y; -} - -function divide(x: number, y: number): number { - return x / y; -} - -function identity(value: T): T { - return value; -} -identity(42); - -let an_array: number[] = [1, 2, 3] - -let g: number = an_array[] - -const a: number = 1 - -enum Test { - A = 1, // 显式赋值为 1 - B = 2 // 显式赋值为 2 -} -const test: number = Test.A; - -@Entry -@Component -struct Index2 { - @State message: string = 'Hello World'; - readonly c1: number = 1; // int - readonly c4: number = 1.7; // float - readonly c5: number = 0x123; // 16进制 - readonly c6: number = 0o123; //8进制 - readonly c7: number = 0b101; //2进制 - readonly c8: number[] = [1, 2, 3]; - -build() { - RelativeContainer() { - Text(this.message) - .onClick(() => { - }) - } - } -} - -const c1: number = 1; - -export class G{ - readonly a5: number = 4; -} - -const fingerprintPositionY: number = AppStorage.get(FingerprintConstants.COORDINATE_Y_OF_FINGERPRINT_UD_SCREEN_IN_PX) ?? 0; - -private doCloseFolderBackgroundAnimation(): (() => { - ({ - openFolderLayout: openFolderLayout, : .getGridSwiperLayout().bgHeight = openFolderLayout.getBackgroundLayout().closedHeight, - openFolderLayout: openFolderLayout, : .getGridSwiperLayout().bgWidth = openFolderLayout.getBackgroundLayout().closedWidth, - let: let, pos: pos, - pos: pos, - let: let, editModeTranslateY: editModeTranslateY, - if(pos) { }, : .length > 1 - }); - return undefined; -})() { - let translateXForScreenSplit: number = AppStorage.get('translateXForScreenSplit') ?? 0 as number; - let screenWidth: number = AppStorage.get('screenWidth') as number; - let screenHeight: number = AppStorage.get('screenHeight') as number; - if (screenWidth > screenHeight) { - log.showInfo('doCloseFolderBackgroundAnimation screenWidth: ' + screenWidth + ', height: ' + screenHeight); - screenWidth = screenHeight; - } - openFolderLayout.getGridSwiperLayout().bgTranslateX = pos[0] - screenWidth / 2 + translateXForScreenSplit; - openFolderLayout.getGridSwiperLayout().bgTranslateY = pos[1] + editModeTranslateY - - openFolderLayout.getBackgroundLayout().closedHeight * 0.5 - openFolderLayout.getBackgroundLayout().openedMargin; - } -} - -let f: number = 0.0; -let b5: number = 0; -f = b5; // OK - -let e: number = 0.0; -let g1: number = 0; - -e += g1; // OK -e -= g1; // OK -e *= g1; // OK -e /= g1; // OK -e <<= g1; // OK -e >>= g1; // OK -e &= g1; // OK -e = e & 3; // OK -e = e | 3; // OK -let arr1: number[] = [1, 2, 3] -e += arr1[0]; // OK - -let a: number = 0.0; -a = fun1(); -a = fun2()!; - -function fun1():number{ - return 1; -} - -function fun2():number|undefined{ - return 1; -} - -import { ArrayList } from "@kit.ArkTS"; - -let arr = new ArrayList() -for (let i:number = 0; i < 100; i++) { - arr.add(i) -} -let cancelIds:ArrayList = arr.subArrayList(6, 86) -let a: Array = Array.from(cancelIds) +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// TypeScript: treats 'n' as having type number +// ArkTS: treats 'n' as having type int to reach max code performance + +import { Entry, Component, State, RelativeContainer, Text, AppStorage } from '@kit.ArkUI'; + +let a: number = 1.0; + +a = 1.0; // OK +a = 1.5; // CTE in ArkTS: Type 'double' can't be assigned to type 'int' + +a += 1.0; // OK +a += 1.5; // ArkTS: Result is integer value + +console.log(a + 1.0); // OK +console.log(a - 0.5); // OK +console.log(a / 2.0); // ArkTS: integer division is used, result is integer value +console.log(a / 2.5); // OK +console.log(2.0 / a); // ArkTS: integer division is used, result is integer value +console.log(2.5 / a); // OK + +let b: number = 1.0; +a = b; // CTE in ArkTS: Type 'double' can't be assigned to type 'int' +a += b; // ArkTS: Result is integer value +console.log(a + b); // OK +console.log(a / b); // OK + +let c: number = 1.5; +a = c; // CTE in ArkTS: Type 'double' can't be assigned to type 'int' +a += c; // ArkTS: Result is integer value +console.log(a + c); // OK +console.log(a / c); // OK + +let d: number = 2.0; +a = d; // OK +a += d; // OK +console.log(a + d); // OK +console.log(a / d); // ArkTS: integer division is used, result is integer value + +let n: number = 2.0; + +let f: number = 1.0 + +let g: number[] = [1.0, 2.0, 3.0] + +let x!: number + +let t8: number = Infinity + +let t9: number = -Infinity; + +let t10: number = NaN; + +let t11: number = Number.MAX_VALUE; + +let t12: number = Number.MIN_VALUE; + +let o:number = 123.0; + +const oo:number = 123.0; + +let o2: number = o; + +let o3: number = oo; + +class A{ + a: number = 1.0; + constructor() { + } +} + +let t2: number = +123.0; + +let t3: number = -234.0; + +let num: number = Math.floor(4.8); // num 可能是 int + +let value: number = parseInt("42"); // value 可能是 int + + +function multiply(x: number = 2.0, y: number = 3.0): number { + return x * y; +} + +function divide(x: number, y: number): number { + return x / y; +} + +function identity(value: T): T { + return value; +} +identity(42.0); + +let an_array: number[] = [1.0, 2.0, 3.0] + +let g: number = an_array[] + +const a: number = 1.0 + +enum Test { + A = 1, // 显式赋值为 1 + B = 2 // 显式赋值为 2 +} +const test: number = Test.A; + +@Entry +@Component +struct Index2 { + @State message: string = 'Hello World'; + readonly c1: number = 1.0; // int + readonly c4: number = 1.7; // float + readonly c5: number = 0x123; // 16进制 + readonly c6: number = 0o123; //8进制 + readonly c7: number = 0b101; //2进制 + readonly c8: number[] = [1.0, 2.0, 3.0]; + +build() { + RelativeContainer() { + Text(this.message) + .onClick(() => { + }) + } + } +} + +const c1: number = 1.0; + +export class G{ + readonly a5: number = 4.0; +} + +const fingerprintPositionY: number = AppStorage.get(FingerprintConstants.COORDINATE_Y_OF_FINGERPRINT_UD_SCREEN_IN_PX) ?? 0.0; + +private doCloseFolderBackgroundAnimation(): (() => { + ({ + openFolderLayout: openFolderLayout, : .getGridSwiperLayout().bgHeight = openFolderLayout.getBackgroundLayout().closedHeight, + openFolderLayout: openFolderLayout, : .getGridSwiperLayout().bgWidth = openFolderLayout.getBackgroundLayout().closedWidth, + let: let, pos: pos, + pos: pos, + let: let, editModeTranslateY: editModeTranslateY, + if(pos) { }, : .length > 1.0 + }); + return undefined; +})() { + let translateXForScreenSplit: number = AppStorage.get('translateXForScreenSplit') ?? 0.0 as number; + let screenWidth: number = AppStorage.get('screenWidth') as number; + let screenHeight: number = AppStorage.get('screenHeight') as number; + if (screenWidth > screenHeight) { + log.showInfo('doCloseFolderBackgroundAnimation screenWidth: ' + screenWidth + ', height: ' + screenHeight); + screenWidth = screenHeight; + } + openFolderLayout.getGridSwiperLayout().bgTranslateX = pos[0] - screenWidth / 2.0 + translateXForScreenSplit; + openFolderLayout.getGridSwiperLayout().bgTranslateY = pos[1] + editModeTranslateY - + openFolderLayout.getBackgroundLayout().closedHeight * 0.5 - openFolderLayout.getBackgroundLayout().openedMargin; + } +} + +let f: number = 0.0; +let b5: number = 0.0; +f = b5; // OK + +let e: number = 0.0; +let g1: number = 0.0; + +e += g1; // OK +e -= g1; // OK +e *= g1; // OK +e /= g1; // OK +e <<= g1; // OK +e >>= g1; // OK +e &= g1; // OK +e = e & 3.0; // OK +e = e | 3.0; // OK +let arr1: number[] = [1.0, 2.0, 3.0] +e += arr1[0]; // OK + +let a: number = 0.0; +a = fun1(); +a = fun2()!; + +function fun1():number{ + return 1.0; +} + +function fun2():number|undefined{ + return 1.0; +} + +import { ArrayList } from "@kit.ArkTS"; + +let arr = new ArrayList() +for (let i:number = 0.0; i < 100.0; i++) { + arr.add(i) +} +let cancelIds:ArrayList = arr.subArrayList(6.0, 86.0) +let a: Array = Array.from(cancelIds) let arr1: Array = Array.from(new ArrayList()) \ No newline at end of file diff --git a/ets2panda/linter/test/main/numeric_semantics2.ets b/ets2panda/linter/test/main/numeric_semantics2.ets new file mode 100755 index 0000000000..931ed675e7 --- /dev/null +++ b/ets2panda/linter/test/main/numeric_semantics2.ets @@ -0,0 +1,126 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +namespace NumericSemanticsReport { + const a: number = 11 // NOT OK + const b = 12 // NOT OK + const c = 13.0 // NOT OK + const d: number = 14.0 + const e: number = 15 // NOT OK + console.log('' + 1/2) // NOT OK +} + +namespace NumericSemanticsDone { + const a: number = 11.0 + const b: number = 12.0 + const c: number = 13.0 + const d: number = 14.0 + const e: number = 15.0 + console.log('' + 1.0/2.0) +} + +namespace NoNumericSemantics { + interface X1 { "name": number, 2: number} + interface X2 { "name": number, _2: number} + let x: X1 = {"name": 20.0, 2: 30.0} // OK + console.log(x[2]); // OK + + let x_fix: X2 = {name: 20.0, _2: 20.0}; + + let x_non = {name: 20.0, 2: 20.0}; // OK + + const arr = [] + console.log(arr[2]); + + // Number bases + let c5: number = 0x123; // Hexadecimal + let c6: number = 0o123; // Octal + let c7: number = 0b101; // Binary + + let e1: number = 1e0; + let e2: number = 1E1; + let e3: number = 1e+1; + let e4: number = 1E-1; + let e5: number = +1e2; + let e6: number = -1E2; + + let h: number = arr[12. as int] + + enum E { + A = 1, + B = 2 + } +} + +namespace NumericSemanticsOther { + let e7: number = 1e4 + 11; +} + +namespace BeCareful { + `${1/2}` + +} + +namespace NoDiffInArk1_1To1_2 { + const a1 = `${1/2}` // NOT OK + const a2 = `${1.0/2.0}` + const b1 = `20${20 | 21 | 22 | 23}` // NOT OK + const b2 = `20${20.0 | 21.0 | 22.0 | 23.0}` + const c1 = `20 + ${20}` // NOT OK + const c2 = `20 + ${20.0}` + console.log(a1,a2,b1,b2,c1,c2) + + // Bitwise operations automatically remove decimal places + let e = 15 // NOT OK + let e1 = e & 3; // NOT OK + let e2 = e | 3; // NOT OK +} + +namespace GenericTypeCase { + function ReturnGenericNumber(a: T): T { + return a + } + + function ReturnGenericArry(a: T): T[] { + return [a] + } + + ReturnGenericNumber(1) // NOT OK, generic type is + ReturnGenericNumber(true ? 1 : 2) // NOT OK + ReturnGenericArry(1) // NOT OK + + function TestReturnGenericNumber(a: T[]): T[] { + return a.map(item => item) // OK, not report arkts-numeric-semantic + } + + function MapCase(a: number[]): number { + let groupNum: number = new Set(a.map(item => item)).size; // OK, not report arkts-numeric-semantic + return groupNum; + } + + function foo(v:T):T{return v} + foo(12)/24 // NOT OK + foo(12.0)/24 // NOT OK + + function foo1(v:T, u:U, b:boolean):T|U{ + return b ? v: u + } + foo1(12.0, 8, true)/24 // NOT OK + foo1(12.0, 8, false)/24 // NOT OK + + console.log(foo1(12/24, 8, true)) // NOT OK + console.log(foo1(12/24, 8, true)) // NOT OK + console.log(foo1(12.0/24.0, 8, true)) +} \ No newline at end of file diff --git a/ets2panda/linter/test/main/numeric_semantics2.ets.args.json b/ets2panda/linter/test/main/numeric_semantics2.ets.args.json new file mode 100755 index 0000000000..b023016d6b --- /dev/null +++ b/ets2panda/linter/test/main/numeric_semantics2.ets.args.json @@ -0,0 +1,21 @@ +{ + "copyright": [ + "Copyright (c) 2025 Huawei Device Co., Ltd.", + "Licensed under the Apache License, Version 2.0 (the 'License');", + "you may not use this file except in compliance with the License.", + "You may obtain a copy of the License at", + "", + "http://www.apache.org/licenses/LICENSE-2.0", + "", + "Unless required by applicable law or agreed to in writing, software", + "distributed under the License is distributed on an 'AS IS' BASIS,", + "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.", + "See the License for the specific language governing permissions and", + "limitations under the License." + ], + "mode": { + "arkts2": "", + "autofix": "--arkts-2", + "migrate": "--arkts-2" + } + } \ No newline at end of file diff --git a/ets2panda/linter/test/main/numeric_semantics2.ets.arkts2.json b/ets2panda/linter/test/main/numeric_semantics2.ets.arkts2.json new file mode 100755 index 0000000000..0b572f009a --- /dev/null +++ b/ets2panda/linter/test/main/numeric_semantics2.ets.arkts2.json @@ -0,0 +1,678 @@ +{ + "copyright": [ + "Copyright (c) 2025 Huawei Device Co., Ltd.", + "Licensed under the Apache License, Version 2.0 (the 'License');", + "you may not use this file except in compliance with the License.", + "You may obtain a copy of the License at", + "", + "http://www.apache.org/licenses/LICENSE-2.0", + "", + "Unless required by applicable law or agreed to in writing, software", + "distributed under the License is distributed on an 'AS IS' BASIS,", + "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.", + "See the License for the specific language governing permissions and", + "limitations under the License." + ], + "result": [ + { + "line": 22, + "column": 5, + "endLine": 22, + "endColumn": 26, + "problem": "NonDeclarationInNamespace", + "suggest": "", + "rule": "Non-declaration statements in namespaces are not supported (single semicolons are considered as empty non-declaration statements) (arkts-no-ns-statements)", + "severity": "ERROR" + }, + { + "line": 17, + "column": 23, + "endLine": 17, + "endColumn": 25, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 18, + "column": 11, + "endLine": 18, + "endColumn": 17, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 18, + "column": 15, + "endLine": 18, + "endColumn": 17, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 19, + "column": 11, + "endLine": 19, + "endColumn": 19, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 21, + "column": 23, + "endLine": 21, + "endColumn": 25, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 22, + "column": 22, + "endLine": 22, + "endColumn": 23, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 22, + "column": 24, + "endLine": 22, + "endColumn": 25, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 31, + "column": 5, + "endLine": 31, + "endColumn": 30, + "problem": "NonDeclarationInNamespace", + "suggest": "", + "rule": "Non-declaration statements in namespaces are not supported (single semicolons are considered as empty non-declaration statements) (arkts-no-ns-statements)", + "severity": "ERROR" + }, + { + "line": 38, + "column": 5, + "endLine": 38, + "endColumn": 23, + "problem": "NonDeclarationInNamespace", + "suggest": "", + "rule": "Non-declaration statements in namespaces are not supported (single semicolons are considered as empty non-declaration statements) (arkts-no-ns-statements)", + "severity": "ERROR" + }, + { + "line": 45, + "column": 5, + "endLine": 45, + "endColumn": 25, + "problem": "NonDeclarationInNamespace", + "suggest": "", + "rule": "Non-declaration statements in namespaces are not supported (single semicolons are considered as empty non-declaration statements) (arkts-no-ns-statements)", + "severity": "ERROR" + }, + { + "line": 35, + "column": 20, + "endLine": 35, + "endColumn": 26, + "problem": "LiteralAsPropertyName", + "suggest": "", + "rule": "Objects with property names that are not identifiers are not supported (arkts-identifiers-as-prop-names)", + "severity": "ERROR" + }, + { + "line": 35, + "column": 36, + "endLine": 35, + "endColumn": 37, + "problem": "LiteralAsPropertyName", + "suggest": "", + "rule": "Objects with property names that are not identifiers are not supported (arkts-identifiers-as-prop-names)", + "severity": "ERROR" + }, + { + "line": 36, + "column": 20, + "endLine": 36, + "endColumn": 26, + "problem": "LiteralAsPropertyName", + "suggest": "", + "rule": "Objects with property names that are not identifiers are not supported (arkts-identifiers-as-prop-names)", + "severity": "ERROR" + }, + { + "line": 37, + "column": 18, + "endLine": 37, + "endColumn": 24, + "problem": "LiteralAsPropertyName", + "suggest": "", + "rule": "Objects with property names that are not identifiers are not supported (arkts-identifiers-as-prop-names)", + "severity": "ERROR" + }, + { + "line": 37, + "column": 32, + "endLine": 37, + "endColumn": 33, + "problem": "LiteralAsPropertyName", + "suggest": "", + "rule": "Objects with property names that are not identifiers are not supported (arkts-identifiers-as-prop-names)", + "severity": "ERROR" + }, + { + "line": 38, + "column": 17, + "endLine": 38, + "endColumn": 21, + "problem": "PropertyAccessByIndex", + "suggest": "", + "rule": "Indexed access is not supported for fields (arkts-no-props-by-index)", + "severity": "ERROR" + }, + { + "line": 42, + "column": 17, + "endLine": 42, + "endColumn": 18, + "problem": "ObjectLiteralNoContextType", + "suggest": "", + "rule": "Object literal must correspond to some explicitly declared class or interface (arkts-no-untyped-obj-literals)", + "severity": "ERROR" + }, + { + "line": 42, + "column": 30, + "endLine": 42, + "endColumn": 31, + "problem": "LiteralAsPropertyName", + "suggest": "", + "rule": "Objects with property names that are not identifiers are not supported (arkts-identifiers-as-prop-names)", + "severity": "ERROR" + }, + { + "line": 68, + "column": 28, + "endLine": 68, + "endColumn": 30, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 72, + "column": 5, + "endLine": 72, + "endColumn": 13, + "problem": "NonDeclarationInNamespace", + "suggest": "", + "rule": "Non-declaration statements in namespaces are not supported (single semicolons are considered as empty non-declaration statements) (arkts-no-ns-statements)", + "severity": "ERROR" + }, + { + "line": 72, + "column": 8, + "endLine": 72, + "endColumn": 9, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 72, + "column": 10, + "endLine": 72, + "endColumn": 11, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 83, + "column": 5, + "endLine": 83, + "endColumn": 35, + "problem": "NonDeclarationInNamespace", + "suggest": "", + "rule": "Non-declaration statements in namespaces are not supported (single semicolons are considered as empty non-declaration statements) (arkts-no-ns-statements)", + "severity": "ERROR" + }, + { + "line": 77, + "column": 19, + "endLine": 77, + "endColumn": 20, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 77, + "column": 21, + "endLine": 77, + "endColumn": 22, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 79, + "column": 21, + "endLine": 79, + "endColumn": 23, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 79, + "column": 26, + "endLine": 79, + "endColumn": 28, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 79, + "column": 31, + "endLine": 79, + "endColumn": 33, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 79, + "column": 36, + "endLine": 79, + "endColumn": 38, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 81, + "column": 24, + "endLine": 81, + "endColumn": 26, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 86, + "column": 9, + "endLine": 86, + "endColumn": 15, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 86, + "column": 13, + "endLine": 86, + "endColumn": 15, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 87, + "column": 9, + "endLine": 87, + "endColumn": 19, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 87, + "column": 18, + "endLine": 87, + "endColumn": 19, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 88, + "column": 9, + "endLine": 88, + "endColumn": 19, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 88, + "column": 18, + "endLine": 88, + "endColumn": 19, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 100, + "column": 5, + "endLine": 100, + "endColumn": 27, + "problem": "NonDeclarationInNamespace", + "suggest": "", + "rule": "Non-declaration statements in namespaces are not supported (single semicolons are considered as empty non-declaration statements) (arkts-no-ns-statements)", + "severity": "ERROR" + }, + { + "line": 101, + "column": 5, + "endLine": 101, + "endColumn": 38, + "problem": "NonDeclarationInNamespace", + "suggest": "", + "rule": "Non-declaration statements in namespaces are not supported (single semicolons are considered as empty non-declaration statements) (arkts-no-ns-statements)", + "severity": "ERROR" + }, + { + "line": 102, + "column": 5, + "endLine": 102, + "endColumn": 25, + "problem": "NonDeclarationInNamespace", + "suggest": "", + "rule": "Non-declaration statements in namespaces are not supported (single semicolons are considered as empty non-declaration statements) (arkts-no-ns-statements)", + "severity": "ERROR" + }, + { + "line": 114, + "column": 5, + "endLine": 114, + "endColumn": 15, + "problem": "NonDeclarationInNamespace", + "suggest": "", + "rule": "Non-declaration statements in namespaces are not supported (single semicolons are considered as empty non-declaration statements) (arkts-no-ns-statements)", + "severity": "ERROR" + }, + { + "line": 115, + "column": 5, + "endLine": 115, + "endColumn": 17, + "problem": "NonDeclarationInNamespace", + "suggest": "", + "rule": "Non-declaration statements in namespaces are not supported (single semicolons are considered as empty non-declaration statements) (arkts-no-ns-statements)", + "severity": "ERROR" + }, + { + "line": 120, + "column": 5, + "endLine": 120, + "endColumn": 27, + "problem": "NonDeclarationInNamespace", + "suggest": "", + "rule": "Non-declaration statements in namespaces are not supported (single semicolons are considered as empty non-declaration statements) (arkts-no-ns-statements)", + "severity": "ERROR" + }, + { + "line": 121, + "column": 5, + "endLine": 121, + "endColumn": 28, + "problem": "NonDeclarationInNamespace", + "suggest": "", + "rule": "Non-declaration statements in namespaces are not supported (single semicolons are considered as empty non-declaration statements) (arkts-no-ns-statements)", + "severity": "ERROR" + }, + { + "line": 123, + "column": 5, + "endLine": 123, + "endColumn": 38, + "problem": "NonDeclarationInNamespace", + "suggest": "", + "rule": "Non-declaration statements in namespaces are not supported (single semicolons are considered as empty non-declaration statements) (arkts-no-ns-statements)", + "severity": "ERROR" + }, + { + "line": 124, + "column": 5, + "endLine": 124, + "endColumn": 53, + "problem": "NonDeclarationInNamespace", + "suggest": "", + "rule": "Non-declaration statements in namespaces are not supported (single semicolons are considered as empty non-declaration statements) (arkts-no-ns-statements)", + "severity": "ERROR" + }, + { + "line": 125, + "column": 5, + "endLine": 125, + "endColumn": 57, + "problem": "NonDeclarationInNamespace", + "suggest": "", + "rule": "Non-declaration statements in namespaces are not supported (single semicolons are considered as empty non-declaration statements) (arkts-no-ns-statements)", + "severity": "ERROR" + }, + { + "line": 100, + "column": 25, + "endLine": 100, + "endColumn": 26, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 101, + "column": 32, + "endLine": 101, + "endColumn": 33, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 101, + "column": 36, + "endLine": 101, + "endColumn": 37, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 102, + "column": 23, + "endLine": 102, + "endColumn": 24, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 109, + "column": 32, + "endLine": 109, + "endColumn": 60, + "problem": "GenericCallNoTypeArgs", + "suggest": "", + "rule": "Type inference in case of generic function calls is limited (arkts-no-inferred-generic-params)", + "severity": "ERROR" + }, + { + "line": 114, + "column": 9, + "endLine": 114, + "endColumn": 11, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 114, + "column": 13, + "endLine": 114, + "endColumn": 15, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 115, + "column": 15, + "endLine": 115, + "endColumn": 17, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 120, + "column": 16, + "endLine": 120, + "endColumn": 17, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 120, + "column": 25, + "endLine": 120, + "endColumn": 27, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 121, + "column": 16, + "endLine": 121, + "endColumn": 17, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 121, + "column": 26, + "endLine": 121, + "endColumn": 28, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 123, + "column": 22, + "endLine": 123, + "endColumn": 24, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 123, + "column": 25, + "endLine": 123, + "endColumn": 27, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 123, + "column": 29, + "endLine": 123, + "endColumn": 30, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 124, + "column": 37, + "endLine": 124, + "endColumn": 39, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 124, + "column": 40, + "endLine": 124, + "endColumn": 42, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 124, + "column": 44, + "endLine": 124, + "endColumn": 45, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 125, + "column": 48, + "endLine": 125, + "endColumn": 49, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + } + ] +} \ No newline at end of file diff --git a/ets2panda/linter/test/main/numeric_semantics2.ets.autofix.json b/ets2panda/linter/test/main/numeric_semantics2.ets.autofix.json new file mode 100644 index 0000000000..6472aa81e6 --- /dev/null +++ b/ets2panda/linter/test/main/numeric_semantics2.ets.autofix.json @@ -0,0 +1,1267 @@ +{ + "copyright": [ + "Copyright (c) 2025 Huawei Device Co., Ltd.", + "Licensed under the Apache License, Version 2.0 (the 'License');", + "you may not use this file except in compliance with the License.", + "You may obtain a copy of the License at", + "", + "http://www.apache.org/licenses/LICENSE-2.0", + "", + "Unless required by applicable law or agreed to in writing, software", + "distributed under the License is distributed on an 'AS IS' BASIS,", + "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.", + "See the License for the specific language governing permissions and", + "limitations under the License." + ], + "result": [ + { + "line": 22, + "column": 5, + "endLine": 22, + "endColumn": 26, + "problem": "NonDeclarationInNamespace", + "suggest": "", + "rule": "Non-declaration statements in namespaces are not supported (single semicolons are considered as empty non-declaration statements) (arkts-no-ns-statements)", + "severity": "ERROR" + }, + { + "line": 17, + "column": 23, + "endLine": 17, + "endColumn": 25, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 678, + "end": 680, + "replacementText": "11.0", + "line": 17, + "column": 23, + "endLine": 17, + "endColumn": 25 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 18, + "column": 11, + "endLine": 18, + "endColumn": 17, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 702, + "end": 708, + "replacementText": "b: number = 12 // NOT OK\r\n", + "line": 18, + "column": 11, + "endLine": 18, + "endColumn": 17 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 18, + "column": 15, + "endLine": 18, + "endColumn": 17, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 706, + "end": 708, + "replacementText": "12.0", + "line": 18, + "column": 15, + "endLine": 18, + "endColumn": 17 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 19, + "column": 11, + "endLine": 19, + "endColumn": 19, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 730, + "end": 738, + "replacementText": "c: number = 13.0 // NOT OK\r\n", + "line": 19, + "column": 11, + "endLine": 19, + "endColumn": 19 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 21, + "column": 23, + "endLine": 21, + "endColumn": 25, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 800, + "end": 802, + "replacementText": "15.0", + "line": 21, + "column": 23, + "endLine": 21, + "endColumn": 25 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 22, + "column": 22, + "endLine": 22, + "endColumn": 23, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 835, + "end": 836, + "replacementText": "1.0", + "line": 22, + "column": 22, + "endLine": 22, + "endColumn": 23 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 22, + "column": 24, + "endLine": 22, + "endColumn": 25, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 837, + "end": 838, + "replacementText": "2.0", + "line": 22, + "column": 24, + "endLine": 22, + "endColumn": 25 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 31, + "column": 5, + "endLine": 31, + "endColumn": 30, + "problem": "NonDeclarationInNamespace", + "suggest": "", + "rule": "Non-declaration statements in namespaces are not supported (single semicolons are considered as empty non-declaration statements) (arkts-no-ns-statements)", + "severity": "ERROR" + }, + { + "line": 38, + "column": 5, + "endLine": 38, + "endColumn": 23, + "problem": "NonDeclarationInNamespace", + "suggest": "", + "rule": "Non-declaration statements in namespaces are not supported (single semicolons are considered as empty non-declaration statements) (arkts-no-ns-statements)", + "severity": "ERROR" + }, + { + "line": 45, + "column": 5, + "endLine": 45, + "endColumn": 25, + "problem": "NonDeclarationInNamespace", + "suggest": "", + "rule": "Non-declaration statements in namespaces are not supported (single semicolons are considered as empty non-declaration statements) (arkts-no-ns-statements)", + "severity": "ERROR" + }, + { + "line": 35, + "column": 20, + "endLine": 35, + "endColumn": 26, + "problem": "LiteralAsPropertyName", + "autofix": [ + { + "replacementText": "name", + "start": 1117, + "end": 1123, + "line": 37, + "column": 18, + "endLine": 37, + "endColumn": 24 + }, + { + "replacementText": "name", + "start": 1210, + "end": 1216, + "line": 37, + "column": 18, + "endLine": 37, + "endColumn": 24 + } + ], + "suggest": "", + "rule": "Objects with property names that are not identifiers are not supported (arkts-identifiers-as-prop-names)", + "severity": "ERROR" + }, + { + "line": 35, + "column": 36, + "endLine": 35, + "endColumn": 37, + "problem": "LiteralAsPropertyName", + "autofix": [ + { + "replacementText": "__2", + "start": 1133, + "end": 1134, + "line": 38, + "column": 17, + "endLine": 38, + "endColumn": 21 + }, + { + "replacementText": "__2", + "start": 1224, + "end": 1225, + "line": 38, + "column": 17, + "endLine": 38, + "endColumn": 21 + }, + { + "replacementText": "x.__2", + "start": 1256, + "end": 1260, + "line": 38, + "column": 17, + "endLine": 38, + "endColumn": 21 + } + ], + "suggest": "", + "rule": "Objects with property names that are not identifiers are not supported (arkts-identifiers-as-prop-names)", + "severity": "ERROR" + }, + { + "line": 36, + "column": 20, + "endLine": 36, + "endColumn": 26, + "problem": "LiteralAsPropertyName", + "autofix": [ + { + "replacementText": "name", + "start": 1164, + "end": 1170, + "line": 36, + "column": 20, + "endLine": 36, + "endColumn": 26 + } + ], + "suggest": "", + "rule": "Objects with property names that are not identifiers are not supported (arkts-identifiers-as-prop-names)", + "severity": "ERROR" + }, + { + "line": 37, + "column": 18, + "endLine": 37, + "endColumn": 24, + "problem": "LiteralAsPropertyName", + "autofix": [ + { + "replacementText": "name", + "start": 1117, + "end": 1123, + "line": 37, + "column": 18, + "endLine": 37, + "endColumn": 24 + }, + { + "replacementText": "name", + "start": 1210, + "end": 1216, + "line": 37, + "column": 18, + "endLine": 37, + "endColumn": 24 + } + ], + "suggest": "", + "rule": "Objects with property names that are not identifiers are not supported (arkts-identifiers-as-prop-names)", + "severity": "ERROR" + }, + { + "line": 37, + "column": 32, + "endLine": 37, + "endColumn": 33, + "problem": "LiteralAsPropertyName", + "autofix": [ + { + "replacementText": "__2", + "start": 1133, + "end": 1134, + "line": 38, + "column": 17, + "endLine": 38, + "endColumn": 21 + }, + { + "replacementText": "__2", + "start": 1224, + "end": 1225, + "line": 38, + "column": 17, + "endLine": 38, + "endColumn": 21 + }, + { + "replacementText": "x.__2", + "start": 1256, + "end": 1260, + "line": 38, + "column": 17, + "endLine": 38, + "endColumn": 21 + } + ], + "suggest": "", + "rule": "Objects with property names that are not identifiers are not supported (arkts-identifiers-as-prop-names)", + "severity": "ERROR" + }, + { + "line": 38, + "column": 17, + "endLine": 38, + "endColumn": 21, + "problem": "PropertyAccessByIndex", + "autofix": [ + { + "replacementText": "__2", + "start": 1133, + "end": 1134, + "line": 38, + "column": 17, + "endLine": 38, + "endColumn": 21 + }, + { + "replacementText": "__2", + "start": 1224, + "end": 1225, + "line": 38, + "column": 17, + "endLine": 38, + "endColumn": 21 + }, + { + "replacementText": "x.__2", + "start": 1256, + "end": 1260, + "line": 38, + "column": 17, + "endLine": 38, + "endColumn": 21 + } + ], + "suggest": "", + "rule": "Indexed access is not supported for fields (arkts-no-props-by-index)", + "severity": "ERROR" + }, + { + "line": 42, + "column": 17, + "endLine": 42, + "endColumn": 18, + "problem": "ObjectLiteralNoContextType", + "suggest": "", + "rule": "Object literal must correspond to some explicitly declared class or interface (arkts-no-untyped-obj-literals)", + "severity": "ERROR" + }, + { + "line": 42, + "column": 30, + "endLine": 42, + "endColumn": 31, + "problem": "LiteralAsPropertyName", + "suggest": "", + "rule": "Objects with property names that are not identifiers are not supported (arkts-identifiers-as-prop-names)", + "severity": "ERROR" + }, + { + "line": 68, + "column": 28, + "endLine": 68, + "endColumn": 30, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1885, + "end": 1887, + "replacementText": "11.0", + "line": 68, + "column": 28, + "endLine": 68, + "endColumn": 30 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 72, + "column": 5, + "endLine": 72, + "endColumn": 13, + "problem": "NonDeclarationInNamespace", + "suggest": "", + "rule": "Non-declaration statements in namespaces are not supported (single semicolons are considered as empty non-declaration statements) (arkts-no-ns-statements)", + "severity": "ERROR" + }, + { + "line": 72, + "column": 8, + "endLine": 72, + "endColumn": 9, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1925, + "end": 1926, + "replacementText": "1.0", + "line": 72, + "column": 8, + "endLine": 72, + "endColumn": 9 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 72, + "column": 10, + "endLine": 72, + "endColumn": 11, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1927, + "end": 1928, + "replacementText": "2.0", + "line": 72, + "column": 10, + "endLine": 72, + "endColumn": 11 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 83, + "column": 5, + "endLine": 83, + "endColumn": 35, + "problem": "NonDeclarationInNamespace", + "suggest": "", + "rule": "Non-declaration statements in namespaces are not supported (single semicolons are considered as empty non-declaration statements) (arkts-no-ns-statements)", + "severity": "ERROR" + }, + { + "line": 77, + "column": 19, + "endLine": 77, + "endColumn": 20, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1994, + "end": 1995, + "replacementText": "1.0", + "line": 77, + "column": 19, + "endLine": 77, + "endColumn": 20 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 77, + "column": 21, + "endLine": 77, + "endColumn": 22, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1996, + "end": 1997, + "replacementText": "2.0", + "line": 77, + "column": 21, + "endLine": 77, + "endColumn": 22 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 79, + "column": 21, + "endLine": 79, + "endColumn": 23, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 2060, + "end": 2062, + "replacementText": "20.0", + "line": 79, + "column": 21, + "endLine": 79, + "endColumn": 23 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 79, + "column": 26, + "endLine": 79, + "endColumn": 28, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 2065, + "end": 2067, + "replacementText": "21.0", + "line": 79, + "column": 26, + "endLine": 79, + "endColumn": 28 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 79, + "column": 31, + "endLine": 79, + "endColumn": 33, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 2070, + "end": 2072, + "replacementText": "22.0", + "line": 79, + "column": 31, + "endLine": 79, + "endColumn": 33 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 79, + "column": 36, + "endLine": 79, + "endColumn": 38, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 2075, + "end": 2077, + "replacementText": "23.0", + "line": 79, + "column": 36, + "endLine": 79, + "endColumn": 38 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 81, + "column": 24, + "endLine": 81, + "endColumn": 26, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 2163, + "end": 2165, + "replacementText": "20.0", + "line": 81, + "column": 24, + "endLine": 81, + "endColumn": 26 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 86, + "column": 9, + "endLine": 86, + "endColumn": 15, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 2319, + "end": 2325, + "replacementText": "e: number = 15 // NOT OK\r\n", + "line": 86, + "column": 9, + "endLine": 86, + "endColumn": 15 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 86, + "column": 13, + "endLine": 86, + "endColumn": 15, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 2323, + "end": 2325, + "replacementText": "15.0", + "line": 86, + "column": 13, + "endLine": 86, + "endColumn": 15 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 87, + "column": 9, + "endLine": 87, + "endColumn": 19, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 2345, + "end": 2355, + "replacementText": "e1: number = e & 3", + "line": 87, + "column": 9, + "endLine": 87, + "endColumn": 19 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 87, + "column": 18, + "endLine": 87, + "endColumn": 19, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 2354, + "end": 2355, + "replacementText": "3.0", + "line": 87, + "column": 18, + "endLine": 87, + "endColumn": 19 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 88, + "column": 9, + "endLine": 88, + "endColumn": 19, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 2376, + "end": 2386, + "replacementText": "e2: number = e | 3", + "line": 88, + "column": 9, + "endLine": 88, + "endColumn": 19 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 88, + "column": 18, + "endLine": 88, + "endColumn": 19, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 2385, + "end": 2386, + "replacementText": "3.0", + "line": 88, + "column": 18, + "endLine": 88, + "endColumn": 19 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 100, + "column": 5, + "endLine": 100, + "endColumn": 27, + "problem": "NonDeclarationInNamespace", + "suggest": "", + "rule": "Non-declaration statements in namespaces are not supported (single semicolons are considered as empty non-declaration statements) (arkts-no-ns-statements)", + "severity": "ERROR" + }, + { + "line": 101, + "column": 5, + "endLine": 101, + "endColumn": 38, + "problem": "NonDeclarationInNamespace", + "suggest": "", + "rule": "Non-declaration statements in namespaces are not supported (single semicolons are considered as empty non-declaration statements) (arkts-no-ns-statements)", + "severity": "ERROR" + }, + { + "line": 102, + "column": 5, + "endLine": 102, + "endColumn": 25, + "problem": "NonDeclarationInNamespace", + "suggest": "", + "rule": "Non-declaration statements in namespaces are not supported (single semicolons are considered as empty non-declaration statements) (arkts-no-ns-statements)", + "severity": "ERROR" + }, + { + "line": 114, + "column": 5, + "endLine": 114, + "endColumn": 15, + "problem": "NonDeclarationInNamespace", + "suggest": "", + "rule": "Non-declaration statements in namespaces are not supported (single semicolons are considered as empty non-declaration statements) (arkts-no-ns-statements)", + "severity": "ERROR" + }, + { + "line": 115, + "column": 5, + "endLine": 115, + "endColumn": 17, + "problem": "NonDeclarationInNamespace", + "suggest": "", + "rule": "Non-declaration statements in namespaces are not supported (single semicolons are considered as empty non-declaration statements) (arkts-no-ns-statements)", + "severity": "ERROR" + }, + { + "line": 120, + "column": 5, + "endLine": 120, + "endColumn": 27, + "problem": "NonDeclarationInNamespace", + "suggest": "", + "rule": "Non-declaration statements in namespaces are not supported (single semicolons are considered as empty non-declaration statements) (arkts-no-ns-statements)", + "severity": "ERROR" + }, + { + "line": 121, + "column": 5, + "endLine": 121, + "endColumn": 28, + "problem": "NonDeclarationInNamespace", + "suggest": "", + "rule": "Non-declaration statements in namespaces are not supported (single semicolons are considered as empty non-declaration statements) (arkts-no-ns-statements)", + "severity": "ERROR" + }, + { + "line": 123, + "column": 5, + "endLine": 123, + "endColumn": 38, + "problem": "NonDeclarationInNamespace", + "suggest": "", + "rule": "Non-declaration statements in namespaces are not supported (single semicolons are considered as empty non-declaration statements) (arkts-no-ns-statements)", + "severity": "ERROR" + }, + { + "line": 124, + "column": 5, + "endLine": 124, + "endColumn": 53, + "problem": "NonDeclarationInNamespace", + "suggest": "", + "rule": "Non-declaration statements in namespaces are not supported (single semicolons are considered as empty non-declaration statements) (arkts-no-ns-statements)", + "severity": "ERROR" + }, + { + "line": 125, + "column": 5, + "endLine": 125, + "endColumn": 57, + "problem": "NonDeclarationInNamespace", + "suggest": "", + "rule": "Non-declaration statements in namespaces are not supported (single semicolons are considered as empty non-declaration statements) (arkts-no-ns-statements)", + "severity": "ERROR" + }, + { + "line": 100, + "column": 25, + "endLine": 100, + "endColumn": 26, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 2609, + "end": 2610, + "replacementText": "1.0", + "line": 100, + "column": 25, + "endLine": 100, + "endColumn": 26 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 101, + "column": 32, + "endLine": 101, + "endColumn": 33, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 2671, + "end": 2672, + "replacementText": "1.0", + "line": 101, + "column": 32, + "endLine": 101, + "endColumn": 33 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 101, + "column": 36, + "endLine": 101, + "endColumn": 37, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 2675, + "end": 2676, + "replacementText": "2.0", + "line": 101, + "column": 36, + "endLine": 101, + "endColumn": 37 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 102, + "column": 23, + "endLine": 102, + "endColumn": 24, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 2711, + "end": 2712, + "replacementText": "1.0", + "line": 102, + "column": 23, + "endLine": 102, + "endColumn": 24 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 109, + "column": 32, + "endLine": 109, + "endColumn": 60, + "problem": "GenericCallNoTypeArgs", + "suggest": "", + "rule": "Type inference in case of generic function calls is limited (arkts-no-inferred-generic-params)", + "severity": "ERROR" + }, + { + "line": 114, + "column": 9, + "endLine": 114, + "endColumn": 11, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 3103, + "end": 3105, + "replacementText": "12.0", + "line": 114, + "column": 9, + "endLine": 114, + "endColumn": 11 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 114, + "column": 13, + "endLine": 114, + "endColumn": 15, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 3107, + "end": 3109, + "replacementText": "24.0", + "line": 114, + "column": 13, + "endLine": 114, + "endColumn": 15 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 115, + "column": 15, + "endLine": 115, + "endColumn": 17, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 3135, + "end": 3137, + "replacementText": "24.0", + "line": 115, + "column": 15, + "endLine": 115, + "endColumn": 17 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 120, + "column": 16, + "endLine": 120, + "endColumn": 17, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 3248, + "end": 3249, + "replacementText": "8.0", + "line": 120, + "column": 16, + "endLine": 120, + "endColumn": 17 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 120, + "column": 25, + "endLine": 120, + "endColumn": 27, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 3257, + "end": 3259, + "replacementText": "24.0", + "line": 120, + "column": 25, + "endLine": 120, + "endColumn": 27 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 121, + "column": 16, + "endLine": 121, + "endColumn": 17, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 3286, + "end": 3287, + "replacementText": "8.0", + "line": 121, + "column": 16, + "endLine": 121, + "endColumn": 17 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 121, + "column": 26, + "endLine": 121, + "endColumn": 28, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 3296, + "end": 3298, + "replacementText": "24.0", + "line": 121, + "column": 26, + "endLine": 121, + "endColumn": 28 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 123, + "column": 22, + "endLine": 123, + "endColumn": 24, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 3333, + "end": 3335, + "replacementText": "12.0", + "line": 123, + "column": 22, + "endLine": 123, + "endColumn": 24 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 123, + "column": 25, + "endLine": 123, + "endColumn": 27, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 3336, + "end": 3338, + "replacementText": "24.0", + "line": 123, + "column": 25, + "endLine": 123, + "endColumn": 27 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 123, + "column": 29, + "endLine": 123, + "endColumn": 30, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 3340, + "end": 3341, + "replacementText": "8.0", + "line": 123, + "column": 29, + "endLine": 123, + "endColumn": 30 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 124, + "column": 37, + "endLine": 124, + "endColumn": 39, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 3397, + "end": 3399, + "replacementText": "12.0", + "line": 124, + "column": 37, + "endLine": 124, + "endColumn": 39 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 124, + "column": 40, + "endLine": 124, + "endColumn": 42, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 3400, + "end": 3402, + "replacementText": "24.0", + "line": 124, + "column": 40, + "endLine": 124, + "endColumn": 42 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 124, + "column": 44, + "endLine": 124, + "endColumn": 45, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 3404, + "end": 3405, + "replacementText": "8.0", + "line": 124, + "column": 44, + "endLine": 124, + "endColumn": 45 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 125, + "column": 48, + "endLine": 125, + "endColumn": 49, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 3472, + "end": 3473, + "replacementText": "8.0", + "line": 125, + "column": 48, + "endLine": 125, + "endColumn": 49 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + } + ] +} \ No newline at end of file diff --git a/ets2panda/linter/test/main/numeric_semantics2.ets.json b/ets2panda/linter/test/main/numeric_semantics2.ets.json new file mode 100755 index 0000000000..af8a3e440f --- /dev/null +++ b/ets2panda/linter/test/main/numeric_semantics2.ets.json @@ -0,0 +1,228 @@ +{ + "copyright": [ + "Copyright (c) 2025 Huawei Device Co., Ltd.", + "Licensed under the Apache License, Version 2.0 (the 'License');", + "you may not use this file except in compliance with the License.", + "You may obtain a copy of the License at", + "", + "http://www.apache.org/licenses/LICENSE-2.0", + "", + "Unless required by applicable law or agreed to in writing, software", + "distributed under the License is distributed on an 'AS IS' BASIS,", + "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.", + "See the License for the specific language governing permissions and", + "limitations under the License." + ], + "result": [ + { + "line": 22, + "column": 5, + "endLine": 22, + "endColumn": 26, + "problem": "NonDeclarationInNamespace", + "suggest": "", + "rule": "Non-declaration statements in namespaces are not supported (single semicolons are considered as empty non-declaration statements) (arkts-no-ns-statements)", + "severity": "ERROR" + }, + { + "line": 31, + "column": 5, + "endLine": 31, + "endColumn": 30, + "problem": "NonDeclarationInNamespace", + "suggest": "", + "rule": "Non-declaration statements in namespaces are not supported (single semicolons are considered as empty non-declaration statements) (arkts-no-ns-statements)", + "severity": "ERROR" + }, + { + "line": 38, + "column": 5, + "endLine": 38, + "endColumn": 23, + "problem": "NonDeclarationInNamespace", + "suggest": "", + "rule": "Non-declaration statements in namespaces are not supported (single semicolons are considered as empty non-declaration statements) (arkts-no-ns-statements)", + "severity": "ERROR" + }, + { + "line": 45, + "column": 5, + "endLine": 45, + "endColumn": 25, + "problem": "NonDeclarationInNamespace", + "suggest": "", + "rule": "Non-declaration statements in namespaces are not supported (single semicolons are considered as empty non-declaration statements) (arkts-no-ns-statements)", + "severity": "ERROR" + }, + { + "line": 35, + "column": 36, + "endLine": 35, + "endColumn": 37, + "problem": "LiteralAsPropertyName", + "suggest": "", + "rule": "Objects with property names that are not identifiers are not supported (arkts-identifiers-as-prop-names)", + "severity": "ERROR" + }, + { + "line": 37, + "column": 32, + "endLine": 37, + "endColumn": 33, + "problem": "LiteralAsPropertyName", + "suggest": "", + "rule": "Objects with property names that are not identifiers are not supported (arkts-identifiers-as-prop-names)", + "severity": "ERROR" + }, + { + "line": 38, + "column": 17, + "endLine": 38, + "endColumn": 21, + "problem": "PropertyAccessByIndex", + "suggest": "", + "rule": "Indexed access is not supported for fields (arkts-no-props-by-index)", + "severity": "ERROR" + }, + { + "line": 42, + "column": 17, + "endLine": 42, + "endColumn": 18, + "problem": "ObjectLiteralNoContextType", + "suggest": "", + "rule": "Object literal must correspond to some explicitly declared class or interface (arkts-no-untyped-obj-literals)", + "severity": "ERROR" + }, + { + "line": 42, + "column": 30, + "endLine": 42, + "endColumn": 31, + "problem": "LiteralAsPropertyName", + "suggest": "", + "rule": "Objects with property names that are not identifiers are not supported (arkts-identifiers-as-prop-names)", + "severity": "ERROR" + }, + { + "line": 72, + "column": 5, + "endLine": 72, + "endColumn": 13, + "problem": "NonDeclarationInNamespace", + "suggest": "", + "rule": "Non-declaration statements in namespaces are not supported (single semicolons are considered as empty non-declaration statements) (arkts-no-ns-statements)", + "severity": "ERROR" + }, + { + "line": 83, + "column": 5, + "endLine": 83, + "endColumn": 35, + "problem": "NonDeclarationInNamespace", + "suggest": "", + "rule": "Non-declaration statements in namespaces are not supported (single semicolons are considered as empty non-declaration statements) (arkts-no-ns-statements)", + "severity": "ERROR" + }, + { + "line": 100, + "column": 5, + "endLine": 100, + "endColumn": 27, + "problem": "NonDeclarationInNamespace", + "suggest": "", + "rule": "Non-declaration statements in namespaces are not supported (single semicolons are considered as empty non-declaration statements) (arkts-no-ns-statements)", + "severity": "ERROR" + }, + { + "line": 101, + "column": 5, + "endLine": 101, + "endColumn": 38, + "problem": "NonDeclarationInNamespace", + "suggest": "", + "rule": "Non-declaration statements in namespaces are not supported (single semicolons are considered as empty non-declaration statements) (arkts-no-ns-statements)", + "severity": "ERROR" + }, + { + "line": 102, + "column": 5, + "endLine": 102, + "endColumn": 25, + "problem": "NonDeclarationInNamespace", + "suggest": "", + "rule": "Non-declaration statements in namespaces are not supported (single semicolons are considered as empty non-declaration statements) (arkts-no-ns-statements)", + "severity": "ERROR" + }, + { + "line": 114, + "column": 5, + "endLine": 114, + "endColumn": 15, + "problem": "NonDeclarationInNamespace", + "suggest": "", + "rule": "Non-declaration statements in namespaces are not supported (single semicolons are considered as empty non-declaration statements) (arkts-no-ns-statements)", + "severity": "ERROR" + }, + { + "line": 115, + "column": 5, + "endLine": 115, + "endColumn": 17, + "problem": "NonDeclarationInNamespace", + "suggest": "", + "rule": "Non-declaration statements in namespaces are not supported (single semicolons are considered as empty non-declaration statements) (arkts-no-ns-statements)", + "severity": "ERROR" + }, + { + "line": 120, + "column": 5, + "endLine": 120, + "endColumn": 27, + "problem": "NonDeclarationInNamespace", + "suggest": "", + "rule": "Non-declaration statements in namespaces are not supported (single semicolons are considered as empty non-declaration statements) (arkts-no-ns-statements)", + "severity": "ERROR" + }, + { + "line": 121, + "column": 5, + "endLine": 121, + "endColumn": 28, + "problem": "NonDeclarationInNamespace", + "suggest": "", + "rule": "Non-declaration statements in namespaces are not supported (single semicolons are considered as empty non-declaration statements) (arkts-no-ns-statements)", + "severity": "ERROR" + }, + { + "line": 123, + "column": 5, + "endLine": 123, + "endColumn": 38, + "problem": "NonDeclarationInNamespace", + "suggest": "", + "rule": "Non-declaration statements in namespaces are not supported (single semicolons are considered as empty non-declaration statements) (arkts-no-ns-statements)", + "severity": "ERROR" + }, + { + "line": 124, + "column": 5, + "endLine": 124, + "endColumn": 53, + "problem": "NonDeclarationInNamespace", + "suggest": "", + "rule": "Non-declaration statements in namespaces are not supported (single semicolons are considered as empty non-declaration statements) (arkts-no-ns-statements)", + "severity": "ERROR" + }, + { + "line": 125, + "column": 5, + "endLine": 125, + "endColumn": 57, + "problem": "NonDeclarationInNamespace", + "suggest": "", + "rule": "Non-declaration statements in namespaces are not supported (single semicolons are considered as empty non-declaration statements) (arkts-no-ns-statements)", + "severity": "ERROR" + } + ] +} \ No newline at end of file diff --git a/ets2panda/linter/test/main/numeric_semantics2.ets.migrate.ets b/ets2panda/linter/test/main/numeric_semantics2.ets.migrate.ets new file mode 100644 index 0000000000..f5d80bcc24 --- /dev/null +++ b/ets2panda/linter/test/main/numeric_semantics2.ets.migrate.ets @@ -0,0 +1,129 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +namespace NumericSemanticsReport { + const a: number = 11.0 // NOT OK + const b: number = 12.0 // NOT OK + // NOT OK + const c: number = 13.0 // NOT OK + // NOT OK + const d: number = 14.0 + const e: number = 15.0 // NOT OK + console.log('' + 1.0/2.0) // NOT OK +} + +namespace NumericSemanticsDone { + const a: number = 11.0 + const b: number = 12.0 + const c: number = 13.0 + const d: number = 14.0 + const e: number = 15.0 + console.log('' + 1.0/2.0) +} + +namespace NoNumericSemantics { + interface X1 { name: number, __2: number} + interface X2 { name: number, _2: number} + let x: X1 = {name: 20.0, __2: 30.0} // OK + console.log(x.__2); // OK + + let x_fix: X2 = {name: 20.0, _2: 20.0}; + + let x_non = {name: 20.0, 2: 20.0}; // OK + + const arr = [] + console.log(arr[2]); + + // Number bases + let c5: number = 0x123; // Hexadecimal + let c6: number = 0o123; // Octal + let c7: number = 0b101; // Binary + + let e1: number = 1e0; + let e2: number = 1E1; + let e3: number = 1e+1; + let e4: number = 1E-1; + let e5: number = +1e2; + let e6: number = -1E2; + + let h: number = arr[12. as int] + + enum E { + A = 1, + B = 2 + } +} + +namespace NumericSemanticsOther { + let e7: number = 1e4 + 11.0; +} + +namespace BeCareful { + `${1.0/2.0}` + +} + +namespace NoDiffInArk1_1To1_2 { + const a1 = `${1.0/2.0}` // NOT OK + const a2 = `${1.0/2.0}` + const b1 = `20${20.0 | 21.0 | 22.0 | 23.0}` // NOT OK + const b2 = `20${20.0 | 21.0 | 22.0 | 23.0}` + const c1 = `20 + ${20.0}` // NOT OK + const c2 = `20 + ${20.0}` + console.log(a1,a2,b1,b2,c1,c2) + + // Bitwise operations automatically remove decimal places + let e: number = 15.0 // NOT OK + // NOT OK + let e1: number = e & 3.0; // NOT OK + let e2: number = e | 3.0; // NOT OK +} + +namespace GenericTypeCase { + function ReturnGenericNumber(a: T): T { + return a + } + + function ReturnGenericArry(a: T): T[] { + return [a] + } + + ReturnGenericNumber(1.0) // NOT OK, generic type is + ReturnGenericNumber(true ? 1.0 : 2.0) // NOT OK + ReturnGenericArry(1.0) // NOT OK + + function TestReturnGenericNumber(a: T[]): T[] { + return a.map(item => item) // OK, not report arkts-numeric-semantic + } + + function MapCase(a: number[]): number { + let groupNum: number = new Set(a.map(item => item)).size; // OK, not report arkts-numeric-semantic + return groupNum; + } + + function foo(v:T):T{return v} + foo(12.0)/24.0 // NOT OK + foo(12.0)/24.0 // NOT OK + + function foo1(v:T, u:U, b:boolean):T|U{ + return b ? v: u + } + foo1(12.0, 8.0, true)/24.0 // NOT OK + foo1(12.0, 8.0, false)/24.0 // NOT OK + + console.log(foo1(12.0/24.0, 8.0, true)) // NOT OK + console.log(foo1(12.0/24.0, 8.0, true)) // NOT OK + console.log(foo1(12.0/24.0, 8.0, true)) +} \ No newline at end of file diff --git a/ets2panda/linter/test/main/numeric_semantics2.ets.migrate.json b/ets2panda/linter/test/main/numeric_semantics2.ets.migrate.json new file mode 100644 index 0000000000..2b4699fa61 --- /dev/null +++ b/ets2panda/linter/test/main/numeric_semantics2.ets.migrate.json @@ -0,0 +1,208 @@ +{ + "copyright": [ + "Copyright (c) 2025 Huawei Device Co., Ltd.", + "Licensed under the Apache License, Version 2.0 (the 'License');", + "you may not use this file except in compliance with the License.", + "You may obtain a copy of the License at", + "", + "http://www.apache.org/licenses/LICENSE-2.0", + "", + "Unless required by applicable law or agreed to in writing, software", + "distributed under the License is distributed on an 'AS IS' BASIS,", + "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.", + "See the License for the specific language governing permissions and", + "limitations under the License." + ], + "result": [ + { + "line": 24, + "column": 5, + "endLine": 24, + "endColumn": 30, + "problem": "NonDeclarationInNamespace", + "suggest": "", + "rule": "Non-declaration statements in namespaces are not supported (single semicolons are considered as empty non-declaration statements) (arkts-no-ns-statements)", + "severity": "ERROR" + }, + { + "line": 33, + "column": 5, + "endLine": 33, + "endColumn": 30, + "problem": "NonDeclarationInNamespace", + "suggest": "", + "rule": "Non-declaration statements in namespaces are not supported (single semicolons are considered as empty non-declaration statements) (arkts-no-ns-statements)", + "severity": "ERROR" + }, + { + "line": 40, + "column": 5, + "endLine": 40, + "endColumn": 24, + "problem": "NonDeclarationInNamespace", + "suggest": "", + "rule": "Non-declaration statements in namespaces are not supported (single semicolons are considered as empty non-declaration statements) (arkts-no-ns-statements)", + "severity": "ERROR" + }, + { + "line": 47, + "column": 5, + "endLine": 47, + "endColumn": 25, + "problem": "NonDeclarationInNamespace", + "suggest": "", + "rule": "Non-declaration statements in namespaces are not supported (single semicolons are considered as empty non-declaration statements) (arkts-no-ns-statements)", + "severity": "ERROR" + }, + { + "line": 44, + "column": 17, + "endLine": 44, + "endColumn": 18, + "problem": "ObjectLiteralNoContextType", + "suggest": "", + "rule": "Object literal must correspond to some explicitly declared class or interface (arkts-no-untyped-obj-literals)", + "severity": "ERROR" + }, + { + "line": 44, + "column": 30, + "endLine": 44, + "endColumn": 31, + "problem": "LiteralAsPropertyName", + "suggest": "", + "rule": "Objects with property names that are not identifiers are not supported (arkts-identifiers-as-prop-names)", + "severity": "ERROR" + }, + { + "line": 74, + "column": 5, + "endLine": 74, + "endColumn": 17, + "problem": "NonDeclarationInNamespace", + "suggest": "", + "rule": "Non-declaration statements in namespaces are not supported (single semicolons are considered as empty non-declaration statements) (arkts-no-ns-statements)", + "severity": "ERROR" + }, + { + "line": 85, + "column": 5, + "endLine": 85, + "endColumn": 35, + "problem": "NonDeclarationInNamespace", + "suggest": "", + "rule": "Non-declaration statements in namespaces are not supported (single semicolons are considered as empty non-declaration statements) (arkts-no-ns-statements)", + "severity": "ERROR" + }, + { + "line": 103, + "column": 5, + "endLine": 103, + "endColumn": 29, + "problem": "NonDeclarationInNamespace", + "suggest": "", + "rule": "Non-declaration statements in namespaces are not supported (single semicolons are considered as empty non-declaration statements) (arkts-no-ns-statements)", + "severity": "ERROR" + }, + { + "line": 104, + "column": 5, + "endLine": 104, + "endColumn": 42, + "problem": "NonDeclarationInNamespace", + "suggest": "", + "rule": "Non-declaration statements in namespaces are not supported (single semicolons are considered as empty non-declaration statements) (arkts-no-ns-statements)", + "severity": "ERROR" + }, + { + "line": 105, + "column": 5, + "endLine": 105, + "endColumn": 27, + "problem": "NonDeclarationInNamespace", + "suggest": "", + "rule": "Non-declaration statements in namespaces are not supported (single semicolons are considered as empty non-declaration statements) (arkts-no-ns-statements)", + "severity": "ERROR" + }, + { + "line": 117, + "column": 5, + "endLine": 117, + "endColumn": 19, + "problem": "NonDeclarationInNamespace", + "suggest": "", + "rule": "Non-declaration statements in namespaces are not supported (single semicolons are considered as empty non-declaration statements) (arkts-no-ns-statements)", + "severity": "ERROR" + }, + { + "line": 118, + "column": 5, + "endLine": 118, + "endColumn": 19, + "problem": "NonDeclarationInNamespace", + "suggest": "", + "rule": "Non-declaration statements in namespaces are not supported (single semicolons are considered as empty non-declaration statements) (arkts-no-ns-statements)", + "severity": "ERROR" + }, + { + "line": 123, + "column": 5, + "endLine": 123, + "endColumn": 31, + "problem": "NonDeclarationInNamespace", + "suggest": "", + "rule": "Non-declaration statements in namespaces are not supported (single semicolons are considered as empty non-declaration statements) (arkts-no-ns-statements)", + "severity": "ERROR" + }, + { + "line": 124, + "column": 5, + "endLine": 124, + "endColumn": 32, + "problem": "NonDeclarationInNamespace", + "suggest": "", + "rule": "Non-declaration statements in namespaces are not supported (single semicolons are considered as empty non-declaration statements) (arkts-no-ns-statements)", + "severity": "ERROR" + }, + { + "line": 126, + "column": 5, + "endLine": 126, + "endColumn": 44, + "problem": "NonDeclarationInNamespace", + "suggest": "", + "rule": "Non-declaration statements in namespaces are not supported (single semicolons are considered as empty non-declaration statements) (arkts-no-ns-statements)", + "severity": "ERROR" + }, + { + "line": 127, + "column": 5, + "endLine": 127, + "endColumn": 59, + "problem": "NonDeclarationInNamespace", + "suggest": "", + "rule": "Non-declaration statements in namespaces are not supported (single semicolons are considered as empty non-declaration statements) (arkts-no-ns-statements)", + "severity": "ERROR" + }, + { + "line": 128, + "column": 5, + "endLine": 128, + "endColumn": 59, + "problem": "NonDeclarationInNamespace", + "suggest": "", + "rule": "Non-declaration statements in namespaces are not supported (single semicolons are considered as empty non-declaration statements) (arkts-no-ns-statements)", + "severity": "ERROR" + }, + { + "line": 112, + "column": 32, + "endLine": 112, + "endColumn": 60, + "problem": "GenericCallNoTypeArgs", + "suggest": "", + "rule": "Type inference in case of generic function calls is limited (arkts-no-inferred-generic-params)", + "severity": "ERROR" + } + ] +} \ No newline at end of file diff --git a/ets2panda/linter/test/main/object_literals_properties.ets.arkts2.json b/ets2panda/linter/test/main/object_literals_properties.ets.arkts2.json index 8f19012800..bfc6ec603c 100644 --- a/ets2panda/linter/test/main/object_literals_properties.ets.arkts2.json +++ b/ets2panda/linter/test/main/object_literals_properties.ets.arkts2.json @@ -34,6 +34,16 @@ "rule": "Object literal properties can only contain name-value pairs (arkts-obj-literal-props)", "severity": "ERROR" }, + { + "line": 18, + "column": 21, + "endLine": 18, + "endColumn": 22, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 21, "column": 17, @@ -54,6 +64,16 @@ "rule": "Object literal properties can only contain name-value pairs (arkts-obj-literal-props)", "severity": "ERROR" }, + { + "line": 22, + "column": 27, + "endLine": 22, + "endColumn": 28, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 25, "column": 17, @@ -84,6 +104,16 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 31, + "column": 9, + "endLine": 31, + "endColumn": 10, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 33, "column": 17, @@ -214,6 +244,76 @@ "rule": "Object literal properties can only contain name-value pairs (arkts-obj-literal-props)", "severity": "ERROR" }, + { + "line": 45, + "column": 6, + "endLine": 45, + "endColumn": 8, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 46, + "column": 7, + "endLine": 46, + "endColumn": 8, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 46, + "column": 10, + "endLine": 46, + "endColumn": 11, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 46, + "column": 13, + "endLine": 46, + "endColumn": 14, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 51, + "column": 17, + "endLine": 51, + "endColumn": 19, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 55, + "column": 12, + "endLine": 55, + "endColumn": 13, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 59, + "column": 17, + "endLine": 59, + "endColumn": 18, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 65, "column": 5, @@ -224,6 +324,16 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 65, + "column": 10, + "endLine": 65, + "endColumn": 11, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 65, "column": 13, @@ -234,6 +344,16 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 65, + "column": 18, + "endLine": 65, + "endColumn": 19, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 65, "column": 21, @@ -244,6 +364,16 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 65, + "column": 26, + "endLine": 65, + "endColumn": 27, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 66, "column": 16, @@ -304,6 +434,26 @@ "rule": "Object literal properties can only contain name-value pairs (arkts-obj-literal-props)", "severity": "ERROR" }, + { + "line": 67, + "column": 6, + "endLine": 67, + "endColumn": 7, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 68, + "column": 6, + "endLine": 68, + "endColumn": 7, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 73, "column": 3, @@ -334,6 +484,26 @@ "rule": "Object literal properties can only contain name-value pairs (arkts-obj-literal-props)", "severity": "ERROR" }, + { + "line": 82, + "column": 17, + "endLine": 82, + "endColumn": 20, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 88, + "column": 17, + "endLine": 88, + "endColumn": 20, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 91, "column": 12, @@ -354,6 +524,16 @@ "rule": "Object literal properties can only contain name-value pairs (arkts-obj-literal-props)", "severity": "ERROR" }, + { + "line": 93, + "column": 17, + "endLine": 93, + "endColumn": 20, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 98, "column": 5, @@ -374,6 +554,16 @@ "rule": "Object literal properties can only contain name-value pairs (arkts-obj-literal-props)", "severity": "ERROR" }, + { + "line": 99, + "column": 21, + "endLine": 99, + "endColumn": 24, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 103, "column": 3, @@ -384,6 +574,16 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 103, + "column": 8, + "endLine": 103, + "endColumn": 10, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 104, "column": 3, @@ -394,6 +594,16 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 104, + "column": 8, + "endLine": 104, + "endColumn": 10, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 105, "column": 3, @@ -404,6 +614,16 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 105, + "column": 8, + "endLine": 105, + "endColumn": 10, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 109, "column": 14, @@ -454,6 +674,16 @@ "rule": "Object literal properties can only contain name-value pairs (arkts-obj-literal-props)", "severity": "ERROR" }, + { + "line": 113, + "column": 21, + "endLine": 113, + "endColumn": 22, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 116, "column": 15, @@ -514,6 +744,16 @@ "rule": "Object literal properties can only contain name-value pairs (arkts-obj-literal-props)", "severity": "ERROR" }, + { + "line": 120, + "column": 21, + "endLine": 120, + "endColumn": 22, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 121, "column": 3, @@ -534,6 +774,16 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 125, + "column": 8, + "endLine": 125, + "endColumn": 10, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 126, "column": 3, @@ -544,6 +794,16 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 126, + "column": 8, + "endLine": 126, + "endColumn": 10, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 127, "column": 3, @@ -554,6 +814,16 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 127, + "column": 8, + "endLine": 127, + "endColumn": 10, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 133, "column": 14, @@ -604,6 +874,16 @@ "rule": "Object literal properties can only contain name-value pairs (arkts-obj-literal-props)", "severity": "ERROR" }, + { + "line": 137, + "column": 21, + "endLine": 137, + "endColumn": 22, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 141, "column": 7, @@ -614,6 +894,16 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 141, + "column": 11, + "endLine": 141, + "endColumn": 12, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 141, "column": 14, @@ -624,6 +914,16 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 141, + "column": 18, + "endLine": 141, + "endColumn": 19, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 142, "column": 25, @@ -684,6 +984,16 @@ "rule": "Object literal must correspond to some explicitly declared class or interface (arkts-no-untyped-obj-literals)", "severity": "ERROR" }, + { + "line": 155, + "column": 38, + "endLine": 155, + "endColumn": 39, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 156, "column": 26, @@ -724,6 +1034,16 @@ "rule": "Object literal properties can only contain name-value pairs (arkts-obj-literal-props)", "severity": "ERROR" }, + { + "line": 167, + "column": 34, + "endLine": 167, + "endColumn": 35, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 168, "column": 27, @@ -744,6 +1064,16 @@ "rule": "Object literal properties can only contain name-value pairs (arkts-obj-literal-props)", "severity": "ERROR" }, + { + "line": 177, + "column": 15, + "endLine": 177, + "endColumn": 16, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 180, "column": 14, @@ -754,6 +1084,26 @@ "rule": "Object literal must correspond to some explicitly declared class or interface (arkts-no-untyped-obj-literals)", "severity": "ERROR" }, + { + "line": 181, + "column": 6, + "endLine": 181, + "endColumn": 7, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 186, + "column": 15, + "endLine": 186, + "endColumn": 16, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 191, "column": 3, @@ -764,6 +1114,16 @@ "rule": "Object literal properties can only contain name-value pairs (arkts-obj-literal-props)", "severity": "ERROR" }, + { + "line": 190, + "column": 6, + "endLine": 190, + "endColumn": 7, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 198, "column": 14, @@ -774,6 +1134,16 @@ "rule": "Object literal must correspond to some explicitly declared class or interface (arkts-no-untyped-obj-literals)", "severity": "ERROR" }, + { + "line": 199, + "column": 6, + "endLine": 199, + "endColumn": 7, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 209, "column": 3, @@ -784,6 +1154,16 @@ "rule": "Object literal properties can only contain name-value pairs (arkts-obj-literal-props)", "severity": "ERROR" }, + { + "line": 208, + "column": 6, + "endLine": 208, + "endColumn": 7, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 219, "column": 18, @@ -804,6 +1184,16 @@ "rule": "Object literal properties can only contain name-value pairs (arkts-obj-literal-props)", "severity": "ERROR" }, + { + "line": 220, + "column": 21, + "endLine": 220, + "endColumn": 22, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 229, "column": 20, @@ -824,6 +1214,26 @@ "rule": "Object literal properties can only contain name-value pairs (arkts-obj-literal-props)", "severity": "ERROR" }, + { + "line": 230, + "column": 21, + "endLine": 230, + "endColumn": 22, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 240, + "column": 11, + "endLine": 240, + "endColumn": 12, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 243, "column": 20, @@ -844,6 +1254,16 @@ "rule": "Object literal properties can only contain name-value pairs (arkts-obj-literal-props)", "severity": "ERROR" }, + { + "line": 244, + "column": 21, + "endLine": 244, + "endColumn": 22, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 187, "column": 3, diff --git a/ets2panda/linter/test/main/object_literals_properties.ets.autofix.json b/ets2panda/linter/test/main/object_literals_properties.ets.autofix.json index de865a4411..b0376b4537 100644 --- a/ets2panda/linter/test/main/object_literals_properties.ets.autofix.json +++ b/ets2panda/linter/test/main/object_literals_properties.ets.autofix.json @@ -24,12 +24,20 @@ { "start": 637, "end": 637, - "replacementText": "class GeneratedObjectLiteralClass_1 {\n m() { console.log(1); } // Error, fixable\n}\n\n" + "replacementText": "class GeneratedObjectLiteralClass_1 {\n m() { console.log(1); } // Error, fixable\n}\n\n", + "line": 17, + "column": 14, + "endLine": 17, + "endColumn": 15 }, { "start": 650, "end": 697, - "replacementText": "new GeneratedObjectLiteralClass_1()" + "replacementText": "new GeneratedObjectLiteralClass_1()", + "line": 17, + "column": 14, + "endLine": 17, + "endColumn": 15 } ], "suggest": "", @@ -46,6 +54,27 @@ "rule": "Object literal properties can only contain name-value pairs (arkts-obj-literal-props)", "severity": "ERROR" }, + { + "line": 18, + "column": 21, + "endLine": 18, + "endColumn": 22, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 672, + "end": 673, + "replacementText": "1.0", + "line": 18, + "column": 21, + "endLine": 18, + "endColumn": 22 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 21, "column": 17, @@ -56,12 +85,20 @@ { "start": 700, "end": 700, - "replacementText": "class GeneratedObjectLiteralClass_2 {\n get property() { return 2; } // Error, fixable\n}\n\n" + "replacementText": "class GeneratedObjectLiteralClass_2 {\n get property() { return 2; } // Error, fixable\n}\n\n", + "line": 21, + "column": 17, + "endLine": 21, + "endColumn": 18 }, { "start": 716, "end": 768, - "replacementText": "new GeneratedObjectLiteralClass_2()" + "replacementText": "new GeneratedObjectLiteralClass_2()", + "line": 21, + "column": 17, + "endLine": 21, + "endColumn": 18 } ], "suggest": "", @@ -78,6 +115,27 @@ "rule": "Object literal properties can only contain name-value pairs (arkts-obj-literal-props)", "severity": "ERROR" }, + { + "line": 22, + "column": 27, + "endLine": 22, + "endColumn": 28, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 744, + "end": 745, + "replacementText": "2.0", + "line": 22, + "column": 27, + "endLine": 22, + "endColumn": 28 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 25, "column": 17, @@ -88,12 +146,20 @@ { "start": 771, "end": 771, - "replacementText": "class GeneratedObjectLiteralClass_3 {\n set property(value: number) {\n console.log(value);\n }\n}\n\n" + "replacementText": "class GeneratedObjectLiteralClass_3 {\n set property(value: number) {\n console.log(value);\n }\n}\n\n", + "line": 25, + "column": 17, + "endLine": 25, + "endColumn": 18 }, { "start": 787, "end": 868, - "replacementText": "new GeneratedObjectLiteralClass_3()" + "replacementText": "new GeneratedObjectLiteralClass_3()", + "line": 25, + "column": 17, + "endLine": 25, + "endColumn": 18 } ], "suggest": "", @@ -120,7 +186,32 @@ { "start": 875, "end": 880, - "replacementText": "x: number = 1" + "replacementText": "x: number = 1", + "line": 31, + "column": 5, + "endLine": 31, + "endColumn": 10 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 31, + "column": 9, + "endLine": 31, + "endColumn": 10, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 879, + "end": 880, + "replacementText": "1.0", + "line": 31, + "column": 9, + "endLine": 31, + "endColumn": 10 } ], "suggest": "", @@ -147,7 +238,11 @@ { "start": 922, "end": 923, - "replacementText": "x: x" + "replacementText": "x: x", + "line": 34, + "column": 3, + "endLine": 34, + "endColumn": 4 } ], "suggest": "", @@ -164,7 +259,11 @@ { "start": 945, "end": 946, - "replacementText": "y: y" + "replacementText": "y: y", + "line": 35, + "column": 3, + "endLine": 35, + "endColumn": 4 } ], "suggest": "", @@ -181,7 +280,11 @@ { "start": 968, "end": 969, - "replacementText": "z: z" + "replacementText": "z: z", + "line": 36, + "column": 3, + "endLine": 36, + "endColumn": 4 } ], "suggest": "", @@ -228,12 +331,20 @@ { "start": 1048, "end": 1048, - "replacementText": "class GeneratedObjectLiteralClass_4 {\n a: string;\n b: number;\n c: number[];\n x: number;\n y: string;\n constructor(init: GeneratedObjectLiteralInitInterface_4) {\n this.a = init.a;\n this.b = init.b;\n this.c = init.c;\n this.x = init.x;\n this.y = init.y;\n }\n method() {\n console.log(42);\n }\n get property() {\n return 0;\n }\n set property(value: number) {\n if (value < 0) {\n throw new Error('Bad value');\n }\n }\n}\n\ninterface GeneratedObjectLiteralInitInterface_4 {\n a: string;\n b: number;\n c: number[];\n x: number;\n y: string;\n}\n\n" + "replacementText": "class GeneratedObjectLiteralClass_4 {\n a: string;\n b: number;\n c: number[];\n x: number;\n y: string;\n constructor(init: GeneratedObjectLiteralInitInterface_4) {\n this.a = init.a;\n this.b = init.b;\n this.c = init.c;\n this.x = init.x;\n this.y = init.y;\n }\n method() {\n console.log(42);\n }\n get property() {\n return 0;\n }\n set property(value: number) {\n if (value < 0) {\n throw new Error('Bad value');\n }\n }\n}\n\ninterface GeneratedObjectLiteralInitInterface_4 {\n a: string;\n b: number;\n c: number[];\n x: number;\n y: string;\n}\n\n", + "line": 43, + "column": 13, + "endLine": 43, + "endColumn": 14 }, { "start": 1060, "end": 1344, - "replacementText": "new GeneratedObjectLiteralClass_4({\n a: \"foo\",\n b: 42,\n c: [1, 2, 3],\n x: x,\n y: y\n})" + "replacementText": "new GeneratedObjectLiteralClass_4({\n a: \"foo\",\n b: 42,\n c: [1, 2, 3],\n x: x,\n y: y\n})", + "line": 43, + "column": 13, + "endLine": 43, + "endColumn": 14 } ], "suggest": "", @@ -250,7 +361,11 @@ { "start": 1112, "end": 1113, - "replacementText": "x: x" + "replacementText": "x: x", + "line": 47, + "column": 3, + "endLine": 47, + "endColumn": 4 } ], "suggest": "", @@ -267,7 +382,11 @@ { "start": 1126, "end": 1127, - "replacementText": "y: y" + "replacementText": "y: y", + "line": 48, + "column": 3, + "endLine": 48, + "endColumn": 4 } ], "suggest": "", @@ -304,6 +423,153 @@ "rule": "Object literal properties can only contain name-value pairs (arkts-obj-literal-props)", "severity": "ERROR" }, + { + "line": 45, + "column": 6, + "endLine": 45, + "endColumn": 8, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1090, + "end": 1092, + "replacementText": "42.0", + "line": 45, + "column": 6, + "endLine": 45, + "endColumn": 8 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 46, + "column": 7, + "endLine": 46, + "endColumn": 8, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1100, + "end": 1101, + "replacementText": "1.0", + "line": 46, + "column": 7, + "endLine": 46, + "endColumn": 8 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 46, + "column": 10, + "endLine": 46, + "endColumn": 11, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1103, + "end": 1104, + "replacementText": "2.0", + "line": 46, + "column": 10, + "endLine": 46, + "endColumn": 11 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 46, + "column": 13, + "endLine": 46, + "endColumn": 14, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1106, + "end": 1107, + "replacementText": "3.0", + "line": 46, + "column": 13, + "endLine": 46, + "endColumn": 14 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 51, + "column": 17, + "endLine": 51, + "endColumn": 19, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1177, + "end": 1179, + "replacementText": "42.0", + "line": 51, + "column": 17, + "endLine": 51, + "endColumn": 19 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 55, + "column": 12, + "endLine": 55, + "endColumn": 13, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1226, + "end": 1227, + "replacementText": "0.0", + "line": 55, + "column": 12, + "endLine": 55, + "endColumn": 13 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 59, + "column": 17, + "endLine": 59, + "endColumn": 18, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1292, + "end": 1293, + "replacementText": "0.0", + "line": 59, + "column": 17, + "endLine": 59, + "endColumn": 18 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 65, "column": 5, @@ -314,7 +580,32 @@ { "start": 1351, "end": 1357, - "replacementText": "x2: number = 1" + "replacementText": "x2: number = 1", + "line": 65, + "column": 5, + "endLine": 65, + "endColumn": 11 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 65, + "column": 10, + "endLine": 65, + "endColumn": 11, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1356, + "end": 1357, + "replacementText": "1.0", + "line": 65, + "column": 10, + "endLine": 65, + "endColumn": 11 } ], "suggest": "", @@ -331,7 +622,32 @@ { "start": 1359, "end": 1365, - "replacementText": "y2: number = 2" + "replacementText": "y2: number = 2", + "line": 65, + "column": 13, + "endLine": 65, + "endColumn": 19 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 65, + "column": 18, + "endLine": 65, + "endColumn": 19, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1364, + "end": 1365, + "replacementText": "2.0", + "line": 65, + "column": 18, + "endLine": 65, + "endColumn": 19 } ], "suggest": "", @@ -348,7 +664,32 @@ { "start": 1367, "end": 1373, - "replacementText": "z2: number = 3" + "replacementText": "z2: number = 3", + "line": 65, + "column": 21, + "endLine": 65, + "endColumn": 27 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 65, + "column": 26, + "endLine": 65, + "endColumn": 27, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1372, + "end": 1373, + "replacementText": "3.0", + "line": 65, + "column": 26, + "endLine": 65, + "endColumn": 27 } ], "suggest": "", @@ -375,7 +716,11 @@ { "start": 1425, "end": 1427, - "replacementText": "x2: x2" + "replacementText": "x2: x2", + "line": 69, + "column": 3, + "endLine": 69, + "endColumn": 5 } ], "suggest": "", @@ -392,7 +737,11 @@ { "start": 1449, "end": 1451, - "replacementText": "y2: y2" + "replacementText": "y2: y2", + "line": 70, + "column": 3, + "endLine": 70, + "endColumn": 5 } ], "suggest": "", @@ -409,7 +758,11 @@ { "start": 1473, "end": 1475, - "replacementText": "z2: z2" + "replacementText": "z2: z2", + "line": 71, + "column": 3, + "endLine": 71, + "endColumn": 5 } ], "suggest": "", @@ -436,6 +789,48 @@ "rule": "Object literal properties can only contain name-value pairs (arkts-obj-literal-props)", "severity": "ERROR" }, + { + "line": 67, + "column": 6, + "endLine": 67, + "endColumn": 7, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1412, + "end": 1413, + "replacementText": "1.0", + "line": 67, + "column": 6, + "endLine": 67, + "endColumn": 7 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 68, + "column": 6, + "endLine": 68, + "endColumn": 7, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1420, + "end": 1421, + "replacementText": "2.0", + "line": 68, + "column": 6, + "endLine": 68, + "endColumn": 7 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 73, "column": 3, @@ -466,18 +861,68 @@ { "start": 1599, "end": 1599, - "replacementText": "class GeneratedObjectLiteralClass_5 implements I {\n m() {\n console.log(100);\n }\n}\n\n" + "replacementText": "class GeneratedObjectLiteralClass_5 implements I {\n m() {\n console.log(100);\n }\n}\n\n", + "line": 81, + "column": 3, + "endLine": 83, + "endColumn": 4 }, { "start": 1610, "end": 1658, - "replacementText": "new GeneratedObjectLiteralClass_5()" + "replacementText": "new GeneratedObjectLiteralClass_5()", + "line": 81, + "column": 3, + "endLine": 83, + "endColumn": 4 } ], "suggest": "", "rule": "Object literal properties can only contain name-value pairs (arkts-obj-literal-props)", "severity": "ERROR" }, + { + "line": 82, + "column": 17, + "endLine": 82, + "endColumn": 20, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1647, + "end": 1650, + "replacementText": "100.0", + "line": 82, + "column": 17, + "endLine": 82, + "endColumn": 20 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 88, + "column": 17, + "endLine": 88, + "endColumn": 20, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1701, + "end": 1704, + "replacementText": "200.0", + "line": 88, + "column": 17, + "endLine": 88, + "endColumn": 20 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 91, "column": 12, @@ -498,18 +943,47 @@ { "start": 1713, "end": 1713, - "replacementText": "class GeneratedObjectLiteralClass_6 extends C {\n m(): void {\n console.log(300);\n }\n}\n\n" + "replacementText": "class GeneratedObjectLiteralClass_6 extends C {\n m(): void {\n console.log(300);\n }\n}\n\n", + "line": 92, + "column": 3, + "endLine": 94, + "endColumn": 4 }, { "start": 1724, "end": 1778, - "replacementText": "new GeneratedObjectLiteralClass_6()" + "replacementText": "new GeneratedObjectLiteralClass_6()", + "line": 92, + "column": 3, + "endLine": 94, + "endColumn": 4 } ], "suggest": "", "rule": "Object literal properties can only contain name-value pairs (arkts-obj-literal-props)", "severity": "ERROR" }, + { + "line": 93, + "column": 17, + "endLine": 93, + "endColumn": 20, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1767, + "end": 1770, + "replacementText": "300.0", + "line": 93, + "column": 17, + "endLine": 93, + "endColumn": 20 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 98, "column": 5, @@ -530,18 +1004,47 @@ { "start": 1803, "end": 1803, - "replacementText": "class GeneratedObjectLiteralClass_7 extends C {\n m() { console.log(300); } // Fixable\n}\n\n" + "replacementText": "class GeneratedObjectLiteralClass_7 extends C {\n m() { console.log(300); } // Fixable\n}\n\n", + "line": 99, + "column": 3, + "endLine": 99, + "endColumn": 28 }, { "start": 1807, "end": 1849, - "replacementText": "new GeneratedObjectLiteralClass_7()" + "replacementText": "new GeneratedObjectLiteralClass_7()", + "line": 99, + "column": 3, + "endLine": 99, + "endColumn": 28 } ], "suggest": "", "rule": "Object literal properties can only contain name-value pairs (arkts-obj-literal-props)", "severity": "ERROR" }, + { + "line": 99, + "column": 21, + "endLine": 99, + "endColumn": 24, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1829, + "end": 1832, + "replacementText": "300.0", + "line": 99, + "column": 21, + "endLine": 99, + "endColumn": 24 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 103, "column": 3, @@ -552,7 +1055,74 @@ { "start": 1866, "end": 1874, - "replacementText": "x2: number = 10;" + "replacementText": "x2: number = 10;", + "line": 103, + "column": 3, + "endLine": 103, + "endColumn": 11 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 103, + "column": 8, + "endLine": 103, + "endColumn": 10, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1871, + "end": 1873, + "replacementText": "10.0", + "line": 103, + "column": 8, + "endLine": 103, + "endColumn": 10 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 104, + "column": 3, + "endLine": 104, + "endColumn": 11, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1877, + "end": 1885, + "replacementText": "y2: number = 20;", + "line": 104, + "column": 3, + "endLine": 104, + "endColumn": 11 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 104, + "column": 8, + "endLine": 104, + "endColumn": 10, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1882, + "end": 1884, + "replacementText": "20.0", + "line": 104, + "column": 8, + "endLine": 104, + "endColumn": 10 } ], "suggest": "", @@ -560,16 +1130,20 @@ "severity": "ERROR" }, { - "line": 104, + "line": 105, "column": 3, - "endLine": 104, + "endLine": 105, "endColumn": 11, "problem": "NumericSemantics", "autofix": [ { - "start": 1877, - "end": 1885, - "replacementText": "y2: number = 20;" + "start": 1888, + "end": 1896, + "replacementText": "z2: number = 30;", + "line": 105, + "column": 3, + "endLine": 105, + "endColumn": 11 } ], "suggest": "", @@ -578,15 +1152,19 @@ }, { "line": 105, - "column": 3, + "column": 8, "endLine": 105, - "endColumn": 11, + "endColumn": 10, "problem": "NumericSemantics", "autofix": [ { - "start": 1888, - "end": 1896, - "replacementText": "z2: number = 30;" + "start": 1893, + "end": 1895, + "replacementText": "30.0", + "line": 105, + "column": 8, + "endLine": 105, + "endColumn": 10 } ], "suggest": "", @@ -613,7 +1191,11 @@ { "start": 1926, "end": 1928, - "replacementText": "x2: x2" + "replacementText": "x2: x2", + "line": 110, + "column": 3, + "endLine": 110, + "endColumn": 5 } ], "suggest": "", @@ -630,7 +1212,11 @@ { "start": 1943, "end": 1945, - "replacementText": "y2: y2" + "replacementText": "y2: y2", + "line": 111, + "column": 3, + "endLine": 111, + "endColumn": 5 } ], "suggest": "", @@ -647,7 +1233,11 @@ { "start": 1960, "end": 1962, - "replacementText": "z2: z2" + "replacementText": "z2: z2", + "line": 112, + "column": 3, + "endLine": 112, + "endColumn": 5 } ], "suggest": "", @@ -664,18 +1254,47 @@ { "start": 1909, "end": 1909, - "replacementText": "class GeneratedObjectLiteralClass_8 extends C2 {\n x2: number;\n y2: number;\n z2: number;\n constructor(init: GeneratedObjectLiteralInitInterface_8) {\n super();\n this.x2 = init.x2;\n this.y2 = init.y2;\n this.z2 = init.z2;\n }\n m() { console.log(1); } // Fixable\n}\n\ninterface GeneratedObjectLiteralInitInterface_8 {\n x2: number;\n y2: number;\n z2: number;\n}\n\n" + "replacementText": "class GeneratedObjectLiteralClass_8 extends C2 {\n x2: number;\n y2: number;\n z2: number;\n constructor(init: GeneratedObjectLiteralInitInterface_8) {\n super();\n this.x2 = init.x2;\n this.y2 = init.y2;\n this.z2 = init.z2;\n }\n m() { console.log(1); } // Fixable\n}\n\ninterface GeneratedObjectLiteralInitInterface_8 {\n x2: number;\n y2: number;\n z2: number;\n}\n\n", + "line": 113, + "column": 3, + "endLine": 113, + "endColumn": 26 }, { "start": 1922, "end": 2013, - "replacementText": "new GeneratedObjectLiteralClass_8({\n x2: x2,\n y2: y2,\n z2: z2\n})" + "replacementText": "new GeneratedObjectLiteralClass_8({\n x2: x2,\n y2: y2,\n z2: z2\n})", + "line": 113, + "column": 3, + "endLine": 113, + "endColumn": 26 } ], "suggest": "", "rule": "Object literal properties can only contain name-value pairs (arkts-obj-literal-props)", "severity": "ERROR" }, + { + "line": 113, + "column": 21, + "endLine": 113, + "endColumn": 22, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1995, + "end": 1996, + "replacementText": "1.0", + "line": 113, + "column": 21, + "endLine": 113, + "endColumn": 22 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 116, "column": 15, @@ -696,7 +1315,11 @@ { "start": 2034, "end": 2036, - "replacementText": "x2: x2" + "replacementText": "x2: x2", + "line": 117, + "column": 3, + "endLine": 117, + "endColumn": 5 } ], "suggest": "", @@ -713,7 +1336,11 @@ { "start": 2051, "end": 2053, - "replacementText": "y2: y2" + "replacementText": "y2: y2", + "line": 118, + "column": 3, + "endLine": 118, + "endColumn": 5 } ], "suggest": "", @@ -730,7 +1357,11 @@ { "start": 2068, "end": 2070, - "replacementText": "z2: z2" + "replacementText": "z2: z2", + "line": 119, + "column": 3, + "endLine": 119, + "endColumn": 5 } ], "suggest": "", @@ -757,6 +1388,27 @@ "rule": "Object literal properties can only contain name-value pairs (arkts-obj-literal-props)", "severity": "ERROR" }, + { + "line": 120, + "column": 21, + "endLine": 120, + "endColumn": 22, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 2103, + "end": 2104, + "replacementText": "1.0", + "line": 120, + "column": 21, + "endLine": 120, + "endColumn": 22 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 121, "column": 3, @@ -777,7 +1429,32 @@ { "start": 2200, "end": 2208, - "replacementText": "x2: number = 10;" + "replacementText": "x2: number = 10;", + "line": 125, + "column": 3, + "endLine": 125, + "endColumn": 11 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 125, + "column": 8, + "endLine": 125, + "endColumn": 10, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 2205, + "end": 2207, + "replacementText": "10.0", + "line": 125, + "column": 8, + "endLine": 125, + "endColumn": 10 } ], "suggest": "", @@ -794,7 +1471,32 @@ { "start": 2211, "end": 2219, - "replacementText": "y2: number = 20;" + "replacementText": "y2: number = 20;", + "line": 126, + "column": 3, + "endLine": 126, + "endColumn": 11 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 126, + "column": 8, + "endLine": 126, + "endColumn": 10, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 2216, + "end": 2218, + "replacementText": "20.0", + "line": 126, + "column": 8, + "endLine": 126, + "endColumn": 10 } ], "suggest": "", @@ -811,7 +1513,32 @@ { "start": 2222, "end": 2230, - "replacementText": "z2: number = 30;" + "replacementText": "z2: number = 30;", + "line": 127, + "column": 3, + "endLine": 127, + "endColumn": 11 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 127, + "column": 8, + "endLine": 127, + "endColumn": 10, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 2227, + "end": 2229, + "replacementText": "30.0", + "line": 127, + "column": 8, + "endLine": 127, + "endColumn": 10 } ], "suggest": "", @@ -838,7 +1565,11 @@ { "start": 2289, "end": 2291, - "replacementText": "x2: x2" + "replacementText": "x2: x2", + "line": 134, + "column": 3, + "endLine": 134, + "endColumn": 5 } ], "suggest": "", @@ -855,7 +1586,11 @@ { "start": 2306, "end": 2308, - "replacementText": "y2: y2" + "replacementText": "y2: y2", + "line": 135, + "column": 3, + "endLine": 135, + "endColumn": 5 } ], "suggest": "", @@ -872,7 +1607,11 @@ { "start": 2323, "end": 2325, - "replacementText": "z2: z2" + "replacementText": "z2: z2", + "line": 136, + "column": 3, + "endLine": 136, + "endColumn": 5 } ], "suggest": "", @@ -889,6 +1628,27 @@ "rule": "Object literal properties can only contain name-value pairs (arkts-obj-literal-props)", "severity": "ERROR" }, + { + "line": 137, + "column": 21, + "endLine": 137, + "endColumn": 22, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 2358, + "end": 2359, + "replacementText": "1.0", + "line": 137, + "column": 21, + "endLine": 137, + "endColumn": 22 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 141, "column": 7, @@ -899,7 +1659,32 @@ { "start": 2469, "end": 2474, - "replacementText": "a: number = 1" + "replacementText": "a: number = 1", + "line": 141, + "column": 7, + "endLine": 141, + "endColumn": 12 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 141, + "column": 11, + "endLine": 141, + "endColumn": 12, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 2473, + "end": 2474, + "replacementText": "1.0", + "line": 141, + "column": 11, + "endLine": 141, + "endColumn": 12 } ], "suggest": "", @@ -916,7 +1701,32 @@ { "start": 2476, "end": 2481, - "replacementText": "b: number = 2" + "replacementText": "b: number = 2", + "line": 141, + "column": 14, + "endLine": 141, + "endColumn": 19 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 141, + "column": 18, + "endLine": 141, + "endColumn": 19, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 2480, + "end": 2481, + "replacementText": "2.0", + "line": 141, + "column": 18, + "endLine": 141, + "endColumn": 19 } ], "suggest": "", @@ -973,7 +1783,11 @@ { "start": 2741, "end": 2781, - "replacementText": "interface LocalType {\n a: number;\n b: string;\n}" + "replacementText": "interface LocalType {\n a: number;\n b: string;\n}", + "line": 154, + "column": 20, + "endLine": 154, + "endColumn": 21 } ], "suggest": "", @@ -990,6 +1804,27 @@ "rule": "Object literal must correspond to some explicitly declared class or interface (arkts-no-untyped-obj-literals)", "severity": "ERROR" }, + { + "line": 155, + "column": 38, + "endLine": 155, + "endColumn": 39, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 2819, + "end": 2820, + "replacementText": "1.0", + "line": 155, + "column": 38, + "endLine": 155, + "endColumn": 39 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 156, "column": 26, @@ -1030,6 +1865,27 @@ "rule": "Object literal properties can only contain name-value pairs (arkts-obj-literal-props)", "severity": "ERROR" }, + { + "line": 167, + "column": 34, + "endLine": 167, + "endColumn": 35, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 3177, + "end": 3178, + "replacementText": "1.0", + "line": 167, + "column": 34, + "endLine": 167, + "endColumn": 35 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 168, "column": 27, @@ -1050,6 +1906,27 @@ "rule": "Object literal properties can only contain name-value pairs (arkts-obj-literal-props)", "severity": "ERROR" }, + { + "line": 177, + "column": 15, + "endLine": 177, + "endColumn": 16, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 3392, + "end": 3393, + "replacementText": "0.0", + "line": 177, + "column": 15, + "endLine": 177, + "endColumn": 16 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 180, "column": 14, @@ -1060,6 +1937,48 @@ "rule": "Object literal must correspond to some explicitly declared class or interface (arkts-no-untyped-obj-literals)", "severity": "ERROR" }, + { + "line": 181, + "column": 6, + "endLine": 181, + "endColumn": 7, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 3499, + "end": 3500, + "replacementText": "1.0", + "line": 181, + "column": 6, + "endLine": 181, + "endColumn": 7 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 186, + "column": 15, + "endLine": 186, + "endColumn": 16, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 3545, + "end": 3546, + "replacementText": "0.0", + "line": 186, + "column": 15, + "endLine": 186, + "endColumn": 16 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 191, "column": 3, @@ -1070,6 +1989,27 @@ "rule": "Object literal properties can only contain name-value pairs (arkts-obj-literal-props)", "severity": "ERROR" }, + { + "line": 190, + "column": 6, + "endLine": 190, + "endColumn": 7, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 3640, + "end": 3641, + "replacementText": "1.0", + "line": 190, + "column": 6, + "endLine": 190, + "endColumn": 7 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 198, "column": 14, @@ -1080,6 +2020,27 @@ "rule": "Object literal must correspond to some explicitly declared class or interface (arkts-no-untyped-obj-literals)", "severity": "ERROR" }, + { + "line": 199, + "column": 6, + "endLine": 199, + "endColumn": 7, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 3781, + "end": 3782, + "replacementText": "1.0", + "line": 199, + "column": 6, + "endLine": 199, + "endColumn": 7 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 209, "column": 3, @@ -1090,6 +2051,27 @@ "rule": "Object literal properties can only contain name-value pairs (arkts-obj-literal-props)", "severity": "ERROR" }, + { + "line": 208, + "column": 6, + "endLine": 208, + "endColumn": 7, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 3933, + "end": 3934, + "replacementText": "1.0", + "line": 208, + "column": 6, + "endLine": 208, + "endColumn": 7 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 219, "column": 18, @@ -1110,18 +2092,47 @@ { "start": 4038, "end": 4038, - "replacementText": "class GeneratedObjectLiteralClass_9 extends Derived {\n m() { console.log(2); }\n}\n\n" + "replacementText": "class GeneratedObjectLiteralClass_9 extends Derived {\n m() { console.log(2); }\n}\n\n", + "line": 220, + "column": 3, + "endLine": 220, + "endColumn": 26 }, { "start": 4055, "end": 4095, - "replacementText": "new GeneratedObjectLiteralClass_9()" + "replacementText": "new GeneratedObjectLiteralClass_9()", + "line": 220, + "column": 3, + "endLine": 220, + "endColumn": 26 } ], "suggest": "", "rule": "Object literal properties can only contain name-value pairs (arkts-obj-literal-props)", "severity": "ERROR" }, + { + "line": 220, + "column": 21, + "endLine": 220, + "endColumn": 22, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 4088, + "end": 4089, + "replacementText": "2.0", + "line": 220, + "column": 21, + "endLine": 220, + "endColumn": 22 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 229, "column": 20, @@ -1142,6 +2153,48 @@ "rule": "Object literal properties can only contain name-value pairs (arkts-obj-literal-props)", "severity": "ERROR" }, + { + "line": 230, + "column": 21, + "endLine": 230, + "endColumn": 22, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 4310, + "end": 4311, + "replacementText": "2.0", + "line": 230, + "column": 21, + "endLine": 230, + "endColumn": 22 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 240, + "column": 11, + "endLine": 240, + "endColumn": 12, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 4433, + "end": 4434, + "replacementText": "1.0", + "line": 240, + "column": 11, + "endLine": 240, + "endColumn": 12 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 243, "column": 20, @@ -1162,18 +2215,47 @@ { "start": 4443, "end": 4443, - "replacementText": "class GeneratedObjectLiteralClass_10 extends Derived3 {\n m() { console.log(2); }\n}\n\n" + "replacementText": "class GeneratedObjectLiteralClass_10 extends Derived3 {\n m() { console.log(2); }\n}\n\n", + "line": 244, + "column": 3, + "endLine": 244, + "endColumn": 26 }, { "start": 4462, "end": 4502, - "replacementText": "new GeneratedObjectLiteralClass_10()" + "replacementText": "new GeneratedObjectLiteralClass_10()", + "line": 244, + "column": 3, + "endLine": 244, + "endColumn": 26 } ], "suggest": "", "rule": "Object literal properties can only contain name-value pairs (arkts-obj-literal-props)", "severity": "ERROR" }, + { + "line": 244, + "column": 21, + "endLine": 244, + "endColumn": 22, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 4495, + "end": 4496, + "replacementText": "2.0", + "line": 244, + "column": 21, + "endLine": 244, + "endColumn": 22 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 187, "column": 3, diff --git a/ets2panda/linter/test/main/object_literals_properties.ets.migrate.ets b/ets2panda/linter/test/main/object_literals_properties.ets.migrate.ets index 1bbf9dbf43..2eb1ccd4ef 100644 --- a/ets2panda/linter/test/main/object_literals_properties.ets.migrate.ets +++ b/ets2panda/linter/test/main/object_literals_properties.ets.migrate.ets @@ -15,13 +15,13 @@ // Untyped object literals class GeneratedObjectLiteralClass_1 { - m() { console.log(1); } // Error, fixable + m() { console.log(1.0); } // Error, fixable } let method = new GeneratedObjectLiteralClass_1(); class GeneratedObjectLiteralClass_2 { - get property() { return 2; } // Error, fixable + get property() { return 2.0; } // Error, fixable } let getMethod = new GeneratedObjectLiteralClass_2(); @@ -34,7 +34,7 @@ class GeneratedObjectLiteralClass_3 { let setMethod = new GeneratedObjectLiteralClass_3(); -let x: number = 1, y = '2', z = true; +let x: number = 1.0, y = '2', z = true; interface GeneratedObjectLiteralInterface_1 { x: number; @@ -65,13 +65,13 @@ class GeneratedObjectLiteralClass_4 { this.y = init.y; } method() { - console.log(42); + console.log(42.0); } get property() { - return 0; + return 0.0; } set property(value: number) { - if (value < 0) { + if (value < 0.0) { throw new Error('Bad value'); } } @@ -87,16 +87,16 @@ interface GeneratedObjectLiteralInitInterface_4 { let mixed = new GeneratedObjectLiteralClass_4({ a: "foo", - b: 42, - c: [1, 2, 3], + b: 42.0, + c: [1.0, 2.0, 3.0], x: x, y: y }); -let x2: number = 1, y2: number = 2, z2: number = 3; +let x2: number = 1.0, y2: number = 2.0, z2: number = 3.0; let mixedBad = { // Not fixable - a: 1, - b: 2, + a: 1.0, + b: 2.0, x2: x2, // Error, fixable y2: y2, // Error, fixable z2: z2, // Error, fixable @@ -110,7 +110,7 @@ interface I { } class GeneratedObjectLiteralClass_5 implements I { m() { - console.log(100); + console.log(100.0); } } @@ -118,12 +118,12 @@ let i: I = new GeneratedObjectLiteralClass_5(); class C { m(): void { - console.log(200); + console.log(200.0); } } class GeneratedObjectLiteralClass_6 extends C { m(): void { - console.log(300); + console.log(300.0); } } @@ -131,15 +131,15 @@ let c: C = new GeneratedObjectLiteralClass_6(); function foo(c: C) {} class GeneratedObjectLiteralClass_7 extends C { - m() { console.log(300); } // Fixable + m() { console.log(300.0); } // Fixable } foo(new GeneratedObjectLiteralClass_7()); class C2 { - x2: number = 10; - y2: number = 20; - z2: number = 30; + x2: number = 10.0; + y2: number = 20.0; + z2: number = 30.0; m() {} } @@ -153,7 +153,7 @@ class GeneratedObjectLiteralClass_8 extends C2 { this.y2 = init.y2; this.z2 = init.z2; } - m() { console.log(1); } // Fixable + m() { console.log(1.0); } // Fixable } interface GeneratedObjectLiteralInitInterface_1 { @@ -172,14 +172,14 @@ let c22: C2 = { x2: x2, // Fixable y2: y2, // Fixable z2: z2, // Fixable - m() { console.log(1); }, // Not fixable, object has spread property + m() { console.log(1.0); }, // Not fixable, object has spread property ...shorthand // Not fixable }; class C3 { - x2: number = 10; - y2: number = 20; - z2: number = 30; + x2: number = 10.0; + y2: number = 20.0; + z2: number = 30.0; m() {} @@ -189,11 +189,11 @@ let c3: C3 = { x2: x2, // Fixable y2: y2, // Fixable z2: z2, // Fixable - m() { console.log(1); } // Not fixable, class type has constructor with parameters + m() { console.log(1.0); } // Not fixable, class type has constructor with parameters }; function capturesFromLocalScope() { - let a: number = 1, b: number = 2; + let a: number = 1.0, b: number = 2.0; let captureLocalVal = { m() { // Not fixable, captures local values 'a' and 'b' console.log(a, b); @@ -210,7 +210,7 @@ function capturesFromLocalScope() { a: number; b: string; } - let localTypeVar: LocalType = { a: 1, b: '2' }; + let localTypeVar: LocalType = { a: 1.0, b: '2' }; let captureLocalType = { m() { // Not fixable, captures value of type `LocalType` declared in local scope console.log(localTypeVar); @@ -222,7 +222,7 @@ function capturesFromLocalScope() { } }; - class LocalClass { x: number = 1 }; + class LocalClass { x: number = 1.0 }; let captureLocalType3 = { m() { // Not fixable, references type `LocalClass` declared in local scope console.log(new LocalClass()); @@ -232,20 +232,20 @@ function capturesFromLocalScope() { // Method overriding field class C4 { - a: number = 0; + a: number = 0.0; b() {}; } let c4: C4 = { // Not fixable, overrides class method with property of functional type - a: 1, + a: 1.0, b: () => {} }; class C5 { - a: number = 0; + a: number = 0.0; b: () => void; } let c5: C5 = { // Not fixable, overrides class property with method - a: 1, + a: 1.0, b() {} }; @@ -254,7 +254,7 @@ interface I2 { b(): void; } let i2: I2 = { // Not fixable, implements method as functional-type property - a: 1, + a: 1.0, b: () => {} }; @@ -263,7 +263,7 @@ interface I3 { b: () => void; } let ii: I3 = { // Not fixable, implements functional-type property as a method - a: 1, + a: 1.0, b() {} }; @@ -275,7 +275,7 @@ class Derived extends Base { m() {} } class GeneratedObjectLiteralClass_9 extends Derived { - m() { console.log(2); } + m() { console.log(2.0); } } let b: Derived = new GeneratedObjectLiteralClass_9(); @@ -287,7 +287,7 @@ class Derived2 extends Base2 { m() {} } let b2: Derived2 = { // Not fixable, derived class inherits a constructor with parameters from base class - m() { console.log(2); } + m() { console.log(2.0); } }; class Base3 { @@ -297,11 +297,11 @@ class Derived3 extends Base3 { m() {} constructor() { - super(1); + super(1.0); } } class GeneratedObjectLiteralClass_10 extends Derived3 { - m() { console.log(2); } + m() { console.log(2.0); } } let b3: Derived3 = new GeneratedObjectLiteralClass_10(); \ No newline at end of file diff --git a/ets2panda/linter/test/main/object_literals_properties.ets.migrate.json b/ets2panda/linter/test/main/object_literals_properties.ets.migrate.json index 05c3a0ea0a..3afc32e180 100644 --- a/ets2panda/linter/test/main/object_literals_properties.ets.migrate.json +++ b/ets2panda/linter/test/main/object_literals_properties.ets.migrate.json @@ -98,7 +98,7 @@ "line": 175, "column": 3, "endLine": 175, - "endColumn": 26, + "endColumn": 28, "problem": "ObjectLiteralProperty", "suggest": "", "rule": "Object literal properties can only contain name-value pairs (arkts-obj-literal-props)", @@ -138,7 +138,7 @@ "line": 192, "column": 3, "endLine": 192, - "endColumn": 26, + "endColumn": 28, "problem": "ObjectLiteralProperty", "suggest": "", "rule": "Object literal properties can only contain name-value pairs (arkts-obj-literal-props)", @@ -298,7 +298,7 @@ "line": 290, "column": 3, "endLine": 290, - "endColumn": 26, + "endColumn": 28, "problem": "ObjectLiteralProperty", "suggest": "", "rule": "Object literal properties can only contain name-value pairs (arkts-obj-literal-props)", diff --git a/ets2panda/linter/test/main/parameter_properties.ets.arkts2.json b/ets2panda/linter/test/main/parameter_properties.ets.arkts2.json index 3c10baf034..70d8cbcfa4 100644 --- a/ets2panda/linter/test/main/parameter_properties.ets.arkts2.json +++ b/ets2panda/linter/test/main/parameter_properties.ets.arkts2.json @@ -44,6 +44,46 @@ "rule": "Declaring fields in \"constructor\" is not supported (arkts-no-ctor-prop-decls)", "severity": "ERROR" }, + { + "line": 28, + "column": 17, + "endLine": 28, + "endColumn": 18, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 28, + "column": 20, + "endLine": 28, + "endColumn": 21, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 28, + "column": 23, + "endLine": 28, + "endColumn": 24, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 32, + "column": 22, + "endLine": 32, + "endColumn": 24, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 34, "column": 26, @@ -64,6 +104,46 @@ "rule": "Declaring fields in \"constructor\" is not supported (arkts-no-ctor-prop-decls)", "severity": "ERROR" }, + { + "line": 34, + "column": 92, + "endLine": 34, + "endColumn": 93, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 34, + "column": 95, + "endLine": 34, + "endColumn": 96, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 34, + "column": 98, + "endLine": 34, + "endColumn": 99, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 39, + "column": 17, + "endLine": 39, + "endColumn": 18, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 43, "column": 15, @@ -114,6 +194,26 @@ "rule": "Object literals cannot be used as type declarations (arkts-no-obj-literals-as-types)", "severity": "ERROR" }, + { + "line": 51, + "column": 15, + "endLine": 51, + "endColumn": 16, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 52, + "column": 15, + "endLine": 52, + "endColumn": 16, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 54, "column": 15, @@ -164,6 +264,16 @@ "rule": "Declaring fields in \"constructor\" is not supported (arkts-no-ctor-prop-decls)", "severity": "ERROR" }, + { + "line": 69, + "column": 22, + "endLine": 69, + "endColumn": 23, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 76, "column": 15, @@ -174,6 +284,16 @@ "rule": "Declaring fields in \"constructor\" is not supported (arkts-no-ctor-prop-decls)", "severity": "ERROR" }, + { + "line": 78, + "column": 22, + "endLine": 78, + "endColumn": 23, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 84, "column": 15, @@ -184,6 +304,26 @@ "rule": "Declaring fields in \"constructor\" is not supported (arkts-no-ctor-prop-decls)", "severity": "ERROR" }, + { + "line": 85, + "column": 22, + "endLine": 85, + "endColumn": 23, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 89, + "column": 22, + "endLine": 89, + "endColumn": 23, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 98, "column": 15, diff --git a/ets2panda/linter/test/main/parameter_properties.ets.autofix.json b/ets2panda/linter/test/main/parameter_properties.ets.autofix.json index f0b0ffdba2..cd0ccd75ee 100644 --- a/ets2panda/linter/test/main/parameter_properties.ets.autofix.json +++ b/ets2panda/linter/test/main/parameter_properties.ets.autofix.json @@ -24,27 +24,47 @@ { "start": 622, "end": 622, - "replacementText": "public readonly x: number;\nprotected y: number;\nprivate z: number;\n" + "replacementText": "public readonly x: number;\nprotected y: number;\nprivate z: number;\n", + "line": 20, + "column": 5, + "endLine": 20, + "endColumn": 12 }, { "start": 639, "end": 664, - "replacementText": "x: number" + "replacementText": "x: number", + "line": 20, + "column": 5, + "endLine": 20, + "endColumn": 12 }, { "start": 670, "end": 689, - "replacementText": "y: number" + "replacementText": "y: number", + "line": 20, + "column": 5, + "endLine": 20, + "endColumn": 12 }, { "start": 695, "end": 712, - "replacementText": "z: number" + "replacementText": "z: number", + "line": 20, + "column": 5, + "endLine": 20, + "endColumn": 12 }, { "start": 717, "end": 719, - "replacementText": "{\n this.x = x;\n this.y = y;\n this.z = z;\n}" + "replacementText": "{\n this.x = x;\n this.y = y;\n this.z = z;\n}", + "line": 20, + "column": 5, + "endLine": 20, + "endColumn": 12 } ], "suggest": "", @@ -61,27 +81,47 @@ { "start": 622, "end": 622, - "replacementText": "public readonly x: number;\nprotected y: number;\nprivate z: number;\n" + "replacementText": "public readonly x: number;\nprotected y: number;\nprivate z: number;\n", + "line": 20, + "column": 5, + "endLine": 20, + "endColumn": 12 }, { "start": 639, "end": 664, - "replacementText": "x: number" + "replacementText": "x: number", + "line": 20, + "column": 5, + "endLine": 20, + "endColumn": 12 }, { "start": 670, "end": 689, - "replacementText": "y: number" + "replacementText": "y: number", + "line": 20, + "column": 5, + "endLine": 20, + "endColumn": 12 }, { "start": 695, "end": 712, - "replacementText": "z: number" + "replacementText": "z: number", + "line": 20, + "column": 5, + "endLine": 20, + "endColumn": 12 }, { "start": 717, "end": 719, - "replacementText": "{\n this.x = x;\n this.y = y;\n this.z = z;\n}" + "replacementText": "{\n this.x = x;\n this.y = y;\n this.z = z;\n}", + "line": 20, + "column": 5, + "endLine": 20, + "endColumn": 12 } ], "suggest": "", @@ -98,33 +138,137 @@ { "start": 622, "end": 622, - "replacementText": "public readonly x: number;\nprotected y: number;\nprivate z: number;\n" + "replacementText": "public readonly x: number;\nprotected y: number;\nprivate z: number;\n", + "line": 20, + "column": 5, + "endLine": 20, + "endColumn": 12 }, { "start": 639, "end": 664, - "replacementText": "x: number" + "replacementText": "x: number", + "line": 20, + "column": 5, + "endLine": 20, + "endColumn": 12 }, { "start": 670, "end": 689, - "replacementText": "y: number" + "replacementText": "y: number", + "line": 20, + "column": 5, + "endLine": 20, + "endColumn": 12 }, { "start": 695, "end": 712, - "replacementText": "z: number" + "replacementText": "z: number", + "line": 20, + "column": 5, + "endLine": 20, + "endColumn": 12 }, { "start": 717, "end": 719, - "replacementText": "{\n this.x = x;\n this.y = y;\n this.z = z;\n}" + "replacementText": "{\n this.x = x;\n this.y = y;\n this.z = z;\n}", + "line": 20, + "column": 5, + "endLine": 20, + "endColumn": 12 } ], "suggest": "", "rule": "Declaring fields in \"constructor\" is not supported (arkts-no-ctor-prop-decls)", "severity": "ERROR" }, + { + "line": 28, + "column": 17, + "endLine": 28, + "endColumn": 18, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 803, + "end": 804, + "replacementText": "1.0", + "line": 28, + "column": 17, + "endLine": 28, + "endColumn": 18 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 28, + "column": 20, + "endLine": 28, + "endColumn": 21, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 806, + "end": 807, + "replacementText": "2.0", + "line": 28, + "column": 20, + "endLine": 28, + "endColumn": 21 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 28, + "column": 23, + "endLine": 28, + "endColumn": 24, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 809, + "end": 810, + "replacementText": "3.0", + "line": 28, + "column": 23, + "endLine": 28, + "endColumn": 24 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 32, + "column": 22, + "endLine": 32, + "endColumn": 24, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 863, + "end": 865, + "replacementText": "10.0", + "line": 32, + "column": 22, + "endLine": 32, + "endColumn": 24 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 34, "column": 26, @@ -135,22 +279,38 @@ { "start": 870, "end": 870, - "replacementText": "public w: string;\nprivate readonly r: number[];\n" + "replacementText": "public w: string;\nprivate readonly r: number[];\n", + "line": 34, + "column": 60, + "endLine": 34, + "endColumn": 67 }, { "start": 893, "end": 913, - "replacementText": "w = 'default'" + "replacementText": "w = 'default'", + "line": 34, + "column": 60, + "endLine": 34, + "endColumn": 67 }, { "start": 927, "end": 967, - "replacementText": "r: number[] = [1, 2, 3]" + "replacementText": "r: number[] = [1, 2, 3]", + "line": 34, + "column": 60, + "endLine": 34, + "endColumn": 67 }, { "start": 969, "end": 1021, - "replacementText": "{\n this.w = w;\n this.r = r;\n console.log(q, this.w, e, this.r, this.f);\n}" + "replacementText": "{\n this.w = w;\n this.r = r;\n console.log(q, this.w, e, this.r, this.f);\n}", + "line": 34, + "column": 60, + "endLine": 34, + "endColumn": 67 } ], "suggest": "", @@ -167,28 +327,128 @@ { "start": 870, "end": 870, - "replacementText": "public w: string;\nprivate readonly r: number[];\n" + "replacementText": "public w: string;\nprivate readonly r: number[];\n", + "line": 34, + "column": 60, + "endLine": 34, + "endColumn": 67 }, { "start": 893, "end": 913, - "replacementText": "w = 'default'" + "replacementText": "w = 'default'", + "line": 34, + "column": 60, + "endLine": 34, + "endColumn": 67 }, { "start": 927, "end": 967, - "replacementText": "r: number[] = [1, 2, 3]" + "replacementText": "r: number[] = [1, 2, 3]", + "line": 34, + "column": 60, + "endLine": 34, + "endColumn": 67 }, { "start": 969, "end": 1021, - "replacementText": "{\n this.w = w;\n this.r = r;\n console.log(q, this.w, e, this.r, this.f);\n}" + "replacementText": "{\n this.w = w;\n this.r = r;\n console.log(q, this.w, e, this.r, this.f);\n}", + "line": 34, + "column": 60, + "endLine": 34, + "endColumn": 67 } ], "suggest": "", "rule": "Declaring fields in \"constructor\" is not supported (arkts-no-ctor-prop-decls)", "severity": "ERROR" }, + { + "line": 34, + "column": 92, + "endLine": 34, + "endColumn": 93, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 959, + "end": 960, + "replacementText": "1.0", + "line": 34, + "column": 92, + "endLine": 34, + "endColumn": 93 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 34, + "column": 95, + "endLine": 34, + "endColumn": 96, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 962, + "end": 963, + "replacementText": "2.0", + "line": 34, + "column": 95, + "endLine": 34, + "endColumn": 96 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 34, + "column": 98, + "endLine": 34, + "endColumn": 99, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 965, + "end": 966, + "replacementText": "3.0", + "line": 34, + "column": 98, + "endLine": 34, + "endColumn": 99 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 39, + "column": 17, + "endLine": 39, + "endColumn": 18, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1041, + "end": 1042, + "replacementText": "1.0", + "line": 39, + "column": 17, + "endLine": 39, + "endColumn": 18 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 43, "column": 15, @@ -239,18 +499,68 @@ { "start": 1139, "end": 1139, - "replacementText": "interface GeneratedTypeLiteralInterface_1 {\n x: string;\n}\n" + "replacementText": "interface GeneratedTypeLiteralInterface_1 {\n x: string;\n}\n", + "line": 47, + "column": 44, + "endLine": 47, + "endColumn": 45 }, { "start": 1192, "end": 1203, - "replacementText": "GeneratedTypeLiteralInterface_1" + "replacementText": "GeneratedTypeLiteralInterface_1", + "line": 47, + "column": 44, + "endLine": 47, + "endColumn": 45 } ], "suggest": "", "rule": "Object literals cannot be used as type declarations (arkts-no-obj-literals-as-types)", "severity": "ERROR" }, + { + "line": 51, + "column": 15, + "endLine": 51, + "endColumn": 16, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1250, + "end": 1251, + "replacementText": "0.0", + "line": 51, + "column": 15, + "endLine": 51, + "endColumn": 16 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 52, + "column": 15, + "endLine": 52, + "endColumn": 16, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1267, + "end": 1268, + "replacementText": "0.0", + "line": 52, + "column": 15, + "endLine": 52, + "endColumn": 16 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 54, "column": 15, @@ -261,17 +571,29 @@ { "start": 1275, "end": 1275, - "replacementText": "readonly a: number;\n" + "replacementText": "readonly a: number;\n", + "line": 54, + "column": 15, + "endLine": 54, + "endColumn": 33 }, { "start": 1287, "end": 1305, - "replacementText": "a: number" + "replacementText": "a: number", + "line": 54, + "column": 15, + "endLine": 54, + "endColumn": 33 }, { "start": 1307, "end": 1309, - "replacementText": "{\n this.a = a;\n}" + "replacementText": "{\n this.a = a;\n}", + "line": 54, + "column": 15, + "endLine": 54, + "endColumn": 33 } ], "suggest": "", @@ -288,27 +610,47 @@ { "start": 1335, "end": 1335, - "replacementText": "readonly aa: number;\nb: number;\npublic c: number;\n" + "replacementText": "readonly aa: number;\nb: number;\npublic c: number;\n", + "line": 61, + "column": 5, + "endLine": 61, + "endColumn": 11 }, { "start": 1352, "end": 1371, - "replacementText": "aa: number" + "replacementText": "aa: number", + "line": 61, + "column": 5, + "endLine": 61, + "endColumn": 11 }, { "start": 1377, "end": 1395, - "replacementText": "b: number" + "replacementText": "b: number", + "line": 61, + "column": 5, + "endLine": 61, + "endColumn": 11 }, { "start": 1401, "end": 1426, - "replacementText": "c: number" + "replacementText": "c: number", + "line": 61, + "column": 5, + "endLine": 61, + "endColumn": 11 }, { "start": 1430, "end": 1450, - "replacementText": "{\n super(aa);\n this.aa = aa;\n this.b = b;\n this.c = c;\n}" + "replacementText": "{\n super(aa);\n this.aa = aa;\n this.b = b;\n this.c = c;\n}", + "line": 61, + "column": 5, + "endLine": 61, + "endColumn": 11 } ], "suggest": "", @@ -325,27 +667,47 @@ { "start": 1335, "end": 1335, - "replacementText": "readonly aa: number;\nb: number;\npublic c: number;\n" + "replacementText": "readonly aa: number;\nb: number;\npublic c: number;\n", + "line": 61, + "column": 5, + "endLine": 61, + "endColumn": 11 }, { "start": 1352, "end": 1371, - "replacementText": "aa: number" + "replacementText": "aa: number", + "line": 61, + "column": 5, + "endLine": 61, + "endColumn": 11 }, { "start": 1377, "end": 1395, - "replacementText": "b: number" + "replacementText": "b: number", + "line": 61, + "column": 5, + "endLine": 61, + "endColumn": 11 }, { "start": 1401, "end": 1426, - "replacementText": "c: number" + "replacementText": "c: number", + "line": 61, + "column": 5, + "endLine": 61, + "endColumn": 11 }, { "start": 1430, "end": 1450, - "replacementText": "{\n super(aa);\n this.aa = aa;\n this.b = b;\n this.c = c;\n}" + "replacementText": "{\n super(aa);\n this.aa = aa;\n this.b = b;\n this.c = c;\n}", + "line": 61, + "column": 5, + "endLine": 61, + "endColumn": 11 } ], "suggest": "", @@ -362,27 +724,47 @@ { "start": 1335, "end": 1335, - "replacementText": "readonly aa: number;\nb: number;\npublic c: number;\n" + "replacementText": "readonly aa: number;\nb: number;\npublic c: number;\n", + "line": 61, + "column": 5, + "endLine": 61, + "endColumn": 11 }, { "start": 1352, "end": 1371, - "replacementText": "aa: number" + "replacementText": "aa: number", + "line": 61, + "column": 5, + "endLine": 61, + "endColumn": 11 }, { "start": 1377, "end": 1395, - "replacementText": "b: number" + "replacementText": "b: number", + "line": 61, + "column": 5, + "endLine": 61, + "endColumn": 11 }, { "start": 1401, "end": 1426, - "replacementText": "c: number" + "replacementText": "c: number", + "line": 61, + "column": 5, + "endLine": 61, + "endColumn": 11 }, { "start": 1430, "end": 1450, - "replacementText": "{\n super(aa);\n this.aa = aa;\n this.b = b;\n this.c = c;\n}" + "replacementText": "{\n super(aa);\n this.aa = aa;\n this.b = b;\n this.c = c;\n}", + "line": 61, + "column": 5, + "endLine": 61, + "endColumn": 11 } ], "suggest": "", @@ -399,23 +781,56 @@ { "start": 1477, "end": 1477, - "replacementText": "readonly aa: number;\n" + "replacementText": "readonly aa: number;\n", + "line": 68, + "column": 15, + "endLine": 68, + "endColumn": 34 }, { "start": 1489, "end": 1508, - "replacementText": "aa: number" + "replacementText": "aa: number", + "line": 68, + "column": 15, + "endLine": 68, + "endColumn": 34 }, { "start": 1510, "end": 1594, - "replacementText": "{\n let f2: number = 1;\n console.log('before super() call');\n super(aa);\n this.aa = aa;\n}" + "replacementText": "{\n let f2: number = 1;\n console.log('before super() call');\n super(aa);\n this.aa = aa;\n}", + "line": 68, + "column": 15, + "endLine": 68, + "endColumn": 34 } ], "suggest": "", "rule": "Declaring fields in \"constructor\" is not supported (arkts-no-ctor-prop-decls)", "severity": "ERROR" }, + { + "line": 69, + "column": 22, + "endLine": 69, + "endColumn": 23, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1533, + "end": 1534, + "replacementText": "1.0", + "line": 69, + "column": 22, + "endLine": 69, + "endColumn": 23 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 76, "column": 15, @@ -426,23 +841,56 @@ { "start": 1621, "end": 1621, - "replacementText": "readonly aa: number;\n" + "replacementText": "readonly aa: number;\n", + "line": 76, + "column": 15, + "endLine": 76, + "endColumn": 34 }, { "start": 1633, "end": 1652, - "replacementText": "aa: number" + "replacementText": "aa: number", + "line": 76, + "column": 15, + "endLine": 76, + "endColumn": 34 }, { "start": 1654, "end": 1737, - "replacementText": "{\n super(aa);\n this.aa = aa;\n let f3: number = 1;\n console.log('after super() call');\n}" + "replacementText": "{\n super(aa);\n this.aa = aa;\n let f3: number = 1;\n console.log('after super() call');\n}", + "line": 76, + "column": 15, + "endLine": 76, + "endColumn": 34 } ], "suggest": "", "rule": "Declaring fields in \"constructor\" is not supported (arkts-no-ctor-prop-decls)", "severity": "ERROR" }, + { + "line": 78, + "column": 22, + "endLine": 78, + "endColumn": 23, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1692, + "end": 1693, + "replacementText": "1.0", + "line": 78, + "column": 22, + "endLine": 78, + "endColumn": 23 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 84, "column": 15, @@ -453,23 +901,77 @@ { "start": 1764, "end": 1764, - "replacementText": "readonly aa: number;\n" + "replacementText": "readonly aa: number;\n", + "line": 84, + "column": 15, + "endLine": 84, + "endColumn": 34 }, { "start": 1776, "end": 1795, - "replacementText": "aa: number" + "replacementText": "aa: number", + "line": 84, + "column": 15, + "endLine": 84, + "endColumn": 34 }, { "start": 1797, "end": 1944, - "replacementText": "{\n let f4: number = 1;\n console.log('before super() call');\n super(aa);\n this.aa = aa;\n console.log('after super() call');\n let f5: number = 1;\n}" + "replacementText": "{\n let f4: number = 1;\n console.log('before super() call');\n super(aa);\n this.aa = aa;\n console.log('after super() call');\n let f5: number = 1;\n}", + "line": 84, + "column": 15, + "endLine": 84, + "endColumn": 34 } ], "suggest": "", "rule": "Declaring fields in \"constructor\" is not supported (arkts-no-ctor-prop-decls)", "severity": "ERROR" }, + { + "line": 85, + "column": 22, + "endLine": 85, + "endColumn": 23, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1820, + "end": 1821, + "replacementText": "1.0", + "line": 85, + "column": 22, + "endLine": 85, + "endColumn": 23 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 89, + "column": 22, + "endLine": 89, + "endColumn": 23, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1938, + "end": 1939, + "replacementText": "1.0", + "line": 89, + "column": 22, + "endLine": 89, + "endColumn": 23 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 98, "column": 15, @@ -480,22 +982,38 @@ { "start": 2003, "end": 2003, - "replacementText": "public a?: number;\npublic b: number;\n" + "replacementText": "public a?: number;\npublic b: number;\n", + "line": 98, + "column": 34, + "endLine": 98, + "endColumn": 40 }, { "start": 2015, "end": 2032, - "replacementText": "a?: number" + "replacementText": "a?: number", + "line": 98, + "column": 34, + "endLine": 98, + "endColumn": 40 }, { "start": 2034, "end": 2050, - "replacementText": "b: number" + "replacementText": "b: number", + "line": 98, + "column": 34, + "endLine": 98, + "endColumn": 40 }, { "start": 2052, "end": 2054, - "replacementText": "{\n this.a = a;\n this.b = b;\n}" + "replacementText": "{\n this.a = a;\n this.b = b;\n}", + "line": 98, + "column": 34, + "endLine": 98, + "endColumn": 40 } ], "suggest": "", @@ -512,22 +1030,38 @@ { "start": 2003, "end": 2003, - "replacementText": "public a?: number;\npublic b: number;\n" + "replacementText": "public a?: number;\npublic b: number;\n", + "line": 98, + "column": 34, + "endLine": 98, + "endColumn": 40 }, { "start": 2015, "end": 2032, - "replacementText": "a?: number" + "replacementText": "a?: number", + "line": 98, + "column": 34, + "endLine": 98, + "endColumn": 40 }, { "start": 2034, "end": 2050, - "replacementText": "b: number" + "replacementText": "b: number", + "line": 98, + "column": 34, + "endLine": 98, + "endColumn": 40 }, { "start": 2052, "end": 2054, - "replacementText": "{\n this.a = a;\n this.b = b;\n}" + "replacementText": "{\n this.a = a;\n this.b = b;\n}", + "line": 98, + "column": 34, + "endLine": 98, + "endColumn": 40 } ], "suggest": "", @@ -544,22 +1078,38 @@ { "start": 2071, "end": 2071, - "replacementText": "public a?: number;\npublic b?: number;\n" + "replacementText": "public a?: number;\npublic b?: number;\n", + "line": 102, + "column": 34, + "endLine": 102, + "endColumn": 40 }, { "start": 2083, "end": 2100, - "replacementText": "a?: number" + "replacementText": "a?: number", + "line": 102, + "column": 34, + "endLine": 102, + "endColumn": 40 }, { "start": 2102, "end": 2119, - "replacementText": "b?: number" + "replacementText": "b?: number", + "line": 102, + "column": 34, + "endLine": 102, + "endColumn": 40 }, { "start": 2121, "end": 2123, - "replacementText": "{\n this.a = a;\n this.b = b;\n}" + "replacementText": "{\n this.a = a;\n this.b = b;\n}", + "line": 102, + "column": 34, + "endLine": 102, + "endColumn": 40 } ], "suggest": "", @@ -576,22 +1126,38 @@ { "start": 2071, "end": 2071, - "replacementText": "public a?: number;\npublic b?: number;\n" + "replacementText": "public a?: number;\npublic b?: number;\n", + "line": 102, + "column": 34, + "endLine": 102, + "endColumn": 40 }, { "start": 2083, "end": 2100, - "replacementText": "a?: number" + "replacementText": "a?: number", + "line": 102, + "column": 34, + "endLine": 102, + "endColumn": 40 }, { "start": 2102, "end": 2119, - "replacementText": "b?: number" + "replacementText": "b?: number", + "line": 102, + "column": 34, + "endLine": 102, + "endColumn": 40 }, { "start": 2121, "end": 2123, - "replacementText": "{\n this.a = a;\n this.b = b;\n}" + "replacementText": "{\n this.a = a;\n this.b = b;\n}", + "line": 102, + "column": 34, + "endLine": 102, + "endColumn": 40 } ], "suggest": "", diff --git a/ets2panda/linter/test/main/parameter_properties.ets.migrate.ets b/ets2panda/linter/test/main/parameter_properties.ets.migrate.ets index 6a79a113c4..0633fc1c99 100644 --- a/ets2panda/linter/test/main/parameter_properties.ets.migrate.ets +++ b/ets2panda/linter/test/main/parameter_properties.ets.migrate.ets @@ -32,22 +32,22 @@ constructor( } } -const a = new A(1, 2, 3); +const a = new A(1.0, 2.0, 3.0); console.log(a.x); class B { - public f: number = 10; + public f: number = 10.0; public w: string; private readonly r: number[]; -constructor(q: number, w = 'default', e: boolean, r: number[] = [1, 2, 3]) { +constructor(q: number, w = 'default', e: boolean, r: number[] = [1.0, 2.0, 3.0]) { this.w = w; this.r = r; console.log(q, this.w, e, this.r, this.f); } } -const b = new B(1, '2', true, []); +const b = new B(1.0, '2', true, []); console.log(b.w); class C { @@ -67,8 +67,8 @@ constructor(a: number, b: GeneratedTypeLiteralInterface_1) { } class E { - b: number = 0; - c: number = 0; + b: number = 0.0; + c: number = 0.0; readonly a: number; constructor(a: number) { @@ -95,7 +95,7 @@ constructor( class F2 extends E { readonly aa: number; constructor(aa: number) { - let f2: number = 1; + let f2: number = 1.0; console.log('before super() call'); super(aa); this.aa = aa; @@ -107,7 +107,7 @@ class F3 extends E { constructor(aa: number) { super(aa); this.aa = aa; - let f3: number = 1; + let f3: number = 1.0; console.log('after super() call'); } } @@ -115,12 +115,12 @@ constructor(aa: number) { class F4 extends E { readonly aa: number; constructor(aa: number) { - let f4: number = 1; + let f4: number = 1.0; console.log('before super() call'); super(aa); this.aa = aa; console.log('after super() call'); - let f5: number = 1; + let f5: number = 1.0; } } diff --git a/ets2panda/linter/test/main/prop_decorator_and_interfaces_1.ets.arkts2.json b/ets2panda/linter/test/main/prop_decorator_and_interfaces_1.ets.arkts2.json index eda4a3c782..cdb6073c15 100644 --- a/ets2panda/linter/test/main/prop_decorator_and_interfaces_1.ets.arkts2.json +++ b/ets2panda/linter/test/main/prop_decorator_and_interfaces_1.ets.arkts2.json @@ -14,6 +14,16 @@ "limitations under the License." ], "result": [ + { + "line": 18, + "column": 17, + "endLine": 18, + "endColumn": 18, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 24, "column": 3, diff --git a/ets2panda/linter/test/main/prop_decorator_and_interfaces_2.ets.arkts2.json b/ets2panda/linter/test/main/prop_decorator_and_interfaces_2.ets.arkts2.json index a34c537148..6bfcb11bed 100644 --- a/ets2panda/linter/test/main/prop_decorator_and_interfaces_2.ets.arkts2.json +++ b/ets2panda/linter/test/main/prop_decorator_and_interfaces_2.ets.arkts2.json @@ -14,6 +14,16 @@ "limitations under the License." ], "result": [ + { + "line": 20, + "column": 47, + "endLine": 20, + "endColumn": 49, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 21, "column": 33, @@ -114,6 +124,16 @@ "rule": "The \"Prop\", \"StorageProp\", and \"LocalStorageProp\" decorators, as well as the \"prop\" and \"setAndProp\" interfaces, are not supported (arkui-no-specific-prop-decorators-and-interfaces)", "severity": "ERROR" }, + { + "line": 29, + "column": 33, + "endLine": 29, + "endColumn": 35, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 30, "column": 5, diff --git a/ets2panda/linter/test/main/prop_decorator_and_interfaces_3.ets.arkts2.json b/ets2panda/linter/test/main/prop_decorator_and_interfaces_3.ets.arkts2.json index aae50874a9..e097057120 100644 --- a/ets2panda/linter/test/main/prop_decorator_and_interfaces_3.ets.arkts2.json +++ b/ets2panda/linter/test/main/prop_decorator_and_interfaces_3.ets.arkts2.json @@ -14,6 +14,76 @@ "limitations under the License." ], "result": [ + { + "line": 14, + "column": 4, + "endLine": 14, + "endColumn": 5, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 27, + "column": 9, + "endLine": 27, + "endColumn": 10, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 27, + "column": 13, + "endLine": 27, + "endColumn": 14, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 35, + "column": 9, + "endLine": 35, + "endColumn": 10, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 35, + "column": 13, + "endLine": 35, + "endColumn": 14, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 36, + "column": 16, + "endLine": 36, + "endColumn": 17, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 42, + "column": 47, + "endLine": 42, + "endColumn": 49, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 43, "column": 33, @@ -84,6 +154,16 @@ "rule": "Use explicit types instead of \"any\", \"unknown\" (arkts-no-any-unknown)", "severity": "ERROR" }, + { + "line": 46, + "column": 61, + "endLine": 46, + "endColumn": 62, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 47, "column": 5, @@ -104,6 +184,36 @@ "rule": "Use explicit types instead of \"any\", \"unknown\" (arkts-no-any-unknown)", "severity": "ERROR" }, + { + "line": 47, + "column": 41, + "endLine": 47, + "endColumn": 42, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 47, + "column": 45, + "endLine": 47, + "endColumn": 46, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 47, + "column": 49, + "endLine": 47, + "endColumn": 50, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 48, "column": 5, @@ -124,6 +234,26 @@ "rule": "Use explicit types instead of \"any\", \"unknown\" (arkts-no-any-unknown)", "severity": "ERROR" }, + { + "line": 48, + "column": 41, + "endLine": 48, + "endColumn": 42, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 48, + "column": 45, + "endLine": 48, + "endColumn": 46, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 49, "column": 5, @@ -164,6 +294,16 @@ "rule": "Use explicit types instead of \"any\", \"unknown\" (arkts-no-any-unknown)", "severity": "ERROR" }, + { + "line": 50, + "column": 41, + "endLine": 50, + "endColumn": 42, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 51, "column": 5, diff --git a/ets2panda/linter/test/main/property_access_by_index.ets.arkts2.json b/ets2panda/linter/test/main/property_access_by_index.ets.arkts2.json index ea96b93ba8..2505d44ef8 100644 --- a/ets2panda/linter/test/main/property_access_by_index.ets.arkts2.json +++ b/ets2panda/linter/test/main/property_access_by_index.ets.arkts2.json @@ -54,6 +54,76 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 33, + "column": 12, + "endLine": 33, + "endColumn": 13, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 33, + "column": 15, + "endLine": 33, + "endColumn": 16, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 33, + "column": 18, + "endLine": 33, + "endColumn": 19, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 33, + "column": 21, + "endLine": 33, + "endColumn": 22, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 34, + "column": 12, + "endLine": 34, + "endColumn": 13, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 34, + "column": 20, + "endLine": 34, + "endColumn": 21, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 34, + "column": 23, + "endLine": 34, + "endColumn": 24, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 41, "column": 7, @@ -104,6 +174,26 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 53, + "column": 15, + "endLine": 53, + "endColumn": 16, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 53, + "column": 17, + "endLine": 53, + "endColumn": 18, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 54, "column": 5, @@ -114,6 +204,156 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 54, + "column": 15, + "endLine": 54, + "endColumn": 16, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 54, + "column": 17, + "endLine": 54, + "endColumn": 18, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 54, + "column": 19, + "endLine": 54, + "endColumn": 20, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 54, + "column": 21, + "endLine": 54, + "endColumn": 22, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 54, + "column": 23, + "endLine": 54, + "endColumn": 24, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 55, + "column": 25, + "endLine": 55, + "endColumn": 26, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 55, + "column": 27, + "endLine": 55, + "endColumn": 28, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 55, + "column": 29, + "endLine": 55, + "endColumn": 30, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 55, + "column": 31, + "endLine": 55, + "endColumn": 32, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 55, + "column": 33, + "endLine": 55, + "endColumn": 34, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 56, + "column": 30, + "endLine": 56, + "endColumn": 31, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 56, + "column": 32, + "endLine": 56, + "endColumn": 33, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 56, + "column": 34, + "endLine": 56, + "endColumn": 35, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 56, + "column": 36, + "endLine": 56, + "endColumn": 37, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 56, + "column": 38, + "endLine": 56, + "endColumn": 39, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 57, "column": 5, @@ -134,6 +374,156 @@ "rule": "Type inference in case of generic function calls is limited (arkts-no-inferred-generic-params)", "severity": "ERROR" }, + { + "line": 57, + "column": 24, + "endLine": 57, + "endColumn": 26, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 58, + "column": 28, + "endLine": 58, + "endColumn": 30, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 59, + "column": 29, + "endLine": 59, + "endColumn": 31, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 60, + "column": 36, + "endLine": 60, + "endColumn": 38, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 61, + "column": 29, + "endLine": 61, + "endColumn": 31, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 62, + "column": 31, + "endLine": 62, + "endColumn": 33, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 63, + "column": 30, + "endLine": 63, + "endColumn": 32, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 64, + "column": 31, + "endLine": 64, + "endColumn": 33, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 65, + "column": 32, + "endLine": 65, + "endColumn": 34, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 66, + "column": 32, + "endLine": 66, + "endColumn": 34, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 67, + "column": 33, + "endLine": 67, + "endColumn": 35, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 68, + "column": 34, + "endLine": 68, + "endColumn": 36, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 105, + "column": 31, + "endLine": 105, + "endColumn": 32, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 105, + "column": 33, + "endLine": 105, + "endColumn": 34, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 105, + "column": 35, + "endLine": 105, + "endColumn": 36, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 107, "column": 24, @@ -294,6 +684,16 @@ "rule": "Sendable containers are not supported (arkts-no-need-stdlib-sendable-containers)", "severity": "ERROR" }, + { + "line": 179, + "column": 11, + "endLine": 179, + "endColumn": 12, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 180, "column": 14, @@ -303,6 +703,26 @@ "suggest": "", "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" + }, + { + "line": 180, + "column": 18, + "endLine": 180, + "endColumn": 19, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 181, + "column": 17, + "endLine": 181, + "endColumn": 18, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" } ] -} +} \ No newline at end of file diff --git a/ets2panda/linter/test/main/property_decl_on_function.ets.arkts2.json b/ets2panda/linter/test/main/property_decl_on_function.ets.arkts2.json index 4f28f1e680..a530f796c4 100644 --- a/ets2panda/linter/test/main/property_decl_on_function.ets.arkts2.json +++ b/ets2panda/linter/test/main/property_decl_on_function.ets.arkts2.json @@ -44,6 +44,16 @@ "rule": "Declaring properties on functions is not supported (arkts-no-func-props)", "severity": "ERROR" }, + { + "line": 24, + "column": 11, + "endLine": 24, + "endColumn": 12, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 26, "column": 1, @@ -64,6 +74,26 @@ "rule": "Object literal must correspond to some explicitly declared class or interface (arkts-no-untyped-obj-literals)", "severity": "ERROR" }, + { + "line": 26, + "column": 16, + "endLine": 26, + "endColumn": 17, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 26, + "column": 22, + "endLine": 26, + "endColumn": 23, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 28, "column": 13, @@ -134,6 +164,16 @@ "rule": "Declaring properties on functions is not supported (arkts-no-func-props)", "severity": "ERROR" }, + { + "line": 40, + "column": 12, + "endLine": 40, + "endColumn": 13, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 41, "column": 13, diff --git a/ets2panda/linter/test/main/record_object_literals_properties.ets.arkts2.json b/ets2panda/linter/test/main/record_object_literals_properties.ets.arkts2.json index 167c48a33a..2e90fcfeea 100644 --- a/ets2panda/linter/test/main/record_object_literals_properties.ets.arkts2.json +++ b/ets2panda/linter/test/main/record_object_literals_properties.ets.arkts2.json @@ -13,5 +13,66 @@ "See the License for the specific language governing permissions and", "limitations under the License." ], - "result": [] + "result": [ + { + "line": 17, + "column": 11, + "endLine": 17, + "endColumn": 13, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 18, + "column": 11, + "endLine": 18, + "endColumn": 13, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 26, + "column": 18, + "endLine": 26, + "endColumn": 20, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 26, + "column": 30, + "endLine": 26, + "endColumn": 32, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 27, + "column": 18, + "endLine": 27, + "endColumn": 20, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 27, + "column": 30, + "endLine": 27, + "endColumn": 32, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + } + ] } \ No newline at end of file diff --git a/ets2panda/linter/test/main/runtime_array_bound.ets.arkts2.json b/ets2panda/linter/test/main/runtime_array_bound.ets.arkts2.json index 134de695ab..463a44c385 100644 --- a/ets2panda/linter/test/main/runtime_array_bound.ets.arkts2.json +++ b/ets2panda/linter/test/main/runtime_array_bound.ets.arkts2.json @@ -1,19 +1,59 @@ { - "copyright": [ - "Copyright (c) 2025 Huawei Device Co., Ltd.", - "Licensed under the Apache License, Version 2.0 (the 'License');", - "you may not use this file except in compliance with the License.", - "You may obtain a copy of the License at", - "", - "http://www.apache.org/licenses/LICENSE-2.0", - "", - "Unless required by applicable law or agreed to in writing, software", - "distributed under the License is distributed on an 'AS IS' BASIS,", - "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.", - "See the License for the specific language governing permissions and", - "limitations under the License." - ], + "copyright": [ + "Copyright (c) 2025 Huawei Device Co., Ltd.", + "Licensed under the Apache License, Version 2.0 (the 'License');", + "you may not use this file except in compliance with the License.", + "You may obtain a copy of the License at", + "", + "http://www.apache.org/licenses/LICENSE-2.0", + "", + "Unless required by applicable law or agreed to in writing, software", + "distributed under the License is distributed on an 'AS IS' BASIS,", + "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.", + "See the License for the specific language governing permissions and", + "limitations under the License." + ], "result": [ + { + "line": 17, + "column": 21, + "endLine": 17, + "endColumn": 22, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 17, + "column": 24, + "endLine": 17, + "endColumn": 25, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 17, + "column": 27, + "endLine": 17, + "endColumn": 28, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 17, + "column": 30, + "endLine": 17, + "endColumn": 31, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 19, "column": 10, @@ -24,6 +64,16 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 19, + "column": 14, + "endLine": 19, + "endColumn": 15, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 23, "column": 10, @@ -34,6 +84,66 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 23, + "column": 14, + "endLine": 23, + "endColumn": 15, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 23, + "column": 21, + "endLine": 23, + "endColumn": 24, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 27, + "column": 22, + "endLine": 27, + "endColumn": 23, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 27, + "column": 25, + "endLine": 27, + "endColumn": 26, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 27, + "column": 28, + "endLine": 27, + "endColumn": 29, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 27, + "column": 31, + "endLine": 27, + "endColumn": 32, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 29, "column": 5, @@ -54,6 +164,66 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 28, + "column": 14, + "endLine": 28, + "endColumn": 15, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 28, + "column": 21, + "endLine": 28, + "endColumn": 24, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 32, + "column": 22, + "endLine": 32, + "endColumn": 23, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 32, + "column": 25, + "endLine": 32, + "endColumn": 26, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 32, + "column": 28, + "endLine": 32, + "endColumn": 29, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 32, + "column": 31, + "endLine": 32, + "endColumn": 32, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 34, "column": 5, @@ -74,6 +244,66 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 33, + "column": 14, + "endLine": 33, + "endColumn": 15, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 37, + "column": 22, + "endLine": 37, + "endColumn": 23, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 37, + "column": 25, + "endLine": 37, + "endColumn": 26, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 37, + "column": 28, + "endLine": 37, + "endColumn": 29, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 37, + "column": 31, + "endLine": 37, + "endColumn": 32, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 38, + "column": 14, + "endLine": 38, + "endColumn": 15, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 40, "column": 5, @@ -94,6 +324,56 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 39, + "column": 14, + "endLine": 39, + "endColumn": 15, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 43, + "column": 22, + "endLine": 43, + "endColumn": 23, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 43, + "column": 25, + "endLine": 43, + "endColumn": 26, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 43, + "column": 28, + "endLine": 43, + "endColumn": 29, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 43, + "column": 31, + "endLine": 43, + "endColumn": 32, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 45, "column": 5, @@ -114,6 +394,196 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 44, + "column": 14, + "endLine": 44, + "endColumn": 15, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 44, + "column": 21, + "endLine": 44, + "endColumn": 23, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 49, + "column": 22, + "endLine": 49, + "endColumn": 23, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 49, + "column": 25, + "endLine": 49, + "endColumn": 26, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 49, + "column": 28, + "endLine": 49, + "endColumn": 29, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 49, + "column": 31, + "endLine": 49, + "endColumn": 32, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 50, + "column": 19, + "endLine": 50, + "endColumn": 21, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 54, + "column": 22, + "endLine": 54, + "endColumn": 23, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 54, + "column": 25, + "endLine": 54, + "endColumn": 26, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 54, + "column": 28, + "endLine": 54, + "endColumn": 29, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 54, + "column": 31, + "endLine": 54, + "endColumn": 32, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 55, + "column": 19, + "endLine": 55, + "endColumn": 21, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 61, + "column": 22, + "endLine": 61, + "endColumn": 23, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 61, + "column": 25, + "endLine": 61, + "endColumn": 26, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 61, + "column": 28, + "endLine": 61, + "endColumn": 29, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 61, + "column": 31, + "endLine": 61, + "endColumn": 32, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 62, + "column": 20, + "endLine": 62, + "endColumn": 21, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 63, + "column": 19, + "endLine": 63, + "endColumn": 21, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 63, + "column": 33, + "endLine": 63, + "endColumn": 34, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 67, "column": 1, @@ -124,6 +594,46 @@ "rule": "Array bound not checked. (arkts-runtime-array-check)", "severity": "ERROR" }, + { + "line": 69, + "column": 22, + "endLine": 69, + "endColumn": 23, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 69, + "column": 25, + "endLine": 69, + "endColumn": 26, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 69, + "column": 28, + "endLine": 69, + "endColumn": 29, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 69, + "column": 31, + "endLine": 69, + "endColumn": 32, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 71, "column": 5, @@ -134,6 +644,76 @@ "rule": "Array bound not checked. (arkts-runtime-array-check)", "severity": "ERROR" }, + { + "line": 70, + "column": 19, + "endLine": 70, + "endColumn": 21, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 70, + "column": 33, + "endLine": 70, + "endColumn": 34, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 74, + "column": 23, + "endLine": 74, + "endColumn": 24, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 74, + "column": 26, + "endLine": 74, + "endColumn": 27, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 74, + "column": 29, + "endLine": 74, + "endColumn": 30, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 74, + "column": 32, + "endLine": 74, + "endColumn": 33, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 75, + "column": 13, + "endLine": 75, + "endColumn": 14, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 76, "column": 5, @@ -144,6 +724,46 @@ "rule": "Array bound not checked. (arkts-runtime-array-check)", "severity": "ERROR" }, + { + "line": 79, + "column": 23, + "endLine": 79, + "endColumn": 24, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 79, + "column": 26, + "endLine": 79, + "endColumn": 27, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 79, + "column": 29, + "endLine": 79, + "endColumn": 30, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 79, + "column": 32, + "endLine": 79, + "endColumn": 33, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 80, "column": 5, @@ -154,6 +774,26 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 80, + "column": 16, + "endLine": 80, + "endColumn": 18, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 85, + "column": 12, + "endLine": 85, + "endColumn": 14, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 87, "column": 1, @@ -165,4 +805,4 @@ "severity": "ERROR" } ] -} +} \ No newline at end of file diff --git a/ets2panda/linter/test/main/runtime_array_bound.ets.migrate.ets b/ets2panda/linter/test/main/runtime_array_bound.ets.migrate.ets index 261214843c..ea37bbc30d 100644 --- a/ets2panda/linter/test/main/runtime_array_bound.ets.migrate.ets +++ b/ets2panda/linter/test/main/runtime_array_bound.ets.migrate.ets @@ -14,75 +14,75 @@ */ 'use static' -const arr: int[] = [1, 2, 3, 4]; +const arr: int[] = [1.0, 2.0, 3.0, 4.0]; -for (let i: number = 0; i < arr.length; i++) { +for (let i: number = 0.0; i < arr.length; i++) { arr[i]; //legal } -for (let i: number = 0; i < 100; i++) { +for (let i: number = 0.0; i < 100.0; i++) { console.log(i); //legal } -const arr2: int[] = [1, 2, 3, 4]; -for (let i: number = 0; i < 100; i++) { +const arr2: int[] = [1.0, 2.0, 3.0, 4.0]; +for (let i: number = 0.0; i < 100.0; i++) { arr2[10] //should report } -const arr3: int[] = [1, 2, 3, 4]; -for (let i: number = 0; i < arr3.length; i++) { +const arr3: int[] = [1.0, 2.0, 3.0, 4.0]; +for (let i: number = 0.0; i < arr3.length; i++) { arr3[10] //should report } -const arr4: int[] = [1, 2, 3, 4]; -let x: int = 3; -for (let i: number = 0; i < arr4.length; i++) { +const arr4: int[] = [1.0, 2.0, 3.0, 4.0]; +let x: int = 3.0; +for (let i: number = 0.0; i < arr4.length; i++) { arr4[x]; //should report } -const arr5: int[] = [1, 2, 3, 4]; -for (let i: number = 0; i < 10; i++) { +const arr5: int[] = [1.0, 2.0, 3.0, 4.0]; +for (let i: number = 0.0; i < 10.0; i++) { arr5[i]; //should report } -const arr6: int[] = [1, 2, 3, 4]; -if (arr6.length > 10) { +const arr6: int[] = [1.0, 2.0, 3.0, 4.0]; +if (arr6.length > 10.0) { arr6[10] } -const arr7: int[] = [1, 2, 3, 4]; -if (arr7.length > 10) { +const arr7: int[] = [1.0, 2.0, 3.0, 4.0]; +if (arr7.length > 10.0) { return; } arr7[10] -const arr8: int[] = [1, 2, 3, 4]; -const index: int = 9; -if (arr8.length > 10 && index > 0) { +const arr8: int[] = [1.0, 2.0, 3.0, 4.0]; +const index: int = 9.0; +if (arr8.length > 10.0 && index > 0.0) { return; } arr8[index]; -const arr9: int[] = [1, 2, 3, 4]; -if (arr9.length > 10 && index > 0) { +const arr9: int[] = [1.0, 2.0, 3.0, 4.0]; +if (arr9.length > 10.0 && index > 0.0) { arr9[index]; } -const arr10: int[] = [1, 2, 3, 4]; -if (index > 0) { +const arr10: int[] = [1.0, 2.0, 3.0, 4.0]; +if (index > 0.0) { arr10[index]; } -const arr10: int[] = [1, 2, 3, 4]; -let newIndex: number = 10; +const arr10: int[] = [1.0, 2.0, 3.0, 4.0]; +let newIndex: number = 10.0; if (arr10.length > newIndex) { return; } -newIndex = 22; +newIndex = 22.0; arr10[newIndex]; diff --git a/ets2panda/linter/test/main/stdlib_array.ets.arkts2.json b/ets2panda/linter/test/main/stdlib_array.ets.arkts2.json index bcc25e7c3a..071dffbe54 100644 --- a/ets2panda/linter/test/main/stdlib_array.ets.arkts2.json +++ b/ets2panda/linter/test/main/stdlib_array.ets.arkts2.json @@ -104,6 +104,126 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 44, + "column": 29, + "endLine": 44, + "endColumn": 30, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 44, + "column": 31, + "endLine": 44, + "endColumn": 32, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 44, + "column": 33, + "endLine": 44, + "endColumn": 34, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 45, + "column": 37, + "endLine": 45, + "endColumn": 38, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 45, + "column": 39, + "endLine": 45, + "endColumn": 40, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 45, + "column": 41, + "endLine": 45, + "endColumn": 42, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 46, + "column": 35, + "endLine": 46, + "endColumn": 36, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 46, + "column": 37, + "endLine": 46, + "endColumn": 38, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 46, + "column": 39, + "endLine": 46, + "endColumn": 40, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 47, + "column": 33, + "endLine": 47, + "endColumn": 34, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 47, + "column": 35, + "endLine": 47, + "endColumn": 36, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 47, + "column": 37, + "endLine": 47, + "endColumn": 38, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 53, "column": 10, diff --git a/ets2panda/linter/test/main/structural_identity.ets.arkts2.json b/ets2panda/linter/test/main/structural_identity.ets.arkts2.json index a3b9b0c1a1..1a9ca3c7cf 100644 --- a/ets2panda/linter/test/main/structural_identity.ets.arkts2.json +++ b/ets2panda/linter/test/main/structural_identity.ets.arkts2.json @@ -664,6 +664,16 @@ "rule": "Structural typing is not supported (arkts-no-structural-typing)", "severity": "ERROR" }, + { + "line": 319, + "column": 15, + "endLine": 319, + "endColumn": 16, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 329, "column": 10, @@ -1284,6 +1294,26 @@ "rule": "Structural typing is not supported (arkts-no-structural-typing)", "severity": "ERROR" }, + { + "line": 609, + "column": 15, + "endLine": 609, + "endColumn": 16, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 612, + "column": 15, + "endLine": 612, + "endColumn": 16, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 614, "column": 16, @@ -1543,6 +1573,16 @@ "suggest": "", "rule": "Object literal must correspond to some explicitly declared class or interface (arkts-no-untyped-obj-literals)", "severity": "ERROR" + }, + { + "line": 691, + "column": 10, + "endLine": 691, + "endColumn": 12, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" } ] -} +} \ No newline at end of file diff --git a/ets2panda/linter/test/main/structural_identity_extended_inheritance.ets.arkts2.json b/ets2panda/linter/test/main/structural_identity_extended_inheritance.ets.arkts2.json index 521013f4fb..d99589819b 100644 --- a/ets2panda/linter/test/main/structural_identity_extended_inheritance.ets.arkts2.json +++ b/ets2panda/linter/test/main/structural_identity_extended_inheritance.ets.arkts2.json @@ -14,6 +14,146 @@ "limitations under the License." ], "result": [ + { + "line": 16, + "column": 30, + "endLine": 16, + "endColumn": 31, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 17, + "column": 64, + "endLine": 17, + "endColumn": 65, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 17, + "column": 79, + "endLine": 17, + "endColumn": 80, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 23, + "column": 35, + "endLine": 23, + "endColumn": 36, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 24, + "column": 35, + "endLine": 24, + "endColumn": 36, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 25, + "column": 29, + "endLine": 25, + "endColumn": 30, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 26, + "column": 31, + "endLine": 26, + "endColumn": 32, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 27, + "column": 31, + "endLine": 27, + "endColumn": 32, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 28, + "column": 37, + "endLine": 28, + "endColumn": 38, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 29, + "column": 45, + "endLine": 29, + "endColumn": 46, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 30, + "column": 31, + "endLine": 30, + "endColumn": 32, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 31, + "column": 33, + "endLine": 31, + "endColumn": 34, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 32, + "column": 33, + "endLine": 32, + "endColumn": 34, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 33, + "column": 39, + "endLine": 33, + "endColumn": 40, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 49, "column": 5, diff --git a/ets2panda/linter/test/main/styles_decorator_anon_1.ets.arkts2.json b/ets2panda/linter/test/main/styles_decorator_anon_1.ets.arkts2.json index 1bf55e2d4c..3b45c45182 100644 --- a/ets2panda/linter/test/main/styles_decorator_anon_1.ets.arkts2.json +++ b/ets2panda/linter/test/main/styles_decorator_anon_1.ets.arkts2.json @@ -24,6 +24,36 @@ "rule": "\"@Styles\" decorator is not supported (arkui-no-styles-decorator)", "severity": "ERROR" }, + { + "line": 30, + "column": 22, + "endLine": 30, + "endColumn": 23, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 35, + "column": 14, + "endLine": 35, + "endColumn": 15, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 36, + "column": 14, + "endLine": 36, + "endColumn": 15, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 16, "column": 2, diff --git a/ets2panda/linter/test/main/styles_decorator_anon_1.ets.autofix.json b/ets2panda/linter/test/main/styles_decorator_anon_1.ets.autofix.json index d6ed03103f..a6ab4947d5 100644 --- a/ets2panda/linter/test/main/styles_decorator_anon_1.ets.autofix.json +++ b/ets2panda/linter/test/main/styles_decorator_anon_1.ets.autofix.json @@ -24,13 +24,80 @@ { "start": 767, "end": 1035, - "replacementText": "{\n normal: (instance: CommonMethod): void => {\n instance.backgroundColor(\"#00ffff\");\n instance.borderWidth(8);\n },\n pressed: (instance: CommonMethod): void => {\n instance.backgroundColor(Color.Red);\n instance.backgroundImagePosition({\n x: 0,\n y: 0\n });\n instance.backgroundColor(\"#ffff00\");\n }\n }" + "replacementText": "{\n normal: (instance: CommonMethod): void => {\n instance.backgroundColor(\"#00ffff\");\n instance.borderWidth(8);\n },\n pressed: (instance: CommonMethod): void => {\n instance.backgroundColor(Color.Red);\n instance.backgroundImagePosition({\n x: 0,\n y: 0\n });\n instance.backgroundColor(\"#ffff00\");\n }\n }", + "line": 27, + "column": 18, + "endLine": 40, + "endColumn": 6 } ], "suggest": "", "rule": "\"@Styles\" decorator is not supported (arkui-no-styles-decorator)", "severity": "ERROR" }, + { + "line": 30, + "column": 22, + "endLine": 30, + "endColumn": 23, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 842, + "end": 843, + "replacementText": "8.0", + "line": 30, + "column": 22, + "endLine": 30, + "endColumn": 23 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 35, + "column": 14, + "endLine": 35, + "endColumn": 15, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 956, + "end": 957, + "replacementText": "0.0", + "line": 35, + "column": 14, + "endLine": 35, + "endColumn": 15 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 36, + "column": 14, + "endLine": 36, + "endColumn": 15, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 972, + "end": 973, + "replacementText": "0.0", + "line": 36, + "column": 14, + "endLine": 36, + "endColumn": 15 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 16, "column": 2, @@ -41,7 +108,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Entry, Component, BuilderParam, Require, Button, CommonMethod, Color } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Entry, Component, BuilderParam, Require, Button, CommonMethod, Color } from '@kit.ArkUI';", + "line": 33, + "column": 26, + "endLine": 33, + "endColumn": 31 } ], "suggest": "", @@ -58,7 +129,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Entry, Component, BuilderParam, Require, Button, CommonMethod, Color } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Entry, Component, BuilderParam, Require, Button, CommonMethod, Color } from '@kit.ArkUI';", + "line": 33, + "column": 26, + "endLine": 33, + "endColumn": 31 } ], "suggest": "", @@ -75,7 +150,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Entry, Component, BuilderParam, Require, Button, CommonMethod, Color } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Entry, Component, BuilderParam, Require, Button, CommonMethod, Color } from '@kit.ArkUI';", + "line": 33, + "column": 26, + "endLine": 33, + "endColumn": 31 } ], "suggest": "", @@ -92,7 +171,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Entry, Component, BuilderParam, Require, Button, CommonMethod, Color } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Entry, Component, BuilderParam, Require, Button, CommonMethod, Color } from '@kit.ArkUI';", + "line": 33, + "column": 26, + "endLine": 33, + "endColumn": 31 } ], "suggest": "", @@ -109,7 +192,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Entry, Component, BuilderParam, Require, Button, CommonMethod, Color } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Entry, Component, BuilderParam, Require, Button, CommonMethod, Color } from '@kit.ArkUI';", + "line": 33, + "column": 26, + "endLine": 33, + "endColumn": 31 } ], "suggest": "", @@ -126,7 +213,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Entry, Component, BuilderParam, Require, Button, CommonMethod, Color } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Entry, Component, BuilderParam, Require, Button, CommonMethod, Color } from '@kit.ArkUI';", + "line": 33, + "column": 26, + "endLine": 33, + "endColumn": 31 } ], "suggest": "", diff --git a/ets2panda/linter/test/main/styles_decorator_anon_1.ets.migrate.ets b/ets2panda/linter/test/main/styles_decorator_anon_1.ets.migrate.ets index 26b949ad37..a8c3964416 100644 --- a/ets2panda/linter/test/main/styles_decorator_anon_1.ets.migrate.ets +++ b/ets2panda/linter/test/main/styles_decorator_anon_1.ets.migrate.ets @@ -29,13 +29,13 @@ struct TestStateStyle { .stateStyles({ normal: (instance: CommonMethod): void => { instance.backgroundColor("#00ffff"); - instance.borderWidth(8); + instance.borderWidth(8.0); }, pressed: (instance: CommonMethod): void => { instance.backgroundColor(Color.Red); instance.backgroundImagePosition({ - x: 0, - y: 0 + x: 0.0, + y: 0.0 }); instance.backgroundColor("#ffff00"); } diff --git a/ets2panda/linter/test/main/styles_decorator_anon_2.ets.arkts2.json b/ets2panda/linter/test/main/styles_decorator_anon_2.ets.arkts2.json index ca88f857e9..0488a4d89d 100644 --- a/ets2panda/linter/test/main/styles_decorator_anon_2.ets.arkts2.json +++ b/ets2panda/linter/test/main/styles_decorator_anon_2.ets.arkts2.json @@ -13,5 +13,36 @@ "See the License for the specific language governing permissions and", "limitations under the License." ], - "result": [] + "result": [ + { + "line": 32, + "column": 30, + "endLine": 32, + "endColumn": 31, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 37, + "column": 14, + "endLine": 37, + "endColumn": 15, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 38, + "column": 14, + "endLine": 38, + "endColumn": 15, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + } + ] } \ No newline at end of file diff --git a/ets2panda/linter/test/main/styles_decorator_anon_2.ets.autofix.json b/ets2panda/linter/test/main/styles_decorator_anon_2.ets.autofix.json index ca88f857e9..498a13cc8e 100644 --- a/ets2panda/linter/test/main/styles_decorator_anon_2.ets.autofix.json +++ b/ets2panda/linter/test/main/styles_decorator_anon_2.ets.autofix.json @@ -13,5 +13,69 @@ "See the License for the specific language governing permissions and", "limitations under the License." ], - "result": [] + "result": [ + { + "line": 32, + "column": 30, + "endLine": 32, + "endColumn": 31, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 993, + "end": 994, + "replacementText": "8.0", + "line": 32, + "column": 30, + "endLine": 32, + "endColumn": 31 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 37, + "column": 14, + "endLine": 37, + "endColumn": 15, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1158, + "end": 1159, + "replacementText": "0.0", + "line": 37, + "column": 14, + "endLine": 37, + "endColumn": 15 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 38, + "column": 14, + "endLine": 38, + "endColumn": 15, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1174, + "end": 1175, + "replacementText": "0.0", + "line": 38, + "column": 14, + "endLine": 38, + "endColumn": 15 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + } + ] } \ No newline at end of file diff --git a/ets2panda/linter/test/main/styles_decorator_anon_2.ets.migrate.ets b/ets2panda/linter/test/main/styles_decorator_anon_2.ets.migrate.ets index a0888e5b74..e1abcac9d1 100644 --- a/ets2panda/linter/test/main/styles_decorator_anon_2.ets.migrate.ets +++ b/ets2panda/linter/test/main/styles_decorator_anon_2.ets.migrate.ets @@ -29,13 +29,13 @@ struct TestStateStyle { .stateStyles({ normal: (instance: CommonMethod): void => { instance.backgroundColor("#00ffff"); - instance.borderWidth(8); + instance.borderWidth(8.0); }, pressed: (instance: CommonMethod): void => { instance.backgroundColor(Color.Red); instance.backgroundImagePosition({ - x: 0, - y: 0 + x: 0.0, + y: 0.0 }); instance.backgroundColor("#ffff00"); } diff --git a/ets2panda/linter/test/main/styles_decorator_global_1.ets.arkts2.json b/ets2panda/linter/test/main/styles_decorator_global_1.ets.arkts2.json index 775283b08e..8ecdfbedea 100644 --- a/ets2panda/linter/test/main/styles_decorator_global_1.ets.arkts2.json +++ b/ets2panda/linter/test/main/styles_decorator_global_1.ets.arkts2.json @@ -24,6 +24,46 @@ "rule": "\"@Styles\" decorator is not supported (arkui-no-styles-decorator)", "severity": "ERROR" }, + { + "line": 23, + "column": 19, + "endLine": 23, + "endColumn": 20, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 24, + "column": 14, + "endLine": 24, + "endColumn": 15, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 26, + "column": 12, + "endLine": 26, + "endColumn": 13, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 27, + "column": 12, + "endLine": 27, + "endColumn": 13, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 42, "column": 1, diff --git a/ets2panda/linter/test/main/styles_decorator_global_1.ets.autofix.json b/ets2panda/linter/test/main/styles_decorator_global_1.ets.autofix.json index e7bb004c03..6327fe8134 100644 --- a/ets2panda/linter/test/main/styles_decorator_global_1.ets.autofix.json +++ b/ets2panda/linter/test/main/styles_decorator_global_1.ets.autofix.json @@ -24,23 +24,119 @@ { "start": 640, "end": 835, - "replacementText": "function cardStyle1(instance: CommonMethod): void {\n instance.backgroundColor(mycolor);\n instance.borderColor(Color.Red);\n instance.borderRadius(8);\n instance.padding(8);\n instance.backgroundImagePosition({\n x: 0,\n y: 0\n });\n}" + "replacementText": "function cardStyle1(instance: CommonMethod): void {\n instance.backgroundColor(mycolor);\n instance.borderColor(Color.Red);\n instance.borderRadius(8);\n instance.padding(8);\n instance.backgroundImagePosition({\n x: 0,\n y: 0\n });\n}", + "line": 18, + "column": 1, + "endLine": 29, + "endColumn": 2 }, { "start": 929, "end": 941, - "replacementText": "applyStyles(cardStyle1)" + "replacementText": "applyStyles(cardStyle1)", + "line": 18, + "column": 1, + "endLine": 29, + "endColumn": 2 }, { "start": 961, "end": 973, - "replacementText": "applyStyles(cardStyle1)" + "replacementText": "applyStyles(cardStyle1)", + "line": 18, + "column": 1, + "endLine": 29, + "endColumn": 2 } ], "suggest": "", "rule": "\"@Styles\" decorator is not supported (arkui-no-styles-decorator)", "severity": "ERROR" }, + { + "line": 23, + "column": 19, + "endLine": 23, + "endColumn": 20, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 749, + "end": 750, + "replacementText": "8.0", + "line": 23, + "column": 19, + "endLine": 23, + "endColumn": 20 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 24, + "column": 14, + "endLine": 24, + "endColumn": 15, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 765, + "end": 766, + "replacementText": "8.0", + "line": 24, + "column": 14, + "endLine": 24, + "endColumn": 15 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 26, + "column": 12, + "endLine": 26, + "endColumn": 13, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 810, + "end": 811, + "replacementText": "0.0", + "line": 26, + "column": 12, + "endLine": 26, + "endColumn": 13 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 27, + "column": 12, + "endLine": 27, + "endColumn": 13, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 824, + "end": 825, + "replacementText": "0.0", + "line": 27, + "column": 12, + "endLine": 27, + "endColumn": 13 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 42, "column": 1, @@ -51,7 +147,11 @@ { "start": 1019, "end": 1086, - "replacementText": "function NormalStyles(instance: CommonMethod): void {\n instance.backgroundColor(\"#ffffff\");\n}" + "replacementText": "function NormalStyles(instance: CommonMethod): void {\n instance.backgroundColor(\"#ffffff\");\n}", + "line": 42, + "column": 1, + "endLine": 45, + "endColumn": 2 } ], "suggest": "", @@ -68,7 +168,11 @@ { "start": 1088, "end": 1156, - "replacementText": "function PressedStyles(instance: CommonMethod): void {\n instance.backgroundColor(\"#ffffff\");\n}" + "replacementText": "function PressedStyles(instance: CommonMethod): void {\n instance.backgroundColor(\"#ffffff\");\n}", + "line": 47, + "column": 1, + "endLine": 50, + "endColumn": 2 } ], "suggest": "", @@ -85,7 +189,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { CommonMethod, Color, Component, Column, Text, BuilderParam, Require, Button } from '@kit.ArkUI';" + "replacementText": "\n\nimport { CommonMethod, Color, Component, Column, Text, BuilderParam, Require, Button } from '@kit.ArkUI';", + "line": 59, + "column": 9, + "endLine": 59, + "endColumn": 15 } ], "suggest": "", @@ -102,7 +210,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { CommonMethod, Color, Component, Column, Text, BuilderParam, Require, Button } from '@kit.ArkUI';" + "replacementText": "\n\nimport { CommonMethod, Color, Component, Column, Text, BuilderParam, Require, Button } from '@kit.ArkUI';", + "line": 59, + "column": 9, + "endLine": 59, + "endColumn": 15 } ], "suggest": "", @@ -119,7 +231,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { CommonMethod, Color, Component, Column, Text, BuilderParam, Require, Button } from '@kit.ArkUI';" + "replacementText": "\n\nimport { CommonMethod, Color, Component, Column, Text, BuilderParam, Require, Button } from '@kit.ArkUI';", + "line": 59, + "column": 9, + "endLine": 59, + "endColumn": 15 } ], "suggest": "", @@ -136,7 +252,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { CommonMethod, Color, Component, Column, Text, BuilderParam, Require, Button } from '@kit.ArkUI';" + "replacementText": "\n\nimport { CommonMethod, Color, Component, Column, Text, BuilderParam, Require, Button } from '@kit.ArkUI';", + "line": 59, + "column": 9, + "endLine": 59, + "endColumn": 15 } ], "suggest": "", @@ -153,7 +273,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { CommonMethod, Color, Component, Column, Text, BuilderParam, Require, Button } from '@kit.ArkUI';" + "replacementText": "\n\nimport { CommonMethod, Color, Component, Column, Text, BuilderParam, Require, Button } from '@kit.ArkUI';", + "line": 59, + "column": 9, + "endLine": 59, + "endColumn": 15 } ], "suggest": "", @@ -170,7 +294,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { CommonMethod, Color, Component, Column, Text, BuilderParam, Require, Button } from '@kit.ArkUI';" + "replacementText": "\n\nimport { CommonMethod, Color, Component, Column, Text, BuilderParam, Require, Button } from '@kit.ArkUI';", + "line": 59, + "column": 9, + "endLine": 59, + "endColumn": 15 } ], "suggest": "", @@ -187,7 +315,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { CommonMethod, Color, Component, Column, Text, BuilderParam, Require, Button } from '@kit.ArkUI';" + "replacementText": "\n\nimport { CommonMethod, Color, Component, Column, Text, BuilderParam, Require, Button } from '@kit.ArkUI';", + "line": 59, + "column": 9, + "endLine": 59, + "endColumn": 15 } ], "suggest": "", @@ -204,7 +336,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { CommonMethod, Color, Component, Column, Text, BuilderParam, Require, Button } from '@kit.ArkUI';" + "replacementText": "\n\nimport { CommonMethod, Color, Component, Column, Text, BuilderParam, Require, Button } from '@kit.ArkUI';", + "line": 59, + "column": 9, + "endLine": 59, + "endColumn": 15 } ], "suggest": "", @@ -221,7 +357,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { CommonMethod, Color, Component, Column, Text, BuilderParam, Require, Button } from '@kit.ArkUI';" + "replacementText": "\n\nimport { CommonMethod, Color, Component, Column, Text, BuilderParam, Require, Button } from '@kit.ArkUI';", + "line": 59, + "column": 9, + "endLine": 59, + "endColumn": 15 } ], "suggest": "", diff --git a/ets2panda/linter/test/main/styles_decorator_global_1.ets.migrate.ets b/ets2panda/linter/test/main/styles_decorator_global_1.ets.migrate.ets index fd272fd000..b98a8816ae 100644 --- a/ets2panda/linter/test/main/styles_decorator_global_1.ets.migrate.ets +++ b/ets2panda/linter/test/main/styles_decorator_global_1.ets.migrate.ets @@ -20,11 +20,11 @@ const mycolor: string = "#ffff00" function cardStyle1(instance: CommonMethod): void { instance.backgroundColor(mycolor); instance.borderColor(Color.Red); - instance.borderRadius(8); - instance.padding(8); + instance.borderRadius(8.0); + instance.padding(8.0); instance.backgroundImagePosition({ - x: 0, - y: 0 + x: 0.0, + y: 0.0 }); } diff --git a/ets2panda/linter/test/main/styles_decorator_global_2.ets.arkts2.json b/ets2panda/linter/test/main/styles_decorator_global_2.ets.arkts2.json index ca88f857e9..ad6581e89d 100644 --- a/ets2panda/linter/test/main/styles_decorator_global_2.ets.arkts2.json +++ b/ets2panda/linter/test/main/styles_decorator_global_2.ets.arkts2.json @@ -13,5 +13,46 @@ "See the License for the specific language governing permissions and", "limitations under the License." ], - "result": [] + "result": [ + { + "line": 23, + "column": 27, + "endLine": 23, + "endColumn": 28, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 24, + "column": 22, + "endLine": 24, + "endColumn": 23, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 26, + "column": 12, + "endLine": 26, + "endColumn": 13, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 27, + "column": 12, + "endLine": 27, + "endColumn": 13, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + } + ] } \ No newline at end of file diff --git a/ets2panda/linter/test/main/styles_decorator_global_2.ets.autofix.json b/ets2panda/linter/test/main/styles_decorator_global_2.ets.autofix.json index ca88f857e9..f06d87b1b5 100644 --- a/ets2panda/linter/test/main/styles_decorator_global_2.ets.autofix.json +++ b/ets2panda/linter/test/main/styles_decorator_global_2.ets.autofix.json @@ -13,5 +13,90 @@ "See the License for the specific language governing permissions and", "limitations under the License." ], - "result": [] + "result": [ + { + "line": 23, + "column": 27, + "endLine": 23, + "endColumn": 28, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 901, + "end": 902, + "replacementText": "8.0", + "line": 23, + "column": 27, + "endLine": 23, + "endColumn": 28 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 24, + "column": 22, + "endLine": 24, + "endColumn": 23, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 926, + "end": 927, + "replacementText": "8.0", + "line": 24, + "column": 22, + "endLine": 24, + "endColumn": 23 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 26, + "column": 12, + "endLine": 26, + "endColumn": 13, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 980, + "end": 981, + "replacementText": "0.0", + "line": 26, + "column": 12, + "endLine": 26, + "endColumn": 13 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 27, + "column": 12, + "endLine": 27, + "endColumn": 13, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 994, + "end": 995, + "replacementText": "0.0", + "line": 27, + "column": 12, + "endLine": 27, + "endColumn": 13 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + } + ] } \ No newline at end of file diff --git a/ets2panda/linter/test/main/styles_decorator_global_2.ets.migrate.ets b/ets2panda/linter/test/main/styles_decorator_global_2.ets.migrate.ets index fd272fd000..b98a8816ae 100644 --- a/ets2panda/linter/test/main/styles_decorator_global_2.ets.migrate.ets +++ b/ets2panda/linter/test/main/styles_decorator_global_2.ets.migrate.ets @@ -20,11 +20,11 @@ const mycolor: string = "#ffff00" function cardStyle1(instance: CommonMethod): void { instance.backgroundColor(mycolor); instance.borderColor(Color.Red); - instance.borderRadius(8); - instance.padding(8); + instance.borderRadius(8.0); + instance.padding(8.0); instance.backgroundImagePosition({ - x: 0, - y: 0 + x: 0.0, + y: 0.0 }); } diff --git a/ets2panda/linter/test/main/styles_decorator_struct_1.ets.arkts2.json b/ets2panda/linter/test/main/styles_decorator_struct_1.ets.arkts2.json index 7c09951b77..c4491ce76c 100644 --- a/ets2panda/linter/test/main/styles_decorator_struct_1.ets.arkts2.json +++ b/ets2panda/linter/test/main/styles_decorator_struct_1.ets.arkts2.json @@ -24,6 +24,16 @@ "rule": "\"@Styles\" decorator is not supported (arkui-no-styles-decorator)", "severity": "ERROR" }, + { + "line": 21, + "column": 19, + "endLine": 21, + "endColumn": 20, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 35, "column": 3, @@ -34,6 +44,16 @@ "rule": "\"@Styles\" decorator is not supported (arkui-no-styles-decorator)", "severity": "ERROR" }, + { + "line": 49, + "column": 12, + "endLine": 49, + "endColumn": 14, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 67, "column": 3, diff --git a/ets2panda/linter/test/main/styles_decorator_struct_1.ets.autofix.json b/ets2panda/linter/test/main/styles_decorator_struct_1.ets.autofix.json index aeedca2d7d..3575cf7b84 100644 --- a/ets2panda/linter/test/main/styles_decorator_struct_1.ets.autofix.json +++ b/ets2panda/linter/test/main/styles_decorator_struct_1.ets.autofix.json @@ -24,23 +24,56 @@ { "start": 635, "end": 716, - "replacementText": "cardStyle1 = (instance: CommonMethod): void => {\n instance.backgroundColor('#ffffff');\n instance.borderRadius(8);\n };" + "replacementText": "cardStyle1 = (instance: CommonMethod): void => {\n instance.backgroundColor('#ffffff');\n instance.borderRadius(8);\n };", + "line": 18, + "column": 3, + "endLine": 22, + "endColumn": 4 }, { "start": 764, "end": 776, - "replacementText": "applyStyles(this.cardStyle1)" + "replacementText": "applyStyles(this.cardStyle1)", + "line": 18, + "column": 3, + "endLine": 22, + "endColumn": 4 }, { "start": 788, "end": 800, - "replacementText": "applyStyles(this.cardStyle1)" + "replacementText": "applyStyles(this.cardStyle1)", + "line": 18, + "column": 3, + "endLine": 22, + "endColumn": 4 } ], "suggest": "", "rule": "\"@Styles\" decorator is not supported (arkui-no-styles-decorator)", "severity": "ERROR" }, + { + "line": 21, + "column": 19, + "endLine": 21, + "endColumn": 20, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 710, + "end": 711, + "replacementText": "8.0", + "line": 21, + "column": 19, + "endLine": 21, + "endColumn": 20 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 35, "column": 3, @@ -51,23 +84,56 @@ { "start": 870, "end": 1010, - "replacementText": "cardStyle2 = (instance: CommonMethod): void => {\n instance.border({\n color: this.getColor(),\n width: this.getWidth()\n });\n instance.backgroundColor('#ffffff');\n };" + "replacementText": "cardStyle2 = (instance: CommonMethod): void => {\n instance.border({\n color: this.getColor(),\n width: this.getWidth()\n });\n instance.backgroundColor('#ffffff');\n };", + "line": 35, + "column": 3, + "endLine": 42, + "endColumn": 4 }, { "start": 1168, "end": 1180, - "replacementText": "applyStyles(this.cardStyle2)" + "replacementText": "applyStyles(this.cardStyle2)", + "line": 35, + "column": 3, + "endLine": 42, + "endColumn": 4 }, { "start": 1192, "end": 1204, - "replacementText": "applyStyles(this.cardStyle2)" + "replacementText": "applyStyles(this.cardStyle2)", + "line": 35, + "column": 3, + "endLine": 42, + "endColumn": 4 } ], "suggest": "", "rule": "\"@Styles\" decorator is not supported (arkui-no-styles-decorator)", "severity": "ERROR" }, + { + "line": 49, + "column": 12, + "endLine": 49, + "endColumn": 14, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1114, + "end": 1116, + "replacementText": "10.0", + "line": 49, + "column": 12, + "endLine": 49, + "endColumn": 14 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 67, "column": 3, @@ -78,7 +144,11 @@ { "start": 1326, "end": 1388, - "replacementText": "NormalStyles = (instance: CommonMethod): void => {\n instance.backgroundColor(Color.Red);\n };" + "replacementText": "NormalStyles = (instance: CommonMethod): void => {\n instance.backgroundColor(Color.Red);\n };", + "line": 67, + "column": 3, + "endLine": 70, + "endColumn": 4 } ], "suggest": "", @@ -95,7 +165,11 @@ { "start": 1392, "end": 1457, - "replacementText": "PressedStyles = (instance: CommonMethod): void => {\n instance.backgroundColor(Color.Green);\n };" + "replacementText": "PressedStyles = (instance: CommonMethod): void => {\n instance.backgroundColor(Color.Green);\n };", + "line": 72, + "column": 3, + "endLine": 75, + "endColumn": 4 } ], "suggest": "", @@ -112,7 +186,11 @@ { "start": 1953, "end": 2449, - "replacementText": "imageStyle = (instance: CommonMethod): void => {\n instance.draggable(this.isShowLongPressMenu() && this.isPC());\n instance.onDragStart(() => {\n console.info(TAG, 'onDragStart');\n this.touchVibrate(VibrateType.DRAG);\n if (this.mediaItem?.path) {\n this.previewUri =\n this.getPreviewUri(this.mediaItem?.path, this.mediaItem?.getDateModified?.(), false, true);\n }\n return this.DragBuilder;\n });\n instance.accessibilityText(this.isOpenTouchGuide ? this.getImageItemGridAccessibilityText() : '');\n };" + "replacementText": "imageStyle = (instance: CommonMethod): void => {\n instance.draggable(this.isShowLongPressMenu() && this.isPC());\n instance.onDragStart(() => {\n console.info(TAG, 'onDragStart');\n this.touchVibrate(VibrateType.DRAG);\n if (this.mediaItem?.path) {\n this.previewUri =\n this.getPreviewUri(this.mediaItem?.path, this.mediaItem?.getDateModified?.(), false, true);\n }\n return this.DragBuilder;\n });\n instance.accessibilityText(this.isOpenTouchGuide ? this.getImageItemGridAccessibilityText() : '');\n };", + "line": 105, + "column": 3, + "endLine": 118, + "endColumn": 4 } ], "suggest": "", @@ -139,7 +217,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, CommonMethod, Column, Text, Color, BuilderParam, Require, Button, CustomBuilder } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, CommonMethod, Column, Text, Color, BuilderParam, Require, Button, CustomBuilder } from '@kit.ArkUI';", + "line": 103, + "column": 24, + "endLine": 103, + "endColumn": 37 } ], "suggest": "", @@ -156,7 +238,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, CommonMethod, Column, Text, Color, BuilderParam, Require, Button, CustomBuilder } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, CommonMethod, Column, Text, Color, BuilderParam, Require, Button, CustomBuilder } from '@kit.ArkUI';", + "line": 103, + "column": 24, + "endLine": 103, + "endColumn": 37 } ], "suggest": "", @@ -173,7 +259,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, CommonMethod, Column, Text, Color, BuilderParam, Require, Button, CustomBuilder } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, CommonMethod, Column, Text, Color, BuilderParam, Require, Button, CustomBuilder } from '@kit.ArkUI';", + "line": 103, + "column": 24, + "endLine": 103, + "endColumn": 37 } ], "suggest": "", @@ -190,7 +280,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, CommonMethod, Column, Text, Color, BuilderParam, Require, Button, CustomBuilder } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, CommonMethod, Column, Text, Color, BuilderParam, Require, Button, CustomBuilder } from '@kit.ArkUI';", + "line": 103, + "column": 24, + "endLine": 103, + "endColumn": 37 } ], "suggest": "", @@ -207,7 +301,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, CommonMethod, Column, Text, Color, BuilderParam, Require, Button, CustomBuilder } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, CommonMethod, Column, Text, Color, BuilderParam, Require, Button, CustomBuilder } from '@kit.ArkUI';", + "line": 103, + "column": 24, + "endLine": 103, + "endColumn": 37 } ], "suggest": "", @@ -224,7 +322,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, CommonMethod, Column, Text, Color, BuilderParam, Require, Button, CustomBuilder } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, CommonMethod, Column, Text, Color, BuilderParam, Require, Button, CustomBuilder } from '@kit.ArkUI';", + "line": 103, + "column": 24, + "endLine": 103, + "endColumn": 37 } ], "suggest": "", @@ -241,7 +343,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, CommonMethod, Column, Text, Color, BuilderParam, Require, Button, CustomBuilder } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, CommonMethod, Column, Text, Color, BuilderParam, Require, Button, CustomBuilder } from '@kit.ArkUI';", + "line": 103, + "column": 24, + "endLine": 103, + "endColumn": 37 } ], "suggest": "", @@ -258,7 +364,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, CommonMethod, Column, Text, Color, BuilderParam, Require, Button, CustomBuilder } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, CommonMethod, Column, Text, Color, BuilderParam, Require, Button, CustomBuilder } from '@kit.ArkUI';", + "line": 103, + "column": 24, + "endLine": 103, + "endColumn": 37 } ], "suggest": "", @@ -275,7 +385,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, CommonMethod, Column, Text, Color, BuilderParam, Require, Button, CustomBuilder } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, CommonMethod, Column, Text, Color, BuilderParam, Require, Button, CustomBuilder } from '@kit.ArkUI';", + "line": 103, + "column": 24, + "endLine": 103, + "endColumn": 37 } ], "suggest": "", @@ -292,7 +406,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, CommonMethod, Column, Text, Color, BuilderParam, Require, Button, CustomBuilder } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, CommonMethod, Column, Text, Color, BuilderParam, Require, Button, CustomBuilder } from '@kit.ArkUI';", + "line": 103, + "column": 24, + "endLine": 103, + "endColumn": 37 } ], "suggest": "", @@ -309,7 +427,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, CommonMethod, Column, Text, Color, BuilderParam, Require, Button, CustomBuilder } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, CommonMethod, Column, Text, Color, BuilderParam, Require, Button, CustomBuilder } from '@kit.ArkUI';", + "line": 103, + "column": 24, + "endLine": 103, + "endColumn": 37 } ], "suggest": "", @@ -326,7 +448,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, CommonMethod, Column, Text, Color, BuilderParam, Require, Button, CustomBuilder } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, CommonMethod, Column, Text, Color, BuilderParam, Require, Button, CustomBuilder } from '@kit.ArkUI';", + "line": 103, + "column": 24, + "endLine": 103, + "endColumn": 37 } ], "suggest": "", @@ -343,7 +469,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, CommonMethod, Column, Text, Color, BuilderParam, Require, Button, CustomBuilder } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, CommonMethod, Column, Text, Color, BuilderParam, Require, Button, CustomBuilder } from '@kit.ArkUI';", + "line": 103, + "column": 24, + "endLine": 103, + "endColumn": 37 } ], "suggest": "", @@ -360,7 +490,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, CommonMethod, Column, Text, Color, BuilderParam, Require, Button, CustomBuilder } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, CommonMethod, Column, Text, Color, BuilderParam, Require, Button, CustomBuilder } from '@kit.ArkUI';", + "line": 103, + "column": 24, + "endLine": 103, + "endColumn": 37 } ], "suggest": "", @@ -377,7 +511,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, CommonMethod, Column, Text, Color, BuilderParam, Require, Button, CustomBuilder } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, CommonMethod, Column, Text, Color, BuilderParam, Require, Button, CustomBuilder } from '@kit.ArkUI';", + "line": 103, + "column": 24, + "endLine": 103, + "endColumn": 37 } ], "suggest": "", @@ -394,7 +532,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, CommonMethod, Column, Text, Color, BuilderParam, Require, Button, CustomBuilder } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, CommonMethod, Column, Text, Color, BuilderParam, Require, Button, CustomBuilder } from '@kit.ArkUI';", + "line": 103, + "column": 24, + "endLine": 103, + "endColumn": 37 } ], "suggest": "", @@ -411,7 +553,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, CommonMethod, Column, Text, Color, BuilderParam, Require, Button, CustomBuilder } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, CommonMethod, Column, Text, Color, BuilderParam, Require, Button, CustomBuilder } from '@kit.ArkUI';", + "line": 103, + "column": 24, + "endLine": 103, + "endColumn": 37 } ], "suggest": "", @@ -428,7 +574,11 @@ { "start": 603, "end": 603, - "replacementText": "\n\nimport { Component, CommonMethod, Column, Text, Color, BuilderParam, Require, Button, CustomBuilder } from '@kit.ArkUI';" + "replacementText": "\n\nimport { Component, CommonMethod, Column, Text, Color, BuilderParam, Require, Button, CustomBuilder } from '@kit.ArkUI';", + "line": 103, + "column": 24, + "endLine": 103, + "endColumn": 37 } ], "suggest": "", diff --git a/ets2panda/linter/test/main/styles_decorator_struct_1.ets.migrate.ets b/ets2panda/linter/test/main/styles_decorator_struct_1.ets.migrate.ets index 31fb825cee..006f34c342 100644 --- a/ets2panda/linter/test/main/styles_decorator_struct_1.ets.migrate.ets +++ b/ets2panda/linter/test/main/styles_decorator_struct_1.ets.migrate.ets @@ -19,7 +19,7 @@ import { Component, CommonMethod, Column, Text, Color, BuilderParam, Require, Bu struct MyCard1 { cardStyle1 = (instance: CommonMethod): void => { instance.backgroundColor('#ffffff'); - instance.borderRadius(8); + instance.borderRadius(8.0); }; build() { @@ -46,7 +46,7 @@ struct MyCard2 { } private getWidth(): number { - return 10 + return 10.0 } build() { diff --git a/ets2panda/linter/test/main/styles_decorator_struct_2.ets.arkts2.json b/ets2panda/linter/test/main/styles_decorator_struct_2.ets.arkts2.json index 0e17a7dad5..7ead10ecf2 100644 --- a/ets2panda/linter/test/main/styles_decorator_struct_2.ets.arkts2.json +++ b/ets2panda/linter/test/main/styles_decorator_struct_2.ets.arkts2.json @@ -14,6 +14,26 @@ "limitations under the License." ], "result": [ + { + "line": 22, + "column": 27, + "endLine": 22, + "endColumn": 28, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 49, + "column": 12, + "endLine": 49, + "endColumn": 14, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 105, "column": 26, diff --git a/ets2panda/linter/test/main/styles_decorator_struct_2.ets.autofix.json b/ets2panda/linter/test/main/styles_decorator_struct_2.ets.autofix.json index 0e17a7dad5..524d890233 100644 --- a/ets2panda/linter/test/main/styles_decorator_struct_2.ets.autofix.json +++ b/ets2panda/linter/test/main/styles_decorator_struct_2.ets.autofix.json @@ -14,6 +14,48 @@ "limitations under the License." ], "result": [ + { + "line": 22, + "column": 27, + "endLine": 22, + "endColumn": 28, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 873, + "end": 874, + "replacementText": "8.0", + "line": 22, + "column": 27, + "endLine": 22, + "endColumn": 28 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 49, + "column": 12, + "endLine": 49, + "endColumn": 14, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1358, + "end": 1360, + "replacementText": "10.0", + "line": 49, + "column": 12, + "endLine": 49, + "endColumn": 14 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 105, "column": 26, diff --git a/ets2panda/linter/test/main/styles_decorator_struct_2.ets.migrate.ets b/ets2panda/linter/test/main/styles_decorator_struct_2.ets.migrate.ets index 31fb825cee..006f34c342 100644 --- a/ets2panda/linter/test/main/styles_decorator_struct_2.ets.migrate.ets +++ b/ets2panda/linter/test/main/styles_decorator_struct_2.ets.migrate.ets @@ -19,7 +19,7 @@ import { Component, CommonMethod, Column, Text, Color, BuilderParam, Require, Bu struct MyCard1 { cardStyle1 = (instance: CommonMethod): void => { instance.backgroundColor('#ffffff'); - instance.borderRadius(8); + instance.borderRadius(8.0); }; build() { @@ -46,7 +46,7 @@ struct MyCard2 { } private getWidth(): number { - return 10 + return 10.0 } build() { diff --git a/ets2panda/linter/test/main/swicth_expr.ets.arkts2.json b/ets2panda/linter/test/main/swicth_expr.ets.arkts2.json index bd61cc7b00..29b100aba1 100755 --- a/ets2panda/linter/test/main/swicth_expr.ets.arkts2.json +++ b/ets2panda/linter/test/main/swicth_expr.ets.arkts2.json @@ -1,458 +1,998 @@ { - "copyright": [ - "Copyright (c) 2023-2025 Huawei Device Co., Ltd.", - "Licensed under the Apache License, Version 2.0 (the 'License');", - "you may not use this file except in compliance with the License.", - "You may obtain a copy of the License at", - "", - "http://www.apache.org/licenses/LICENSE-2.0", - "", - "Unless required by applicable law or agreed to in writing, software", - "distributed under the License is distributed on an 'AS IS' BASIS,", - "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.", - "See the License for the specific language governing permissions and", - "limitations under the License." - ], - "result": [ - { - "line": 17, - "column": 9, - "endLine": 17, - "endColumn": 15, - "problem": "SwitchExpression", - "suggest": "", - "rule": "The switch expression type must be of type char, byte, short, int, long, string or enum (arkts-switch-expr)", - "severity": "ERROR" - }, - { - "line": 26, - "column": 16, - "endLine": 26, - "endColumn": 17, - "problem": "ObjectLiteralNoContextType", - "suggest": "", - "rule": "Object literal must correspond to some explicitly declared class or interface (arkts-no-untyped-obj-literals)", - "severity": "ERROR" - }, - { - "line": 28, - "column": 9, - "endLine": 28, - "endColumn": 17, - "problem": "SwitchExpression", - "suggest": "", - "rule": "The switch expression type must be of type char, byte, short, int, long, string or enum (arkts-switch-expr)", - "severity": "ERROR" - }, - { - "line": 29, - "column": 8, - "endLine": 29, - "endColumn": 9, - "problem": "ObjectLiteralNoContextType", - "suggest": "", - "rule": "Object literal must correspond to some explicitly declared class or interface (arkts-no-untyped-obj-literals)", - "severity": "ERROR" - }, - { - "line": 36, - "column": 5, - "endLine": 36, - "endColumn": 27, - "problem": "NumericSemantics", - "suggest": "", - "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", - "severity": "ERROR" - }, - { - "line": 38, - "column": 9, - "endLine": 38, - "endColumn": 19, - "problem": "SwitchExpression", - "suggest": "", - "rule": "The switch expression type must be of type char, byte, short, int, long, string or enum (arkts-switch-expr)", - "severity": "ERROR" - }, - { - "line": 56, - "column": 7, - "endLine": 56, - "endColumn": 18, - "problem": "NumericSemantics", - "suggest": "", - "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", - "severity": "ERROR" - }, - { - "line": 70, - "column": 7, - "endLine": 70, - "endColumn": 20, - "problem": "NumericSemantics", - "suggest": "", - "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", - "severity": "ERROR" - }, - { - "line": 80, - "column": 7, - "endLine": 80, - "endColumn": 21, - "problem": "NumericSemantics", - "suggest": "", - "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", - "severity": "ERROR" - }, - { - "line": 81, - "column": 9, - "endLine": 81, - "endColumn": 16, - "problem": "SwitchExpression", - "suggest": "", - "rule": "The switch expression type must be of type char, byte, short, int, long, string or enum (arkts-switch-expr)", - "severity": "ERROR" - }, - { - "line": 90, - "column": 7, - "endLine": 90, - "endColumn": 27, - "problem": "NumericSemantics", - "suggest": "", - "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", - "severity": "ERROR" - }, - { - "line": 91, - "column": 9, - "endLine": 91, - "endColumn": 16, - "problem": "SwitchExpression", - "suggest": "", - "rule": "The switch expression type must be of type char, byte, short, int, long, string or enum (arkts-switch-expr)", - "severity": "ERROR" - }, - { - "line": 100, - "column": 7, - "endLine": 100, - "endColumn": 33, - "problem": "NumericSemantics", - "suggest": "", - "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", - "severity": "ERROR" - }, - { - "line": 101, - "column": 9, - "endLine": 101, - "endColumn": 16, - "problem": "SwitchExpression", - "suggest": "", - "rule": "The switch expression type must be of type char, byte, short, int, long, string or enum (arkts-switch-expr)", - "severity": "ERROR" - }, - { - "line": 112, - "column": 9, - "endLine": 112, - "endColumn": 12, - "problem": "SwitchExpression", - "suggest": "", - "rule": "The switch expression type must be of type char, byte, short, int, long, string or enum (arkts-switch-expr)", - "severity": "ERROR" - }, - { - "line": 140, - "column": 11, - "endLine": 140, - "endColumn": 19, - "problem": "SwitchExpression", - "suggest": "", - "rule": "The switch expression type must be of type char, byte, short, int, long, string or enum (arkts-switch-expr)", - "severity": "ERROR" - }, - { - "line": 152, - "column": 9, - "endLine": 152, - "endColumn": 14, - "problem": "SwitchExpression", - "suggest": "", - "rule": "The switch expression type must be of type char, byte, short, int, long, string or enum (arkts-switch-expr)", - "severity": "ERROR" - }, - { - "line": 163, - "column": 5, - "endLine": 163, - "endColumn": 13, - "problem": "NumericSemantics", - "suggest": "", - "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", - "severity": "ERROR" - }, - { - "line": 176, - "column": 9, - "endLine": 176, - "endColumn": 14, - "problem": "SwitchExpression", - "suggest": "", - "rule": "The switch expression type must be of type char, byte, short, int, long, string or enum (arkts-switch-expr)", - "severity": "ERROR" - }, - { - "line": 187, - "column": 5, - "endLine": 187, - "endColumn": 13, - "problem": "NumericSemantics", - "suggest": "", - "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", - "severity": "ERROR" - }, - { - "line": 197, - "column": 5, - "endLine": 197, - "endColumn": 17, - "problem": "NumericSemantics", - "suggest": "", - "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", - "severity": "ERROR" - }, - { - "line": 198, - "column": 9, - "endLine": 198, - "endColumn": 15, - "problem": "SwitchExpression", - "suggest": "", - "rule": "The switch expression type must be of type char, byte, short, int, long, string or enum (arkts-switch-expr)", - "severity": "ERROR" - }, - { - "line": 206, - "column": 7, - "endLine": 206, - "endColumn": 22, - "problem": "NumericSemantics", - "suggest": "", - "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", - "severity": "ERROR" - }, - { - "line": 216, - "column": 13, - "endLine": 216, - "endColumn": 32, - "problem": "CreatingPrimitiveTypes", - "suggest": "", - "rule": "ArkTS creating primitive types is not supported (arkts-primitive-type-normalization)", - "severity": "ERROR" - }, - { - "line": 226, - "column": 9, - "endLine": 226, - "endColumn": 15, - "problem": "SwitchExpression", - "suggest": "", - "rule": "The switch expression type must be of type char, byte, short, int, long, string or enum (arkts-switch-expr)", - "severity": "ERROR" - }, - { - "line": 240, - "column": 9, - "endLine": 240, - "endColumn": 17, - "problem": "SwitchExpression", - "suggest": "", - "rule": "The switch expression type must be of type char, byte, short, int, long, string or enum (arkts-switch-expr)", - "severity": "ERROR" - }, - { - "line": 255, - "column": 9, - "endLine": 255, - "endColumn": 17, - "problem": "SwitchExpression", - "suggest": "", - "rule": "The switch expression type must be of type char, byte, short, int, long, string or enum (arkts-switch-expr)", - "severity": "ERROR" - }, - { - "line": 263, - "column": 5, - "endLine": 263, - "endColumn": 30, - "problem": "NumericSemantics", - "suggest": "", - "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", - "severity": "ERROR" - }, - { - "line": 264, - "column": 9, - "endLine": 264, - "endColumn": 16, - "problem": "SwitchExpression", - "suggest": "", - "rule": "The switch expression type must be of type char, byte, short, int, long, string or enum (arkts-switch-expr)", - "severity": "ERROR" - }, - { - "line": 271, - "column": 9, - "endLine": 271, - "endColumn": 17, - "problem": "SwitchExpression", - "suggest": "", - "rule": "The switch expression type must be of type char, byte, short, int, long, string or enum (arkts-switch-expr)", - "severity": "ERROR" - }, - { - "line": 279, - "column": 7, - "endLine": 279, - "endColumn": 27, - "problem": "NumericSemantics", - "suggest": "", - "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", - "severity": "ERROR" - }, - { - "line": 280, - "column": 9, - "endLine": 280, - "endColumn": 16, - "problem": "SwitchExpression", - "suggest": "", - "rule": "The switch expression type must be of type char, byte, short, int, long, string or enum (arkts-switch-expr)", - "severity": "ERROR" - }, - { - "line": 294, - "column": 9, - "endLine": 294, - "endColumn": 17, - "problem": "SwitchExpression", - "suggest": "", - "rule": "The switch expression type must be of type char, byte, short, int, long, string or enum (arkts-switch-expr)", - "severity": "ERROR" - }, - { - "line": 303, - "column": 5, - "endLine": 303, - "endColumn": 23, - "problem": "NumericSemantics", - "suggest": "", - "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", - "severity": "ERROR" - }, - { - "line": 304, - "column": 9, - "endLine": 304, - "endColumn": 16, - "problem": "SwitchExpression", - "suggest": "", - "rule": "The switch expression type must be of type char, byte, short, int, long, string or enum (arkts-switch-expr)", - "severity": "ERROR" - }, - { - "line": 313, - "column": 5, - "endLine": 313, - "endColumn": 24, - "problem": "NumericSemantics", - "suggest": "", - "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", - "severity": "ERROR" - }, - { - "line": 314, - "column": 9, - "endLine": 314, - "endColumn": 16, - "problem": "SwitchExpression", - "suggest": "", - "rule": "The switch expression type must be of type char, byte, short, int, long, string or enum (arkts-switch-expr)", - "severity": "ERROR" - }, - { - "line": 323, - "column": 5, - "endLine": 323, - "endColumn": 18, - "problem": "NumericSemantics", - "suggest": "", - "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", - "severity": "ERROR" - }, - { - "line": 324, - "column": 9, - "endLine": 324, - "endColumn": 16, - "problem": "SwitchExpression", - "suggest": "", - "rule": "The switch expression type must be of type char, byte, short, int, long, string or enum (arkts-switch-expr)", - "severity": "ERROR" - }, - { - "line": 332, - "column": 5, - "endLine": 332, - "endColumn": 17, - "problem": "NumericSemantics", - "suggest": "", - "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", - "severity": "ERROR" - }, - { - "line": 333, - "column": 9, - "endLine": 333, - "endColumn": 15, - "problem": "SwitchExpression", - "suggest": "", - "rule": "The switch expression type must be of type char, byte, short, int, long, string or enum (arkts-switch-expr)", - "severity": "ERROR" - }, - { - "line": 343, - "column": 9, - "endLine": 343, - "endColumn": 17, - "problem": "SwitchExpression", - "suggest": "", - "rule": "The switch expression type must be of type char, byte, short, int, long, string or enum (arkts-switch-expr)", - "severity": "ERROR" - }, - { - "line": 359, - "column": 9, - "endLine": 359, - "endColumn": 14, - "problem": "SwitchExpression", - "suggest": "", - "rule": "The switch expression type must be of type char, byte, short, int, long, string or enum (arkts-switch-expr)", - "severity": "ERROR" - }, - { - "line": 372, - "column": 9, - "endLine": 372, - "endColumn": 14, - "problem": "SwitchExpression", - "suggest": "", - "rule": "The switch expression type must be of type char, byte, short, int, long, string or enum (arkts-switch-expr)", - "severity": "ERROR" - } -] + "copyright": [ + "Copyright (c) 2023-2025 Huawei Device Co., Ltd.", + "Licensed under the Apache License, Version 2.0 (the 'License');", + "you may not use this file except in compliance with the License.", + "You may obtain a copy of the License at", + "", + "http://www.apache.org/licenses/LICENSE-2.0", + "", + "Unless required by applicable law or agreed to in writing, software", + "distributed under the License is distributed on an 'AS IS' BASIS,", + "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.", + "See the License for the specific language governing permissions and", + "limitations under the License." + ], + "result": [ + { + "line": 17, + "column": 9, + "endLine": 17, + "endColumn": 15, + "problem": "SwitchExpression", + "suggest": "", + "rule": "The switch expression type must be of type char, byte, short, int, long, string or enum (arkts-switch-expr)", + "severity": "ERROR" + }, + { + "line": 26, + "column": 16, + "endLine": 26, + "endColumn": 17, + "problem": "ObjectLiteralNoContextType", + "suggest": "", + "rule": "Object literal must correspond to some explicitly declared class or interface (arkts-no-untyped-obj-literals)", + "severity": "ERROR" + }, + { + "line": 28, + "column": 9, + "endLine": 28, + "endColumn": 17, + "problem": "SwitchExpression", + "suggest": "", + "rule": "The switch expression type must be of type char, byte, short, int, long, string or enum (arkts-switch-expr)", + "severity": "ERROR" + }, + { + "line": 29, + "column": 8, + "endLine": 29, + "endColumn": 9, + "problem": "ObjectLiteralNoContextType", + "suggest": "", + "rule": "Object literal must correspond to some explicitly declared class or interface (arkts-no-untyped-obj-literals)", + "severity": "ERROR" + }, + { + "line": 36, + "column": 5, + "endLine": 36, + "endColumn": 27, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 36, + "column": 19, + "endLine": 36, + "endColumn": 20, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 36, + "column": 22, + "endLine": 36, + "endColumn": 23, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 36, + "column": 25, + "endLine": 36, + "endColumn": 26, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 38, + "column": 9, + "endLine": 38, + "endColumn": 19, + "problem": "SwitchExpression", + "suggest": "", + "rule": "The switch expression type must be of type char, byte, short, int, long, string or enum (arkts-switch-expr)", + "severity": "ERROR" + }, + { + "line": 39, + "column": 9, + "endLine": 39, + "endColumn": 10, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 39, + "column": 12, + "endLine": 39, + "endColumn": 13, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 39, + "column": 15, + "endLine": 39, + "endColumn": 16, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 56, + "column": 7, + "endLine": 56, + "endColumn": 18, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 56, + "column": 17, + "endLine": 56, + "endColumn": 18, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 58, + "column": 8, + "endLine": 58, + "endColumn": 9, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 61, + "column": 8, + "endLine": 61, + "endColumn": 9, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 70, + "column": 7, + "endLine": 70, + "endColumn": 20, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 80, + "column": 7, + "endLine": 80, + "endColumn": 21, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 81, + "column": 9, + "endLine": 81, + "endColumn": 16, + "problem": "SwitchExpression", + "suggest": "", + "rule": "The switch expression type must be of type char, byte, short, int, long, string or enum (arkts-switch-expr)", + "severity": "ERROR" + }, + { + "line": 85, + "column": 8, + "endLine": 85, + "endColumn": 9, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 90, + "column": 7, + "endLine": 90, + "endColumn": 27, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 91, + "column": 9, + "endLine": 91, + "endColumn": 16, + "problem": "SwitchExpression", + "suggest": "", + "rule": "The switch expression type must be of type char, byte, short, int, long, string or enum (arkts-switch-expr)", + "severity": "ERROR" + }, + { + "line": 95, + "column": 8, + "endLine": 95, + "endColumn": 9, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 100, + "column": 7, + "endLine": 100, + "endColumn": 33, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 101, + "column": 9, + "endLine": 101, + "endColumn": 16, + "problem": "SwitchExpression", + "suggest": "", + "rule": "The switch expression type must be of type char, byte, short, int, long, string or enum (arkts-switch-expr)", + "severity": "ERROR" + }, + { + "line": 105, + "column": 8, + "endLine": 105, + "endColumn": 9, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 110, + "column": 15, + "endLine": 110, + "endColumn": 16, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 112, + "column": 9, + "endLine": 112, + "endColumn": 12, + "problem": "SwitchExpression", + "suggest": "", + "rule": "The switch expression type must be of type char, byte, short, int, long, string or enum (arkts-switch-expr)", + "severity": "ERROR" + }, + { + "line": 113, + "column": 10, + "endLine": 113, + "endColumn": 11, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 116, + "column": 10, + "endLine": 116, + "endColumn": 11, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 119, + "column": 10, + "endLine": 119, + "endColumn": 11, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 122, + "column": 10, + "endLine": 122, + "endColumn": 11, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 125, + "column": 10, + "endLine": 125, + "endColumn": 11, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 128, + "column": 10, + "endLine": 128, + "endColumn": 11, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 131, + "column": 10, + "endLine": 131, + "endColumn": 11, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 138, + "column": 26, + "endLine": 138, + "endColumn": 29, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 140, + "column": 11, + "endLine": 140, + "endColumn": 19, + "problem": "SwitchExpression", + "suggest": "", + "rule": "The switch expression type must be of type char, byte, short, int, long, string or enum (arkts-switch-expr)", + "severity": "ERROR" + }, + { + "line": 141, + "column": 10, + "endLine": 141, + "endColumn": 11, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 144, + "column": 10, + "endLine": 144, + "endColumn": 11, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 151, + "column": 23, + "endLine": 151, + "endColumn": 24, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 152, + "column": 9, + "endLine": 152, + "endColumn": 14, + "problem": "SwitchExpression", + "suggest": "", + "rule": "The switch expression type must be of type char, byte, short, int, long, string or enum (arkts-switch-expr)", + "severity": "ERROR" + }, + { + "line": 153, + "column": 8, + "endLine": 153, + "endColumn": 9, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 157, + "column": 8, + "endLine": 157, + "endColumn": 9, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 163, + "column": 5, + "endLine": 163, + "endColumn": 13, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 163, + "column": 12, + "endLine": 163, + "endColumn": 13, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 165, + "column": 8, + "endLine": 165, + "endColumn": 9, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 169, + "column": 8, + "endLine": 169, + "endColumn": 9, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 175, + "column": 21, + "endLine": 175, + "endColumn": 22, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 176, + "column": 9, + "endLine": 176, + "endColumn": 14, + "problem": "SwitchExpression", + "suggest": "", + "rule": "The switch expression type must be of type char, byte, short, int, long, string or enum (arkts-switch-expr)", + "severity": "ERROR" + }, + { + "line": 177, + "column": 8, + "endLine": 177, + "endColumn": 9, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 181, + "column": 8, + "endLine": 181, + "endColumn": 9, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 187, + "column": 5, + "endLine": 187, + "endColumn": 13, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 187, + "column": 12, + "endLine": 187, + "endColumn": 13, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 189, + "column": 8, + "endLine": 189, + "endColumn": 9, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 197, + "column": 5, + "endLine": 197, + "endColumn": 17, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 198, + "column": 9, + "endLine": 198, + "endColumn": 15, + "problem": "SwitchExpression", + "suggest": "", + "rule": "The switch expression type must be of type char, byte, short, int, long, string or enum (arkts-switch-expr)", + "severity": "ERROR" + }, + { + "line": 206, + "column": 7, + "endLine": 206, + "endColumn": 22, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 206, + "column": 19, + "endLine": 206, + "endColumn": 22, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 208, + "column": 8, + "endLine": 208, + "endColumn": 9, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 211, + "column": 8, + "endLine": 211, + "endColumn": 9, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 216, + "column": 13, + "endLine": 216, + "endColumn": 32, + "problem": "CreatingPrimitiveTypes", + "suggest": "", + "rule": "ArkTS creating primitive types is not supported (arkts-primitive-type-normalization)", + "severity": "ERROR" + }, + { + "line": 225, + "column": 31, + "endLine": 225, + "endColumn": 32, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 226, + "column": 9, + "endLine": 226, + "endColumn": 15, + "problem": "SwitchExpression", + "suggest": "", + "rule": "The switch expression type must be of type char, byte, short, int, long, string or enum (arkts-switch-expr)", + "severity": "ERROR" + }, + { + "line": 237, + "column": 10, + "endLine": 237, + "endColumn": 11, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 240, + "column": 9, + "endLine": 240, + "endColumn": 17, + "problem": "SwitchExpression", + "suggest": "", + "rule": "The switch expression type must be of type char, byte, short, int, long, string or enum (arkts-switch-expr)", + "severity": "ERROR" + }, + { + "line": 241, + "column": 8, + "endLine": 241, + "endColumn": 9, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 255, + "column": 9, + "endLine": 255, + "endColumn": 17, + "problem": "SwitchExpression", + "suggest": "", + "rule": "The switch expression type must be of type char, byte, short, int, long, string or enum (arkts-switch-expr)", + "severity": "ERROR" + }, + { + "line": 263, + "column": 5, + "endLine": 263, + "endColumn": 30, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 264, + "column": 9, + "endLine": 264, + "endColumn": 16, + "problem": "SwitchExpression", + "suggest": "", + "rule": "The switch expression type must be of type char, byte, short, int, long, string or enum (arkts-switch-expr)", + "severity": "ERROR" + }, + { + "line": 271, + "column": 9, + "endLine": 271, + "endColumn": 17, + "problem": "SwitchExpression", + "suggest": "", + "rule": "The switch expression type must be of type char, byte, short, int, long, string or enum (arkts-switch-expr)", + "severity": "ERROR" + }, + { + "line": 271, + "column": 9, + "endLine": 271, + "endColumn": 11, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 279, + "column": 7, + "endLine": 279, + "endColumn": 27, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 279, + "column": 21, + "endLine": 279, + "endColumn": 23, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 279, + "column": 25, + "endLine": 279, + "endColumn": 26, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 280, + "column": 9, + "endLine": 280, + "endColumn": 16, + "problem": "SwitchExpression", + "suggest": "", + "rule": "The switch expression type must be of type char, byte, short, int, long, string or enum (arkts-switch-expr)", + "severity": "ERROR" + }, + { + "line": 281, + "column": 8, + "endLine": 281, + "endColumn": 10, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 284, + "column": 8, + "endLine": 284, + "endColumn": 10, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 294, + "column": 9, + "endLine": 294, + "endColumn": 17, + "problem": "SwitchExpression", + "suggest": "", + "rule": "The switch expression type must be of type char, byte, short, int, long, string or enum (arkts-switch-expr)", + "severity": "ERROR" + }, + { + "line": 303, + "column": 5, + "endLine": 303, + "endColumn": 23, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 304, + "column": 9, + "endLine": 304, + "endColumn": 16, + "problem": "SwitchExpression", + "suggest": "", + "rule": "The switch expression type must be of type char, byte, short, int, long, string or enum (arkts-switch-expr)", + "severity": "ERROR" + }, + { + "line": 313, + "column": 5, + "endLine": 313, + "endColumn": 24, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 314, + "column": 9, + "endLine": 314, + "endColumn": 16, + "problem": "SwitchExpression", + "suggest": "", + "rule": "The switch expression type must be of type char, byte, short, int, long, string or enum (arkts-switch-expr)", + "severity": "ERROR" + }, + { + "line": 323, + "column": 5, + "endLine": 323, + "endColumn": 18, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 324, + "column": 9, + "endLine": 324, + "endColumn": 16, + "problem": "SwitchExpression", + "suggest": "", + "rule": "The switch expression type must be of type char, byte, short, int, long, string or enum (arkts-switch-expr)", + "severity": "ERROR" + }, + { + "line": 332, + "column": 5, + "endLine": 332, + "endColumn": 17, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 333, + "column": 9, + "endLine": 333, + "endColumn": 15, + "problem": "SwitchExpression", + "suggest": "", + "rule": "The switch expression type must be of type char, byte, short, int, long, string or enum (arkts-switch-expr)", + "severity": "ERROR" + }, + { + "line": 342, + "column": 24, + "endLine": 342, + "endColumn": 25, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 343, + "column": 9, + "endLine": 343, + "endColumn": 17, + "problem": "SwitchExpression", + "suggest": "", + "rule": "The switch expression type must be of type char, byte, short, int, long, string or enum (arkts-switch-expr)", + "severity": "ERROR" + }, + { + "line": 347, + "column": 8, + "endLine": 347, + "endColumn": 9, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 350, + "column": 8, + "endLine": 350, + "endColumn": 9, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 358, + "column": 23, + "endLine": 358, + "endColumn": 24, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 359, + "column": 9, + "endLine": 359, + "endColumn": 14, + "problem": "SwitchExpression", + "suggest": "", + "rule": "The switch expression type must be of type char, byte, short, int, long, string or enum (arkts-switch-expr)", + "severity": "ERROR" + }, + { + "line": 360, + "column": 8, + "endLine": 360, + "endColumn": 9, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 364, + "column": 8, + "endLine": 364, + "endColumn": 9, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 371, + "column": 21, + "endLine": 371, + "endColumn": 22, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 372, + "column": 9, + "endLine": 372, + "endColumn": 14, + "problem": "SwitchExpression", + "suggest": "", + "rule": "The switch expression type must be of type char, byte, short, int, long, string or enum (arkts-switch-expr)", + "severity": "ERROR" + }, + { + "line": 373, + "column": 8, + "endLine": 373, + "endColumn": 9, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 377, + "column": 8, + "endLine": 377, + "endColumn": 9, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + } + ] } \ No newline at end of file diff --git a/ets2panda/linter/test/main/taskpool_deprecated_usages.ets.arkts2.json b/ets2panda/linter/test/main/taskpool_deprecated_usages.ets.arkts2.json index f2b6fbc104..463c82314f 100644 --- a/ets2panda/linter/test/main/taskpool_deprecated_usages.ets.arkts2.json +++ b/ets2panda/linter/test/main/taskpool_deprecated_usages.ets.arkts2.json @@ -1,68 +1,78 @@ { - "copyright": [ - "Copyright (c) 2025 Huawei Device Co., Ltd.", - "Licensed under the Apache License, Version 2.0 (the 'License');", - "you may not use this file except in compliance with the License.", - "You may obtain a copy of the License at", - "", - "http://www.apache.org/licenses/LICENSE-2.0", - "", - "Unless required by applicable law or agreed to in writing, software", - "distributed under the License is distributed on an 'AS IS' BASIS,", - "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.", - "See the License for the specific language governing permissions and", - "limitations under the License." - ], - "result": [ - { - "line": 17, - "column": 36, - "endLine": 17, - "endColumn": 45, - "problem": "DynamicCtorCall", - "suggest": "", - "rule": "\"new\" expression with dynamic constructor type is not supported (arkts-no-dynamic-ctor-call)", - "severity": "ERROR" - }, - { - "line": 20, - "column": 5, - "endLine": 20, - "endColumn": 52, - "problem": "AnyType", - "suggest": "", - "rule": "Use explicit types instead of \"any\", \"unknown\" (arkts-no-any-unknown)", - "severity": "ERROR" - }, - { - "line": 20, - "column": 17, - "endLine": 20, - "endColumn": 30, - "problem": "DynamicCtorCall", - "suggest": "", - "rule": "\"new\" expression with dynamic constructor type is not supported (arkts-no-dynamic-ctor-call)", - "severity": "ERROR" - }, - { - "line": 21, - "column": 1, - "endLine": 21, - "endColumn": 28, - "problem": "SetCloneListDeprecated", - "suggest": "", - "rule": "The taskpool setCloneList interface is deleted from ArkTS1.2 (arkts-limited-stdlib-no-setCloneList)", - "severity": "ERROR" - }, - { - "line": 22, - "column": 1, - "endLine": 22, - "endColumn": 31, - "problem": "SetTransferListDeprecated", - "suggest": "", - "rule": "The taskpool setTransferList interface is deleted from ArkTS1.2 (arkts-limited-stdlib-no-setTransferList)", - "severity": "ERROR" - } - ] -} + "copyright": [ + "Copyright (c) 2025 Huawei Device Co., Ltd.", + "Licensed under the Apache License, Version 2.0 (the 'License');", + "you may not use this file except in compliance with the License.", + "You may obtain a copy of the License at", + "", + "http://www.apache.org/licenses/LICENSE-2.0", + "", + "Unless required by applicable law or agreed to in writing, software", + "distributed under the License is distributed on an 'AS IS' BASIS,", + "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.", + "See the License for the specific language governing permissions and", + "limitations under the License." + ], + "result": [ + { + "line": 17, + "column": 36, + "endLine": 17, + "endColumn": 45, + "problem": "DynamicCtorCall", + "suggest": "", + "rule": "\"new\" expression with dynamic constructor type is not supported (arkts-no-dynamic-ctor-call)", + "severity": "ERROR" + }, + { + "line": 20, + "column": 5, + "endLine": 20, + "endColumn": 52, + "problem": "AnyType", + "suggest": "", + "rule": "Use explicit types instead of \"any\", \"unknown\" (arkts-no-any-unknown)", + "severity": "ERROR" + }, + { + "line": 20, + "column": 17, + "endLine": 20, + "endColumn": 30, + "problem": "DynamicCtorCall", + "suggest": "", + "rule": "\"new\" expression with dynamic constructor type is not supported (arkts-no-dynamic-ctor-call)", + "severity": "ERROR" + }, + { + "line": 20, + "column": 49, + "endLine": 20, + "endColumn": 51, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 21, + "column": 1, + "endLine": 21, + "endColumn": 28, + "problem": "SetCloneListDeprecated", + "suggest": "", + "rule": "The taskpool setCloneList interface is deleted from ArkTS1.2 (arkts-limited-stdlib-no-setCloneList)", + "severity": "ERROR" + }, + { + "line": 22, + "column": 1, + "endLine": 22, + "endColumn": 31, + "problem": "SetTransferListDeprecated", + "suggest": "", + "rule": "The taskpool setTransferList interface is deleted from ArkTS1.2 (arkts-limited-stdlib-no-setTransferList)", + "severity": "ERROR" + } + ] +} \ No newline at end of file diff --git a/ets2panda/linter/test/main/ts-like-catch-type.ets.arkts2.json b/ets2panda/linter/test/main/ts-like-catch-type.ets.arkts2.json index c42a190874..2956a7461c 100644 --- a/ets2panda/linter/test/main/ts-like-catch-type.ets.arkts2.json +++ b/ets2panda/linter/test/main/ts-like-catch-type.ets.arkts2.json @@ -1,19 +1,29 @@ { "copyright": [ - "Copyright (c) 2025 Huawei Device Co., Ltd.", - "Licensed under the Apache License, Version 2.0 (the 'License');", - "you may not use this file except in compliance with the License.", - "You may obtain a copy of the License at", - "", - "http://www.apache.org/licenses/LICENSE-2.0", - "", - "Unless required by applicable law or agreed to in writing, software", - "distributed under the License is distributed on an 'AS IS' BASIS,", - "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.", - "See the License for the specific language governing permissions and", - "limitations under the License." + "Copyright (c) 2025 Huawei Device Co., Ltd.", + "Licensed under the Apache License, Version 2.0 (the 'License');", + "you may not use this file except in compliance with the License.", + "You may obtain a copy of the License at", + "", + "http://www.apache.org/licenses/LICENSE-2.0", + "", + "Unless required by applicable law or agreed to in writing, software", + "distributed under the License is distributed on an 'AS IS' BASIS,", + "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.", + "See the License for the specific language governing permissions and", + "limitations under the License." ], "result": [ + { + "line": 18, + "column": 21, + "endLine": 18, + "endColumn": 22, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 19, "column": 5, @@ -24,6 +34,16 @@ "rule": "TS catch type are not supported (arkts-no-ts-like-catch-type)", "severity": "ERROR" }, + { + "line": 26, + "column": 21, + "endLine": 26, + "endColumn": 22, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 27, "column": 12, diff --git a/ets2panda/linter/test/main/ts_overload.ets.arkts2.json b/ets2panda/linter/test/main/ts_overload.ets.arkts2.json index 4c34eae345..cd9bd6a42c 100644 --- a/ets2panda/linter/test/main/ts_overload.ets.arkts2.json +++ b/ets2panda/linter/test/main/ts_overload.ets.arkts2.json @@ -44,6 +44,66 @@ "rule": "Class TS overloading is not supported(arkts-no-ts-overload)", "severity": "ERROR" }, + { + "line": 25, + "column": 21, + "endLine": 25, + "endColumn": 29, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 26, + "column": 21, + "endLine": 26, + "endColumn": 22, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 26, + "column": 24, + "endLine": 26, + "endColumn": 25, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 26, + "column": 27, + "endLine": 26, + "endColumn": 28, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 27, + "column": 21, + "endLine": 27, + "endColumn": 22, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 27, + "column": 24, + "endLine": 27, + "endColumn": 25, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 30, "column": 3, diff --git a/ets2panda/linter/test/main/type_inference.ets.arkts2.json b/ets2panda/linter/test/main/type_inference.ets.arkts2.json index 3951fd44f4..a1d51aff51 100644 --- a/ets2panda/linter/test/main/type_inference.ets.arkts2.json +++ b/ets2panda/linter/test/main/type_inference.ets.arkts2.json @@ -24,6 +24,26 @@ "rule": "Use explicit types instead of \"any\", \"unknown\" (arkts-no-any-unknown)", "severity": "ERROR" }, + { + "line": 19, + "column": 13, + "endLine": 19, + "endColumn": 14, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 19, + "column": 16, + "endLine": 19, + "endColumn": 17, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 23, "column": 10, diff --git a/ets2panda/linter/test/main/void_operator.ets.arkts2.json b/ets2panda/linter/test/main/void_operator.ets.arkts2.json index 2e051aeddd..469893a2cc 100644 --- a/ets2panda/linter/test/main/void_operator.ets.arkts2.json +++ b/ets2panda/linter/test/main/void_operator.ets.arkts2.json @@ -24,6 +24,16 @@ "rule": "\"void\" operator is not supported (arkts-no-void-operator)", "severity": "ERROR" }, + { + "line": 16, + "column": 6, + "endLine": 16, + "endColumn": 7, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 18, "column": 1, @@ -44,6 +54,26 @@ "rule": "\"void\" operator is not supported (arkts-no-void-operator)", "severity": "ERROR" }, + { + "line": 20, + "column": 7, + "endLine": 20, + "endColumn": 8, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 20, + "column": 11, + "endLine": 20, + "endColumn": 12, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 22, "column": 1, @@ -64,6 +94,26 @@ "rule": "Object literal must correspond to some explicitly declared class or interface (arkts-no-untyped-obj-literals)", "severity": "ERROR" }, + { + "line": 22, + "column": 11, + "endLine": 22, + "endColumn": 12, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 22, + "column": 17, + "endLine": 22, + "endColumn": 18, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 24, "column": 1, @@ -74,6 +124,36 @@ "rule": "\"void\" operator is not supported (arkts-no-void-operator)", "severity": "ERROR" }, + { + "line": 24, + "column": 7, + "endLine": 24, + "endColumn": 8, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 24, + "column": 10, + "endLine": 24, + "endColumn": 11, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 24, + "column": 13, + "endLine": 24, + "endColumn": 14, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 26, "column": 1, @@ -94,6 +174,16 @@ "rule": "\"void\" operator is not supported (arkts-no-void-operator)", "severity": "ERROR" }, + { + "line": 28, + "column": 30, + "endLine": 28, + "endColumn": 31, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 30, "column": 37, @@ -104,6 +194,16 @@ "rule": "\"void\" operator is not supported (arkts-no-void-operator)", "severity": "ERROR" }, + { + "line": 30, + "column": 42, + "endLine": 30, + "endColumn": 43, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 32, "column": 46, @@ -114,6 +214,16 @@ "rule": "\"void\" operator is not supported (arkts-no-void-operator)", "severity": "ERROR" }, + { + "line": 32, + "column": 51, + "endLine": 32, + "endColumn": 52, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 34, "column": 1, @@ -134,6 +244,16 @@ "rule": "\"void\" operator is not supported (arkts-no-void-operator)", "severity": "ERROR" }, + { + "line": 34, + "column": 11, + "endLine": 34, + "endColumn": 12, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 36, "column": 1, @@ -254,6 +374,16 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 55, + "column": 11, + "endLine": 55, + "endColumn": 12, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 56, "column": 3, @@ -274,6 +404,36 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 58, + "column": 12, + "endLine": 58, + "endColumn": 13, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 58, + "column": 15, + "endLine": 58, + "endColumn": 16, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 58, + "column": 18, + "endLine": 58, + "endColumn": 19, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 59, "column": 3, @@ -284,6 +444,26 @@ "rule": "\"void\" operator is not supported (arkts-no-void-operator)", "severity": "ERROR" }, + { + "line": 59, + "column": 38, + "endLine": 59, + "endColumn": 39, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 59, + "column": 44, + "endLine": 59, + "endColumn": 45, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 61, "column": 3, diff --git a/ets2panda/linter/test/main/void_operator.ets.autofix.json b/ets2panda/linter/test/main/void_operator.ets.autofix.json index 7c6a3ab711..517ba65f3a 100644 --- a/ets2panda/linter/test/main/void_operator.ets.autofix.json +++ b/ets2panda/linter/test/main/void_operator.ets.autofix.json @@ -24,13 +24,38 @@ { "start": 605, "end": 611, - "replacementText": "(() => {\n 0;\n return undefined;\n})()" + "replacementText": "(() => {\n 0;\n return undefined;\n})()", + "line": 16, + "column": 1, + "endLine": 16, + "endColumn": 5 } ], "suggest": "", "rule": "\"void\" operator is not supported (arkts-no-void-operator)", "severity": "ERROR" }, + { + "line": 16, + "column": 6, + "endLine": 16, + "endColumn": 7, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 610, + "end": 611, + "replacementText": "0.0", + "line": 16, + "column": 6, + "endLine": 16, + "endColumn": 7 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 18, "column": 1, @@ -41,7 +66,11 @@ { "start": 614, "end": 626, - "replacementText": "(() => {\n 'hello';\n return undefined;\n})()" + "replacementText": "(() => {\n 'hello';\n return undefined;\n})()", + "line": 18, + "column": 1, + "endLine": 18, + "endColumn": 5 } ], "suggest": "", @@ -58,13 +87,59 @@ { "start": 629, "end": 641, - "replacementText": "(() => {\n (1 + 2);\n return undefined;\n})()" + "replacementText": "(() => {\n (1 + 2);\n return undefined;\n})()", + "line": 20, + "column": 1, + "endLine": 20, + "endColumn": 5 } ], "suggest": "", "rule": "\"void\" operator is not supported (arkts-no-void-operator)", "severity": "ERROR" }, + { + "line": 20, + "column": 7, + "endLine": 20, + "endColumn": 8, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 635, + "end": 636, + "replacementText": "1.0", + "line": 20, + "column": 7, + "endLine": 20, + "endColumn": 8 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 20, + "column": 11, + "endLine": 20, + "endColumn": 12, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 639, + "end": 640, + "replacementText": "2.0", + "line": 20, + "column": 11, + "endLine": 20, + "endColumn": 12 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 22, "column": 1, @@ -75,7 +150,11 @@ { "start": 644, "end": 663, - "replacementText": "(() => {\n ({ a: 1, b: 2 });\n return undefined;\n})()" + "replacementText": "(() => {\n ({ a: 1, b: 2 });\n return undefined;\n})()", + "line": 22, + "column": 1, + "endLine": 22, + "endColumn": 5 } ], "suggest": "", @@ -92,18 +171,68 @@ { "start": 644, "end": 644, - "replacementText": "interface GeneratedObjectLiteralInterface_1 {\n a: number;\n b: number;\n}\n" + "replacementText": "interface GeneratedObjectLiteralInterface_1 {\n a: number;\n b: number;\n}\n", + "line": 22, + "column": 6, + "endLine": 22, + "endColumn": 7 }, { "start": 649, "end": 663, - "replacementText": "({ a: 1, b: 2 } as GeneratedObjectLiteralInterface_1)" + "replacementText": "({ a: 1, b: 2 } as GeneratedObjectLiteralInterface_1)", + "line": 22, + "column": 6, + "endLine": 22, + "endColumn": 7 } ], "suggest": "", "rule": "Object literal must correspond to some explicitly declared class or interface (arkts-no-untyped-obj-literals)", "severity": "ERROR" }, + { + "line": 22, + "column": 11, + "endLine": 22, + "endColumn": 12, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 654, + "end": 655, + "replacementText": "1.0", + "line": 22, + "column": 11, + "endLine": 22, + "endColumn": 12 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 22, + "column": 17, + "endLine": 22, + "endColumn": 18, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 660, + "end": 661, + "replacementText": "2.0", + "line": 22, + "column": 17, + "endLine": 22, + "endColumn": 18 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 24, "column": 1, @@ -114,13 +243,80 @@ { "start": 666, "end": 680, - "replacementText": "(() => {\n [1, 2, 3];\n return undefined;\n})()" + "replacementText": "(() => {\n [1, 2, 3];\n return undefined;\n})()", + "line": 24, + "column": 1, + "endLine": 24, + "endColumn": 5 } ], "suggest": "", "rule": "\"void\" operator is not supported (arkts-no-void-operator)", "severity": "ERROR" }, + { + "line": 24, + "column": 7, + "endLine": 24, + "endColumn": 8, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 672, + "end": 673, + "replacementText": "1.0", + "line": 24, + "column": 7, + "endLine": 24, + "endColumn": 8 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 24, + "column": 10, + "endLine": 24, + "endColumn": 11, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 675, + "end": 676, + "replacementText": "2.0", + "line": 24, + "column": 10, + "endLine": 24, + "endColumn": 11 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 24, + "column": 13, + "endLine": 24, + "endColumn": 14, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 678, + "end": 679, + "replacementText": "3.0", + "line": 24, + "column": 13, + "endLine": 24, + "endColumn": 14 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 26, "column": 1, @@ -131,7 +327,11 @@ { "start": 683, "end": 723, - "replacementText": "(() => {\n console.log('expression evaluated');\n return undefined;\n})()" + "replacementText": "(() => {\n console.log('expression evaluated');\n return undefined;\n})()", + "line": 26, + "column": 1, + "endLine": 26, + "endColumn": 5 } ], "suggest": "", @@ -148,13 +348,38 @@ { "start": 750, "end": 756, - "replacementText": "(() => {\n 1;\n return undefined;\n})()" + "replacementText": "(() => {\n 1;\n return undefined;\n})()", + "line": 28, + "column": 25, + "endLine": 28, + "endColumn": 29 } ], "suggest": "", "rule": "\"void\" operator is not supported (arkts-no-void-operator)", "severity": "ERROR" }, + { + "line": 28, + "column": 30, + "endLine": 28, + "endColumn": 31, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 755, + "end": 756, + "replacementText": "1.0", + "line": 28, + "column": 30, + "endLine": 28, + "endColumn": 31 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 30, "column": 37, @@ -165,13 +390,38 @@ { "start": 795, "end": 801, - "replacementText": "(() => {\n 2;\n return undefined;\n})()" + "replacementText": "(() => {\n 2;\n return undefined;\n})()", + "line": 30, + "column": 37, + "endLine": 30, + "endColumn": 41 } ], "suggest": "", "rule": "\"void\" operator is not supported (arkts-no-void-operator)", "severity": "ERROR" }, + { + "line": 30, + "column": 42, + "endLine": 30, + "endColumn": 43, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 800, + "end": 801, + "replacementText": "2.0", + "line": 30, + "column": 42, + "endLine": 30, + "endColumn": 43 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 32, "column": 46, @@ -182,13 +432,38 @@ { "start": 849, "end": 855, - "replacementText": "(() => {\n 3;\n return undefined;\n})()" + "replacementText": "(() => {\n 3;\n return undefined;\n})()", + "line": 32, + "column": 46, + "endLine": 32, + "endColumn": 50 } ], "suggest": "", "rule": "\"void\" operator is not supported (arkts-no-void-operator)", "severity": "ERROR" }, + { + "line": 32, + "column": 51, + "endLine": 32, + "endColumn": 52, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 854, + "end": 855, + "replacementText": "3.0", + "line": 32, + "column": 51, + "endLine": 32, + "endColumn": 52 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 34, "column": 1, @@ -199,7 +474,11 @@ { "start": 858, "end": 869, - "replacementText": "(() => {\n void 1;\n return undefined;\n})()" + "replacementText": "(() => {\n void 1;\n return undefined;\n})()", + "line": 34, + "column": 1, + "endLine": 34, + "endColumn": 5 } ], "suggest": "", @@ -216,13 +495,38 @@ { "start": 863, "end": 869, - "replacementText": "(() => {\n 1;\n return undefined;\n})()" + "replacementText": "(() => {\n 1;\n return undefined;\n})()", + "line": 34, + "column": 6, + "endLine": 34, + "endColumn": 10 } ], "suggest": "", "rule": "\"void\" operator is not supported (arkts-no-void-operator)", "severity": "ERROR" }, + { + "line": 34, + "column": 11, + "endLine": 34, + "endColumn": 12, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 868, + "end": 869, + "replacementText": "1.0", + "line": 34, + "column": 11, + "endLine": 34, + "endColumn": 12 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 36, "column": 1, @@ -233,7 +537,11 @@ { "start": 872, "end": 914, - "replacementText": "(() => {\n (function () {\n console.log('foo');\n });\n return undefined;\n})()" + "replacementText": "(() => {\n (function () {\n console.log('foo');\n });\n return undefined;\n})()", + "line": 36, + "column": 1, + "endLine": 36, + "endColumn": 5 } ], "suggest": "", @@ -250,7 +558,11 @@ { "start": 877, "end": 914, - "replacementText": "(() => {\n console.log('foo');\n})" + "replacementText": "(() => {\n console.log('foo');\n})", + "line": 36, + "column": 6, + "endLine": 38, + "endColumn": 2 } ], "suggest": "", @@ -267,7 +579,11 @@ { "start": 917, "end": 962, - "replacementText": "(() => {\n (function () {\n console.log(\"bar!\");\n })();\n return undefined;\n})()" + "replacementText": "(() => {\n (function () {\n console.log(\"bar!\");\n })();\n return undefined;\n})()", + "line": 40, + "column": 1, + "endLine": 40, + "endColumn": 5 } ], "suggest": "", @@ -284,7 +600,11 @@ { "start": 922, "end": 960, - "replacementText": "(() => {\n console.log(\"bar!\");\n})" + "replacementText": "(() => {\n console.log(\"bar!\");\n})", + "line": 40, + "column": 6, + "endLine": 42, + "endColumn": 2 } ], "suggest": "", @@ -301,7 +621,11 @@ { "start": 965, "end": 1012, - "replacementText": "(() => {\n (function () {\n console.log('baz!');\n })();\n return undefined;\n})()" + "replacementText": "(() => {\n (function () {\n console.log('baz!');\n })();\n return undefined;\n})()", + "line": 44, + "column": 1, + "endLine": 44, + "endColumn": 5 } ], "suggest": "", @@ -318,7 +642,11 @@ { "start": 971, "end": 1009, - "replacementText": "() => {\n console.log('baz!');\n}" + "replacementText": "() => {\n console.log('baz!');\n}", + "line": 44, + "column": 7, + "endLine": 46, + "endColumn": 2 } ], "suggest": "", @@ -335,7 +663,11 @@ { "start": 1015, "end": 1028, - "replacementText": "(() => {\n (class {\n });\n return undefined;\n})()" + "replacementText": "(() => {\n (class {\n });\n return undefined;\n})()", + "line": 48, + "column": 1, + "endLine": 48, + "endColumn": 5 } ], "suggest": "", @@ -362,7 +694,11 @@ { "start": 1031, "end": 1046, - "replacementText": "(() => {\n (class {\n });\n return undefined;\n})()" + "replacementText": "(() => {\n (class {\n });\n return undefined;\n})()", + "line": 50, + "column": 1, + "endLine": 50, + "endColumn": 5 } ], "suggest": "", @@ -389,7 +725,11 @@ { "start": 1049, "end": 1064, - "replacementText": "(() => {\n (() => { });\n return undefined;\n})()" + "replacementText": "(() => {\n (() => { });\n return undefined;\n})()", + "line": 52, + "column": 1, + "endLine": 52, + "endColumn": 5 } ], "suggest": "", @@ -406,7 +746,32 @@ { "start": 1090, "end": 1095, - "replacementText": "a: number = 1" + "replacementText": "a: number = 1", + "line": 55, + "column": 7, + "endLine": 55, + "endColumn": 12 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 55, + "column": 11, + "endLine": 55, + "endColumn": 12, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1094, + "end": 1095, + "replacementText": "1.0", + "line": 55, + "column": 11, + "endLine": 55, + "endColumn": 12 } ], "suggest": "", @@ -423,7 +788,11 @@ { "start": 1099, "end": 1107, - "replacementText": "(() => {\n a++;\n return undefined;\n})()" + "replacementText": "(() => {\n a++;\n return undefined;\n})()", + "line": 56, + "column": 3, + "endLine": 56, + "endColumn": 7 } ], "suggest": "", @@ -440,7 +809,74 @@ { "start": 1116, "end": 1129, - "replacementText": "b: number[] = [1, 2, 3]" + "replacementText": "b: number[] = [1, 2, 3]", + "line": 58, + "column": 7, + "endLine": 58, + "endColumn": 20 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 58, + "column": 12, + "endLine": 58, + "endColumn": 13, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1121, + "end": 1122, + "replacementText": "1.0", + "line": 58, + "column": 12, + "endLine": 58, + "endColumn": 13 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 58, + "column": 15, + "endLine": 58, + "endColumn": 16, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1124, + "end": 1125, + "replacementText": "2.0", + "line": 58, + "column": 15, + "endLine": 58, + "endColumn": 16 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 58, + "column": 18, + "endLine": 58, + "endColumn": 19, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1127, + "end": 1128, + "replacementText": "3.0", + "line": 58, + "column": 18, + "endLine": 58, + "endColumn": 19 } ], "suggest": "", @@ -457,13 +893,59 @@ { "start": 1133, "end": 1177, - "replacementText": "(() => {\n console.log(b.filter(x => x % 2 !== 0));\n return undefined;\n})()" + "replacementText": "(() => {\n console.log(b.filter(x => x % 2 !== 0));\n return undefined;\n})()", + "line": 59, + "column": 3, + "endLine": 59, + "endColumn": 7 } ], "suggest": "", "rule": "\"void\" operator is not supported (arkts-no-void-operator)", "severity": "ERROR" }, + { + "line": 59, + "column": 38, + "endLine": 59, + "endColumn": 39, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1168, + "end": 1169, + "replacementText": "2.0", + "line": 59, + "column": 38, + "endLine": 59, + "endColumn": 39 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 59, + "column": 44, + "endLine": 59, + "endColumn": 45, + "problem": "NumericSemantics", + "autofix": [ + { + "start": 1174, + "end": 1175, + "replacementText": "0.0", + "line": 59, + "column": 44, + "endLine": 59, + "endColumn": 45 + } + ], + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 61, "column": 3, @@ -474,7 +956,11 @@ { "start": 1184, "end": 1229, - "replacementText": "(() => {\n (function () {\n console.log('foo');\n });\n return undefined;\n})()" + "replacementText": "(() => {\n (function () {\n console.log('foo');\n });\n return undefined;\n})()", + "line": 61, + "column": 3, + "endLine": 61, + "endColumn": 7 } ], "suggest": "", @@ -491,7 +977,11 @@ { "start": 1189, "end": 1229, - "replacementText": "(() => {\n console.log('foo');\n})" + "replacementText": "(() => {\n console.log('foo');\n})", + "line": 61, + "column": 8, + "endLine": 63, + "endColumn": 4 } ], "suggest": "", @@ -508,7 +998,11 @@ { "start": 1234, "end": 1288, - "replacementText": "(() => {\n (function localFun() {\n console.log('foo');\n });\n return undefined;\n})()" + "replacementText": "(() => {\n (function localFun() {\n console.log('foo');\n });\n return undefined;\n})()", + "line": 65, + "column": 3, + "endLine": 65, + "endColumn": 7 } ], "suggest": "", @@ -525,7 +1019,11 @@ { "start": 1239, "end": 1288, - "replacementText": "(() => {\n console.log('foo');\n})" + "replacementText": "(() => {\n console.log('foo');\n})", + "line": 65, + "column": 8, + "endLine": 67, + "endColumn": 4 } ], "suggest": "", @@ -542,7 +1040,11 @@ { "start": 1295, "end": 1308, - "replacementText": "(() => {\n (class {\n });\n return undefined;\n})()" + "replacementText": "(() => {\n (class {\n });\n return undefined;\n})()", + "line": 69, + "column": 3, + "endLine": 69, + "endColumn": 7 } ], "suggest": "", @@ -569,7 +1071,11 @@ { "start": 1313, "end": 1336, - "replacementText": "(() => {\n (class localClass {\n });\n return undefined;\n})()" + "replacementText": "(() => {\n (class localClass {\n });\n return undefined;\n})()", + "line": 71, + "column": 3, + "endLine": 71, + "endColumn": 7 } ], "suggest": "", diff --git a/ets2panda/linter/test/main/void_operator.ets.migrate.ets b/ets2panda/linter/test/main/void_operator.ets.migrate.ets index 2a81c570d5..72f556c1fa 100644 --- a/ets2panda/linter/test/main/void_operator.ets.migrate.ets +++ b/ets2panda/linter/test/main/void_operator.ets.migrate.ets @@ -14,7 +14,7 @@ */ (() => { - 0; + 0.0; return undefined; })(); @@ -24,7 +24,7 @@ })(); (() => { - (1 + 2); + (1.0 + 2.0); return undefined; })(); @@ -33,12 +33,12 @@ interface GeneratedObjectLiteralInterface_1 { b: number; } (() => { - ({ a: 1, b: 2 } as GeneratedObjectLiteralInterface_1); + ({ a: 1.0, b: 2.0 } as GeneratedObjectLiteralInterface_1); return undefined; })(); (() => { - [1, 2, 3]; + [1.0, 2.0, 3.0]; return undefined; })(); @@ -48,23 +48,23 @@ interface GeneratedObjectLiteralInterface_1 { })(); const undefined_value = (() => { - 1; + 1.0; return undefined; })(); const undefined_value2: undefined = (() => { - 2; + 2.0; return undefined; })(); const undefined_value3: number | undefined = (() => { - 3; + 3.0; return undefined; })(); (() => { (() => { - 1; + 1.0; return undefined; })(); return undefined; @@ -109,15 +109,15 @@ const undefined_value3: number | undefined = (() => { })(); function foo() { - let a: number = 1; + let a: number = 1.0; (() => { a++; return undefined; })(); - let b: number[] = [1, 2, 3]; + let b: number[] = [1.0, 2.0, 3.0]; (() => { - console.log(b.filter(x => x % 2 !== 0)); + console.log(b.filter(x => x % 2.0 !== 0.0)); return undefined; })(); diff --git a/ets2panda/linter/test/rules/rule207.ets.arkts2.json b/ets2panda/linter/test/rules/rule207.ets.arkts2.json index 625924f260..aa91c408bd 100644 --- a/ets2panda/linter/test/rules/rule207.ets.arkts2.json +++ b/ets2panda/linter/test/rules/rule207.ets.arkts2.json @@ -50,6 +50,16 @@ "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", "severity": "ERROR" }, + { + "line": 25, + "column": 18, + "endLine": 25, + "endColumn": 19, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 25, "column": 25, @@ -230,6 +240,16 @@ "rule": "Special arguments object inside functions are not supported (arkts-no-arguments-obj)", "severity": "ERROR" }, + { + "line": 57, + "column": 28, + "endLine": 57, + "endColumn": 29, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 58, "column": 45, diff --git a/ets2panda/linter/test/sdkwhite/decl_with_duplicate_name_sdk.ets.arkts2.json b/ets2panda/linter/test/sdkwhite/decl_with_duplicate_name_sdk.ets.arkts2.json index 307e9a28a6..327b8e844f 100644 --- a/ets2panda/linter/test/sdkwhite/decl_with_duplicate_name_sdk.ets.arkts2.json +++ b/ets2panda/linter/test/sdkwhite/decl_with_duplicate_name_sdk.ets.arkts2.json @@ -1,278 +1,298 @@ { - "copyright": [ - "Copyright (c) 2025 Huawei Device Co., Ltd.", - "Licensed under the Apache License, Version 2.0 (the 'License');", - "you may not use this file except in compliance with the License.", - "You may obtain a copy of the License at", - "", - "http://www.apache.org/licenses/LICENSE-2.0", - "", - "Unless required by applicable law or agreed to in writing, software", - "distributed under the License is distributed on an 'AS IS' BASIS,", - "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.", - "See the License for the specific language governing permissions and", - "limitations under the License." - ], - "result": [ - { - "line": 17, - "column": 1, - "endLine": 17, - "endColumn": 61, - "problem": "ImportAfterStatement", - "suggest": "", - "rule": "\"import\" statements after other statements are not allowed (arkts-no-misplaced-imports)", - "severity": "ERROR" - }, - { - "line": 18, - "column": 1, - "endLine": 18, - "endColumn": 86, - "problem": "ImportAfterStatement", - "suggest": "", - "rule": "\"import\" statements after other statements are not allowed (arkts-no-misplaced-imports)", - "severity": "ERROR" - }, - { - "line": 23, - "column": 19, - "endLine": 23, - "endColumn": 28, - "problem": "DuplicateDeclNameFromSdk", - "suggest": "", - "rule": "API path have changed - please update your imports accordingly (sdk-no-decl-with-duplicate-name)", - "severity": "ERROR" - }, - { - "line": 23, - "column": 35, - "endLine": 23, - "endColumn": 44, - "problem": "DuplicateDeclNameFromSdk", - "suggest": "", - "rule": "API path have changed - please update your imports accordingly (sdk-no-decl-with-duplicate-name)", - "severity": "ERROR" - }, - { - "line": 24, - "column": 19, - "endLine": 24, - "endColumn": 28, - "problem": "DuplicateDeclNameFromSdk", - "suggest": "", - "rule": "API path have changed - please update your imports accordingly (sdk-no-decl-with-duplicate-name)", - "severity": "ERROR" - }, - { - "line": 26, - "column": 27, - "endLine": 26, - "endColumn": 36, - "problem": "DuplicateDeclNameFromSdk", - "suggest": "", - "rule": "API path have changed - please update your imports accordingly (sdk-no-decl-with-duplicate-name)", - "severity": "ERROR" - }, - { - "line": 26, - "column": 40, - "endLine": 26, - "endColumn": 51, - "problem": "GenericCallNoTypeArgs", - "suggest": "", - "rule": "Type inference in case of generic function calls is limited (arkts-no-inferred-generic-params)", - "severity": "ERROR" - }, - { - "line": 28, - "column": 14, - "endLine": 28, - "endColumn": 20, - "problem": "NumericSemantics", - "suggest": "", - "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", - "severity": "ERROR" - }, - { - "line": 29, - "column": 31, - "endLine": 29, - "endColumn": 40, - "problem": "DuplicateDeclNameFromSdk", - "suggest": "", - "rule": "API path have changed - please update your imports accordingly (sdk-no-decl-with-duplicate-name)", - "severity": "ERROR" - }, - { - "line": 34, - "column": 38, - "endLine": 34, - "endColumn": 47, - "problem": "DuplicateDeclNameFromSdk", - "suggest": "", - "rule": "API path have changed - please update your imports accordingly (sdk-no-decl-with-duplicate-name)", - "severity": "ERROR" - }, - { - "line": 44, - "column": 30, - "endLine": 44, - "endColumn": 39, - "problem": "DuplicateDeclNameFromSdk", - "suggest": "", - "rule": "API path have changed - please update your imports accordingly (sdk-no-decl-with-duplicate-name)", - "severity": "ERROR" - }, - { - "line": 50, - "column": 42, - "endLine": 50, - "endColumn": 60, - "problem": "DuplicateDeclNameFromSdk", - "suggest": "", - "rule": "API path have changed - please update your imports accordingly (sdk-no-decl-with-duplicate-name)", - "severity": "ERROR" - }, - { - "line": 51, - "column": 42, - "endLine": 51, - "endColumn": 60, - "problem": "DuplicateDeclNameFromSdk", - "suggest": "", - "rule": "API path have changed - please update your imports accordingly (sdk-no-decl-with-duplicate-name)", - "severity": "ERROR" - }, - { - "line": 53, - "column": 31, - "endLine": 53, - "endColumn": 49, - "problem": "DuplicateDeclNameFromSdk", - "suggest": "", - "rule": "API path have changed - please update your imports accordingly (sdk-no-decl-with-duplicate-name)", - "severity": "ERROR" - }, - { - "line": 54, - "column": 31, - "endLine": 54, - "endColumn": 49, - "problem": "DuplicateDeclNameFromSdk", - "suggest": "", - "rule": "API path have changed - please update your imports accordingly (sdk-no-decl-with-duplicate-name)", - "severity": "ERROR" - }, - { - "line": 57, - "column": 18, - "endLine": 57, - "endColumn": 36, - "problem": "DuplicateDeclNameFromSdk", - "suggest": "", - "rule": "API path have changed - please update your imports accordingly (sdk-no-decl-with-duplicate-name)", - "severity": "ERROR" - }, - { - "line": 58, - "column": 19, - "endLine": 58, - "endColumn": 37, - "problem": "DuplicateDeclNameFromSdk", - "suggest": "", - "rule": "API path have changed - please update your imports accordingly (sdk-no-decl-with-duplicate-name)", - "severity": "ERROR" - }, - { - "line": 20, - "column": 2, - "endLine": 20, - "endColumn": 7, - "problem": "UIInterfaceImport", - "suggest": "", - "rule": "ArkUI interface should be imported before using (arkui-modular-interface)", - "severity": "ERROR" - }, - { - "line": 21, - "column": 2, - "endLine": 21, - "endColumn": 11, - "problem": "UIInterfaceImport", - "suggest": "", - "rule": "ArkUI interface should be imported before using (arkui-modular-interface)", - "severity": "ERROR" - }, - { - "line": 23, - "column": 57, - "endLine": 23, - "endColumn": 62, - "problem": "UIInterfaceImport", - "suggest": "", - "rule": "ArkUI interface should be imported before using (arkui-modular-interface)", - "severity": "ERROR" - }, - { - "line": 26, - "column": 4, - "endLine": 26, - "endColumn": 9, - "problem": "UIInterfaceImport", - "suggest": "", - "rule": "ArkUI interface should be imported before using (arkui-modular-interface)", - "severity": "ERROR" - }, - { - "line": 33, - "column": 5, - "endLine": 33, - "endColumn": 9, - "problem": "UIInterfaceImport", - "suggest": "", - "rule": "ArkUI interface should be imported before using (arkui-modular-interface)", - "severity": "ERROR" - }, - { - "line": 34, - "column": 7, - "endLine": 34, - "endColumn": 14, - "problem": "UIInterfaceImport", - "suggest": "", - "rule": "ArkUI interface should be imported before using (arkui-modular-interface)", - "severity": "ERROR" - }, - { - "line": 35, - "column": 9, - "endLine": 35, - "endColumn": 17, - "problem": "UIInterfaceImport", - "suggest": "", - "rule": "ArkUI interface should be imported before using (arkui-modular-interface)", - "severity": "ERROR" - }, - { - "line": 36, - "column": 11, - "endLine": 36, - "endColumn": 15, - "problem": "UIInterfaceImport", - "suggest": "", - "rule": "ArkUI interface should be imported before using (arkui-modular-interface)", - "severity": "ERROR" - }, - { - "line": 24, - "column": 3, - "endLine": 24, - "endColumn": 17, - "problem": "StrictDiagnostic", - "suggest": "Property 'fontStyleAttr2' has no initializer and is not definitely assigned in the constructor.", - "rule": "Property 'fontStyleAttr2' has no initializer and is not definitely assigned in the constructor.", - "severity": "ERROR" - } - ] + "copyright": [ + "Copyright (c) 2025 Huawei Device Co., Ltd.", + "Licensed under the Apache License, Version 2.0 (the 'License');", + "you may not use this file except in compliance with the License.", + "You may obtain a copy of the License at", + "", + "http://www.apache.org/licenses/LICENSE-2.0", + "", + "Unless required by applicable law or agreed to in writing, software", + "distributed under the License is distributed on an 'AS IS' BASIS,", + "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.", + "See the License for the specific language governing permissions and", + "limitations under the License." + ], + "result": [ + { + "line": 17, + "column": 1, + "endLine": 17, + "endColumn": 61, + "problem": "ImportAfterStatement", + "suggest": "", + "rule": "\"import\" statements after other statements are not allowed (arkts-no-misplaced-imports)", + "severity": "ERROR" + }, + { + "line": 18, + "column": 1, + "endLine": 18, + "endColumn": 86, + "problem": "ImportAfterStatement", + "suggest": "", + "rule": "\"import\" statements after other statements are not allowed (arkts-no-misplaced-imports)", + "severity": "ERROR" + }, + { + "line": 23, + "column": 19, + "endLine": 23, + "endColumn": 28, + "problem": "DuplicateDeclNameFromSdk", + "suggest": "", + "rule": "API path have changed - please update your imports accordingly (sdk-no-decl-with-duplicate-name)", + "severity": "ERROR" + }, + { + "line": 23, + "column": 35, + "endLine": 23, + "endColumn": 44, + "problem": "DuplicateDeclNameFromSdk", + "suggest": "", + "rule": "API path have changed - please update your imports accordingly (sdk-no-decl-with-duplicate-name)", + "severity": "ERROR" + }, + { + "line": 24, + "column": 19, + "endLine": 24, + "endColumn": 28, + "problem": "DuplicateDeclNameFromSdk", + "suggest": "", + "rule": "API path have changed - please update your imports accordingly (sdk-no-decl-with-duplicate-name)", + "severity": "ERROR" + }, + { + "line": 26, + "column": 27, + "endLine": 26, + "endColumn": 36, + "problem": "DuplicateDeclNameFromSdk", + "suggest": "", + "rule": "API path have changed - please update your imports accordingly (sdk-no-decl-with-duplicate-name)", + "severity": "ERROR" + }, + { + "line": 26, + "column": 40, + "endLine": 26, + "endColumn": 51, + "problem": "GenericCallNoTypeArgs", + "suggest": "", + "rule": "Type inference in case of generic function calls is limited (arkts-no-inferred-generic-params)", + "severity": "ERROR" + }, + { + "line": 28, + "column": 14, + "endLine": 28, + "endColumn": 20, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 28, + "column": 18, + "endLine": 28, + "endColumn": 20, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 28, + "column": 26, + "endLine": 28, + "endColumn": 28, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 29, + "column": 31, + "endLine": 29, + "endColumn": 40, + "problem": "DuplicateDeclNameFromSdk", + "suggest": "", + "rule": "API path have changed - please update your imports accordingly (sdk-no-decl-with-duplicate-name)", + "severity": "ERROR" + }, + { + "line": 34, + "column": 38, + "endLine": 34, + "endColumn": 47, + "problem": "DuplicateDeclNameFromSdk", + "suggest": "", + "rule": "API path have changed - please update your imports accordingly (sdk-no-decl-with-duplicate-name)", + "severity": "ERROR" + }, + { + "line": 44, + "column": 30, + "endLine": 44, + "endColumn": 39, + "problem": "DuplicateDeclNameFromSdk", + "suggest": "", + "rule": "API path have changed - please update your imports accordingly (sdk-no-decl-with-duplicate-name)", + "severity": "ERROR" + }, + { + "line": 50, + "column": 42, + "endLine": 50, + "endColumn": 60, + "problem": "DuplicateDeclNameFromSdk", + "suggest": "", + "rule": "API path have changed - please update your imports accordingly (sdk-no-decl-with-duplicate-name)", + "severity": "ERROR" + }, + { + "line": 51, + "column": 42, + "endLine": 51, + "endColumn": 60, + "problem": "DuplicateDeclNameFromSdk", + "suggest": "", + "rule": "API path have changed - please update your imports accordingly (sdk-no-decl-with-duplicate-name)", + "severity": "ERROR" + }, + { + "line": 53, + "column": 31, + "endLine": 53, + "endColumn": 49, + "problem": "DuplicateDeclNameFromSdk", + "suggest": "", + "rule": "API path have changed - please update your imports accordingly (sdk-no-decl-with-duplicate-name)", + "severity": "ERROR" + }, + { + "line": 54, + "column": 31, + "endLine": 54, + "endColumn": 49, + "problem": "DuplicateDeclNameFromSdk", + "suggest": "", + "rule": "API path have changed - please update your imports accordingly (sdk-no-decl-with-duplicate-name)", + "severity": "ERROR" + }, + { + "line": 57, + "column": 18, + "endLine": 57, + "endColumn": 36, + "problem": "DuplicateDeclNameFromSdk", + "suggest": "", + "rule": "API path have changed - please update your imports accordingly (sdk-no-decl-with-duplicate-name)", + "severity": "ERROR" + }, + { + "line": 58, + "column": 19, + "endLine": 58, + "endColumn": 37, + "problem": "DuplicateDeclNameFromSdk", + "suggest": "", + "rule": "API path have changed - please update your imports accordingly (sdk-no-decl-with-duplicate-name)", + "severity": "ERROR" + }, + { + "line": 20, + "column": 2, + "endLine": 20, + "endColumn": 7, + "problem": "UIInterfaceImport", + "suggest": "", + "rule": "ArkUI interface should be imported before using (arkui-modular-interface)", + "severity": "ERROR" + }, + { + "line": 21, + "column": 2, + "endLine": 21, + "endColumn": 11, + "problem": "UIInterfaceImport", + "suggest": "", + "rule": "ArkUI interface should be imported before using (arkui-modular-interface)", + "severity": "ERROR" + }, + { + "line": 23, + "column": 57, + "endLine": 23, + "endColumn": 62, + "problem": "UIInterfaceImport", + "suggest": "", + "rule": "ArkUI interface should be imported before using (arkui-modular-interface)", + "severity": "ERROR" + }, + { + "line": 26, + "column": 4, + "endLine": 26, + "endColumn": 9, + "problem": "UIInterfaceImport", + "suggest": "", + "rule": "ArkUI interface should be imported before using (arkui-modular-interface)", + "severity": "ERROR" + }, + { + "line": 33, + "column": 5, + "endLine": 33, + "endColumn": 9, + "problem": "UIInterfaceImport", + "suggest": "", + "rule": "ArkUI interface should be imported before using (arkui-modular-interface)", + "severity": "ERROR" + }, + { + "line": 34, + "column": 7, + "endLine": 34, + "endColumn": 14, + "problem": "UIInterfaceImport", + "suggest": "", + "rule": "ArkUI interface should be imported before using (arkui-modular-interface)", + "severity": "ERROR" + }, + { + "line": 35, + "column": 9, + "endLine": 35, + "endColumn": 17, + "problem": "UIInterfaceImport", + "suggest": "", + "rule": "ArkUI interface should be imported before using (arkui-modular-interface)", + "severity": "ERROR" + }, + { + "line": 36, + "column": 11, + "endLine": 36, + "endColumn": 15, + "problem": "UIInterfaceImport", + "suggest": "", + "rule": "ArkUI interface should be imported before using (arkui-modular-interface)", + "severity": "ERROR" + }, + { + "line": 24, + "column": 3, + "endLine": 24, + "endColumn": 17, + "problem": "StrictDiagnostic", + "suggest": "Property 'fontStyleAttr2' has no initializer and is not definitely assigned in the constructor.", + "rule": "Property 'fontStyleAttr2' has no initializer and is not definitely assigned in the constructor.", + "severity": "ERROR" + } + ] } \ No newline at end of file diff --git a/ets2panda/linter/test/sdkwhite/limit_void_type_sdk.ets.arkts2.json b/ets2panda/linter/test/sdkwhite/limit_void_type_sdk.ets.arkts2.json index 3651742628..d6b0d31865 100644 --- a/ets2panda/linter/test/sdkwhite/limit_void_type_sdk.ets.arkts2.json +++ b/ets2panda/linter/test/sdkwhite/limit_void_type_sdk.ets.arkts2.json @@ -84,6 +84,26 @@ "rule": "Type \"void\" has no instances.(sdk-limited-void-type)", "severity": "ERROR" }, + { + "line": 53, + "column": 13, + "endLine": 53, + "endColumn": 15, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 69, + "column": 30, + "endLine": 69, + "endColumn": 33, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 72, "column": 5, @@ -94,6 +114,16 @@ "rule": "Type \"void\" has no instances.(sdk-limited-void-type)", "severity": "ERROR" }, + { + "line": 72, + "column": 29, + "endLine": 72, + "endColumn": 32, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 76, "column": 10, @@ -104,6 +134,16 @@ "rule": "Type \"void\" has no instances.(sdk-limited-void-type)", "severity": "ERROR" }, + { + "line": 76, + "column": 20, + "endLine": 76, + "endColumn": 23, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 78, "column": 7, @@ -123,6 +163,26 @@ "suggest": "", "rule": "\"new\" expression with dynamic constructor type is not supported (arkts-no-dynamic-ctor-call)", "severity": "ERROR" + }, + { + "line": 79, + "column": 14, + "endLine": 79, + "endColumn": 17, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, + { + "line": 80, + "column": 12, + "endLine": 80, + "endColumn": 15, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" } ] } \ No newline at end of file diff --git a/ets2panda/linter/test/sdkwhite/limit_void_type_sdk2.ets.arkts2.json b/ets2panda/linter/test/sdkwhite/limit_void_type_sdk2.ets.arkts2.json index 2a4a3080f0..5b41bb7baa 100644 --- a/ets2panda/linter/test/sdkwhite/limit_void_type_sdk2.ets.arkts2.json +++ b/ets2panda/linter/test/sdkwhite/limit_void_type_sdk2.ets.arkts2.json @@ -124,6 +124,16 @@ "rule": "Type \"void\" has no instances.(sdk-limited-void-type)", "severity": "ERROR" }, + { + "line": 54, + "column": 38, + "endLine": 54, + "endColumn": 41, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 57, "column": 10, @@ -134,6 +144,16 @@ "rule": "Type \"void\" has no instances.(sdk-limited-void-type)", "severity": "ERROR" }, + { + "line": 57, + "column": 22, + "endLine": 57, + "endColumn": 25, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 60, "column": 20, @@ -144,6 +164,16 @@ "rule": "Type \"void\" has no instances.(sdk-limited-void-type)", "severity": "ERROR" }, + { + "line": 60, + "column": 46, + "endLine": 60, + "endColumn": 49, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 61, "column": 21, @@ -154,6 +184,16 @@ "rule": "Type \"void\" has no instances.(sdk-limited-void-type)", "severity": "ERROR" }, + { + "line": 61, + "column": 31, + "endLine": 61, + "endColumn": 34, + "problem": "NumericSemantics", + "suggest": "", + "rule": "Numeric semantics is different for integer values (arkts-numeric-semantic)", + "severity": "ERROR" + }, { "line": 44, "column": 41, -- Gitee