--- source: crates/biome_js_analyze/tests/spec_tests.rs expression: invalidClass.ts --- # Input ```ts // @ts-nocheck class C extends Math.pow(a, b) implements Foo {} (class A extends Math.pow(a, b) implements Foo {}) (class A extends (Math.pow(a, b)) {}) class C extends (Math.pow(a, b)) implements Foo, Bar {} ``` # Diagnostics ``` invalidClass.ts:2:20 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. 1 │ // @ts-nocheck > 2 │ class C extends Math.pow(a, b) implements Foo {} │ ^^^^^^^^^^^^^^ 3 │ (class A extends Math.pow(a, b) implements Foo {}) 4 │ (class A extends (Math.pow(a, b)) {}) i Unsafe fix: Use the '**' operator instead of 'Math.pow'. 1 1 │ // @ts-nocheck 2 │ - class·C·extends·Math.pow(a,·b)·implements·Foo·{} 2 │ + class·C·extends·(a·**·b)·implements·Foo·{} 3 3 │ (class A extends Math.pow(a, b) implements Foo {}) 4 4 │ (class A extends (Math.pow(a, b)) {}) ``` ``` invalidClass.ts:3:18 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. 1 │ // @ts-nocheck 2 │ class C extends Math.pow(a, b) implements Foo {} > 3 │ (class A extends Math.pow(a, b) implements Foo {}) │ ^^^^^^^^^^^^^^ 4 │ (class A extends (Math.pow(a, b)) {}) 5 │ class C extends (Math.pow(a, b)) implements Foo, Bar {} i Unsafe fix: Use the '**' operator instead of 'Math.pow'. 1 1 │ // @ts-nocheck 2 2 │ class C extends Math.pow(a, b) implements Foo {} 3 │ - (class·A·extends·Math.pow(a,·b)·implements·Foo·{}) 3 │ + (class·A·extends·(a·**·b)·implements·Foo·{}) 4 4 │ (class A extends (Math.pow(a, b)) {}) 5 5 │ class C extends (Math.pow(a, b)) implements Foo, Bar {} ``` ``` invalidClass.ts:4:22 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. 2 │ class C extends Math.pow(a, b) implements Foo {} 3 │ (class A extends Math.pow(a, b) implements Foo {}) > 4 │ (class A extends (Math.pow(a, b)) {}) │ ^^^^^^^^^^^^^^ 5 │ class C extends (Math.pow(a, b)) implements Foo, Bar {} 6 │ i Unsafe fix: Use the '**' operator instead of 'Math.pow'. 2 2 │ class C extends Math.pow(a, b) implements Foo {} 3 3 │ (class A extends Math.pow(a, b) implements Foo {}) 4 │ - (class·A·extends·(Math.pow(a,·b))·{}) 4 │ + (class·A·extends·(a·**·b)·{}) 5 5 │ class C extends (Math.pow(a, b)) implements Foo, Bar {} 6 6 │ ``` ``` invalidClass.ts:5:21 lint/style/useExponentiationOperator FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! Use the '**' operator instead of 'Math.pow'. 3 │ (class A extends Math.pow(a, b) implements Foo {}) 4 │ (class A extends (Math.pow(a, b)) {}) > 5 │ class C extends (Math.pow(a, b)) implements Foo, Bar {} │ ^^^^^^^^^^^^^^ 6 │ i Unsafe fix: Use the '**' operator instead of 'Math.pow'. 3 3 │ (class A extends Math.pow(a, b) implements Foo {}) 4 4 │ (class A extends (Math.pow(a, b)) {}) 5 │ - class·C·extends·(Math.pow(a,·b))·implements·Foo,·Bar·{} 5 │ + class·C·extends·(a·**·b)·implements·Foo,·Bar·{} 6 6 │ ```