diff --git a/ets2panda/linter/src/lib/TypeScriptLinter.ts b/ets2panda/linter/src/lib/TypeScriptLinter.ts index 981609604307eadc906f0e97af3b159d21d4f0be..b3309fb4e0eb056d39bfc350f10b1af5d86dd23b 100644 --- a/ets2panda/linter/src/lib/TypeScriptLinter.ts +++ b/ets2panda/linter/src/lib/TypeScriptLinter.ts @@ -8037,7 +8037,7 @@ export class TypeScriptLinter extends BaseTypeScriptLinter { return Boolean( t.flags & ts.TypeFlags.StringLike || typeText === 'String' || - typeText === 'number' || + typeText.toLowerCase() === 'number' || t.flags & ts.TypeFlags.NumberLike && (/^\d+$/).test(typeText) || isLiteralInitialized && !hasExplicitTypeAnnotation || t.flags & ts.TypeFlags.EnumLike diff --git a/ets2panda/linter/test/main/swicth_expr.ets b/ets2panda/linter/test/main/swicth_expr.ets index f44ab3e8e278572230b170104e0cbdd99d03e9c1..d3e2657a8e5415e5e743a008697b1090d4ec4941 100755 --- a/ets2panda/linter/test/main/swicth_expr.ets +++ b/ets2panda/linter/test/main/swicth_expr.ets @@ -409,3 +409,24 @@ function foo(index: number) { } } +class CFE { + using: number = 0 + initData(size: Number): void { + switch(size) { // legal + case 1: + this.using = 1; + break; + case 9: + this.using = 9; + break; + case 0: + this.using = 0; + break; + case 7: + this.using = 7; + break; + default: + this.using = 1907; + } + } +} \ No newline at end of file