From 084edadaa1fe173d2c89e022c570e0b1bcdc405e Mon Sep 17 00:00:00 2001 From: Joe Savona Date: Sun, 4 Jun 2023 11:41:42 -0700 Subject: [PATCH] Distinguish error fixtures for invalid code Renames some error fixtures for clarity, "error.invalid-*" are fixtures that are expected to fail for invalid input, where other "error.*" fixtures are basically todos. While i was here i clarified the error messages for invalid useMemo callbacks, and changes the error severity from Invariant to InvalidInput. --- compiler/forget/src/Inference/InlineUseMemo.ts | 8 ++++---- ...> error.invalid-mutate-after-aliased-freeze.expect.md} | 0 ...ze.js => error.invalid-mutate-after-aliased-freeze.js} | 0 ...ect.md => error.invalid-mutate-after-freeze.expect.md} | 0 ...ter-freeze.js => error.invalid-mutate-after-freeze.js} | 0 ...md => error.invalid-sketchy-code-use-forget.expect.md} | 0 ...forget.js => error.invalid-sketchy-code-use-forget.js} | 0 ....md => error.invalid-useMemo-async-callback.expect.md} | 2 +- ...allback.js => error.invalid-useMemo-async-callback.js} | 0 ...t.md => error.invalid-useMemo-callback-args.expect.md} | 2 +- ...ack-args.js => error.invalid-useMemo-callback-args.js} | 0 11 files changed, 6 insertions(+), 6 deletions(-) rename compiler/forget/src/__tests__/fixtures/compiler/{error.mutate-after-aliased-freeze.expect.md => error.invalid-mutate-after-aliased-freeze.expect.md} (100%) rename compiler/forget/src/__tests__/fixtures/compiler/{error.mutate-after-aliased-freeze.js => error.invalid-mutate-after-aliased-freeze.js} (100%) rename compiler/forget/src/__tests__/fixtures/compiler/{error.mutate-after-freeze.expect.md => error.invalid-mutate-after-freeze.expect.md} (100%) rename compiler/forget/src/__tests__/fixtures/compiler/{error.mutate-after-freeze.js => error.invalid-mutate-after-freeze.js} (100%) rename compiler/forget/src/__tests__/fixtures/compiler/{error.sketchy-code-use-forget.expect.md => error.invalid-sketchy-code-use-forget.expect.md} (100%) rename compiler/forget/src/__tests__/fixtures/compiler/{error.sketchy-code-use-forget.js => error.invalid-sketchy-code-use-forget.js} (100%) rename compiler/forget/src/__tests__/fixtures/compiler/{error.useMemo-async-callback.expect.md => error.invalid-useMemo-async-callback.expect.md} (63%) rename compiler/forget/src/__tests__/fixtures/compiler/{error.useMemo-async-callback.js => error.invalid-useMemo-async-callback.js} (100%) rename compiler/forget/src/__tests__/fixtures/compiler/{error.useMemo-callback-args.expect.md => error.invalid-useMemo-callback-args.expect.md} (63%) rename compiler/forget/src/__tests__/fixtures/compiler/{error.useMemo-callback-args.js => error.invalid-useMemo-callback-args.js} (100%) diff --git a/compiler/forget/src/Inference/InlineUseMemo.ts b/compiler/forget/src/Inference/InlineUseMemo.ts index 5a55ac9f70..46f96e6ef2 100644 --- a/compiler/forget/src/Inference/InlineUseMemo.ts +++ b/compiler/forget/src/Inference/InlineUseMemo.ts @@ -100,15 +100,15 @@ export function inlineUseMemo(fn: HIRFunction): void { } if (body.loweredFunc.params.length > 0) { - CompilerError.invariant( - "Did not expect any arguments to useMemo callback", + CompilerError.invalidInput( + "useMemo callbacks may not accept any arguments", body.loc ); } if (body.loweredFunc.async || body.loweredFunc.generator) { - CompilerError.invariant( - "Did not expect useMemo callback to be async or a generator", + CompilerError.invalidInput( + "useMemo callbacks may not be async or generator functions", body.loc ); } diff --git a/compiler/forget/src/__tests__/fixtures/compiler/error.mutate-after-aliased-freeze.expect.md b/compiler/forget/src/__tests__/fixtures/compiler/error.invalid-mutate-after-aliased-freeze.expect.md similarity index 100% rename from compiler/forget/src/__tests__/fixtures/compiler/error.mutate-after-aliased-freeze.expect.md rename to compiler/forget/src/__tests__/fixtures/compiler/error.invalid-mutate-after-aliased-freeze.expect.md diff --git a/compiler/forget/src/__tests__/fixtures/compiler/error.mutate-after-aliased-freeze.js b/compiler/forget/src/__tests__/fixtures/compiler/error.invalid-mutate-after-aliased-freeze.js similarity index 100% rename from compiler/forget/src/__tests__/fixtures/compiler/error.mutate-after-aliased-freeze.js rename to compiler/forget/src/__tests__/fixtures/compiler/error.invalid-mutate-after-aliased-freeze.js diff --git a/compiler/forget/src/__tests__/fixtures/compiler/error.mutate-after-freeze.expect.md b/compiler/forget/src/__tests__/fixtures/compiler/error.invalid-mutate-after-freeze.expect.md similarity index 100% rename from compiler/forget/src/__tests__/fixtures/compiler/error.mutate-after-freeze.expect.md rename to compiler/forget/src/__tests__/fixtures/compiler/error.invalid-mutate-after-freeze.expect.md diff --git a/compiler/forget/src/__tests__/fixtures/compiler/error.mutate-after-freeze.js b/compiler/forget/src/__tests__/fixtures/compiler/error.invalid-mutate-after-freeze.js similarity index 100% rename from compiler/forget/src/__tests__/fixtures/compiler/error.mutate-after-freeze.js rename to compiler/forget/src/__tests__/fixtures/compiler/error.invalid-mutate-after-freeze.js diff --git a/compiler/forget/src/__tests__/fixtures/compiler/error.sketchy-code-use-forget.expect.md b/compiler/forget/src/__tests__/fixtures/compiler/error.invalid-sketchy-code-use-forget.expect.md similarity index 100% rename from compiler/forget/src/__tests__/fixtures/compiler/error.sketchy-code-use-forget.expect.md rename to compiler/forget/src/__tests__/fixtures/compiler/error.invalid-sketchy-code-use-forget.expect.md diff --git a/compiler/forget/src/__tests__/fixtures/compiler/error.sketchy-code-use-forget.js b/compiler/forget/src/__tests__/fixtures/compiler/error.invalid-sketchy-code-use-forget.js similarity index 100% rename from compiler/forget/src/__tests__/fixtures/compiler/error.sketchy-code-use-forget.js rename to compiler/forget/src/__tests__/fixtures/compiler/error.invalid-sketchy-code-use-forget.js diff --git a/compiler/forget/src/__tests__/fixtures/compiler/error.useMemo-async-callback.expect.md b/compiler/forget/src/__tests__/fixtures/compiler/error.invalid-useMemo-async-callback.expect.md similarity index 63% rename from compiler/forget/src/__tests__/fixtures/compiler/error.useMemo-async-callback.expect.md rename to compiler/forget/src/__tests__/fixtures/compiler/error.invalid-useMemo-async-callback.expect.md index 7184c16a40..c178b99ce7 100644 --- a/compiler/forget/src/__tests__/fixtures/compiler/error.useMemo-async-callback.expect.md +++ b/compiler/forget/src/__tests__/fixtures/compiler/error.invalid-useMemo-async-callback.expect.md @@ -15,7 +15,7 @@ function component(a, b) { ## Error ``` -[ReactForget] Invariant: Did not expect useMemo callback to be async or a generator (2:4) +[ReactForget] InvalidInput: useMemo callbacks may not be async or generator functions (2:4) ``` \ No newline at end of file diff --git a/compiler/forget/src/__tests__/fixtures/compiler/error.useMemo-async-callback.js b/compiler/forget/src/__tests__/fixtures/compiler/error.invalid-useMemo-async-callback.js similarity index 100% rename from compiler/forget/src/__tests__/fixtures/compiler/error.useMemo-async-callback.js rename to compiler/forget/src/__tests__/fixtures/compiler/error.invalid-useMemo-async-callback.js diff --git a/compiler/forget/src/__tests__/fixtures/compiler/error.useMemo-callback-args.expect.md b/compiler/forget/src/__tests__/fixtures/compiler/error.invalid-useMemo-callback-args.expect.md similarity index 63% rename from compiler/forget/src/__tests__/fixtures/compiler/error.useMemo-callback-args.expect.md rename to compiler/forget/src/__tests__/fixtures/compiler/error.invalid-useMemo-callback-args.expect.md index 63ff18a41a..1c645155d3 100644 --- a/compiler/forget/src/__tests__/fixtures/compiler/error.useMemo-callback-args.expect.md +++ b/compiler/forget/src/__tests__/fixtures/compiler/error.invalid-useMemo-callback-args.expect.md @@ -13,7 +13,7 @@ function component(a, b) { ## Error ``` -[ReactForget] Invariant: Did not expect any arguments to useMemo callback (2:2) +[ReactForget] InvalidInput: useMemo callbacks may not accept any arguments (2:2) ``` \ No newline at end of file diff --git a/compiler/forget/src/__tests__/fixtures/compiler/error.useMemo-callback-args.js b/compiler/forget/src/__tests__/fixtures/compiler/error.invalid-useMemo-callback-args.js similarity index 100% rename from compiler/forget/src/__tests__/fixtures/compiler/error.useMemo-callback-args.js rename to compiler/forget/src/__tests__/fixtures/compiler/error.invalid-useMemo-callback-args.js