Add flag back for inlineUseMemo

Reverts #1502, but flips test flags (e.g. `inlineUseMemo` by default, unless a 
test specifies `@inlineUseMemo false`. I figured this add less thrash for test 
fixtures, but happy to just do a clean revert (or remove the pragma altogether 
and always pass `inlineUseMemo: true`)
This commit is contained in:
mofeiZ
2023-05-15 14:27:26 -04:00
parent f57ed15a33
commit 8bf1ec97a4
5 changed files with 12 additions and 3 deletions
+4 -2
View File
@@ -66,8 +66,10 @@ export function* run(
const hir = lower(func, env).unwrap();
yield log({ kind: "hir", name: "HIR", value: hir });
inlineUseMemo(hir);
yield log({ kind: "hir", name: "RewriteUseMemo", value: hir });
if (config?.inlineUseMemo) {
inlineUseMemo(hir);
yield log({ kind: "hir", name: "RewriteUseMemo", value: hir });
}
mergeConsecutiveBlocks(hir);
yield log({ kind: "hir", name: "MergeConsecutiveBlocks", value: hir });
+1
View File
@@ -40,6 +40,7 @@ export type EnvironmentConfig = Partial<{
customHooks: Map<string, Hook>;
memoizeJsxElements: boolean;
validateHooksUsage: boolean;
inlineUseMemo: boolean;
}>;
export class Environment {
@@ -56,6 +56,7 @@ describe("React Forget", () => {
],
]),
validateHooksUsage: true,
inlineUseMemo: options.environment?.inlineUseMemo ?? false,
},
logger: null,
gating: options.gating,
@@ -50,6 +50,7 @@ describe("React Forget (Disable memoization of JSX elements)", () => {
},
],
]),
inlineUseMemo: options.environment?.inlineUseMemo ?? false,
},
logger: null,
gating: options.gating,
@@ -94,6 +94,7 @@ export default function generateTestsFromFixtures(
let debug = false;
let enableOnlyOnUseForgetDirective = false;
let gating: GatingOptions | null = null;
let inlineUseMemo = true;
let panicOnBailout = true;
if (inputFile != null) {
@@ -117,6 +118,9 @@ export default function generateTestsFromFixtures(
importSpecifierName: "isForgetEnabled_Fixtures",
};
}
if (lines[0]!.indexOf("@inlineUseMemo false") !== -1) {
inlineUseMemo = false;
}
if (lines[0]!.indexOf("@panicOnBailout false") !== -1) {
panicOnBailout = false;
}
@@ -126,7 +130,7 @@ export default function generateTestsFromFixtures(
let receivedOutput;
if (input !== null) {
receivedOutput = transform(input, basename, {
environment: {},
environment: { inlineUseMemo },
logger: null,
debug,
enableOnlyOnUseForgetDirective,