@samitouri / QOS-React-2 / commits / 12274f30b9

[be] Inline buildMutatedDeps

Sathya Gunasekaran committed Feb 2, 2023 at 14:05 UTC 12274f30b9ce08179416345b425a5df041c257d4
1 file changed +10 -24
compiler/forget/src/Inference/AnalyseFunctions.ts
+10 -24
@@ -77,49 +77,35 @@ function infer(
77 properties: Map<Identifier, Dependency>
78 ) {
79 const func = value.loweredFunc;
80 - const mutations: Array<Place> = func.context.filter((dep) =>
81 - isMutated(dep.identifier)
82 - );
83 - value.mutatedDeps = buildMutatedDeps(
84 - mutations,
85 - value.dependencies,
86 - properties
87 - );
88 -}
89 -
90 -function isMutated(id: Identifier) {
91 - return id.mutableRange.end - id.mutableRange.start > 1;
92 -}
93 -
94 -function buildMutatedDeps(
95 - mutations: Place[],
96 - capturedDeps: Place[],
97 - properties: Map<Identifier, Dependency>
98 -): Place[] {
99 - const mutatedIds: Set<string> = new Set(
80 + const mutations = func.context.filter((dep) => isMutated(dep.identifier));
81 + const mutatedVariables = new Set(
82 mutations
83 .map((m) => m.identifier.name)
84 .filter((m) => m !== null) as string[]
85 );
86 const mutatedDeps: Place[] = [];
87
106 - for (const dep of capturedDeps) {
88 + for (const dep of value.dependencies) {
89 if (properties.has(dep.identifier)) {
90 let captured = properties.get(dep.identifier)!;
91 let name = captured.place.identifier.name;
92
111 - if (name === null || !mutatedIds.has(name)) {
93 + if (name === null || !mutatedVariables.has(name)) {
94 continue;
95 }
96
97 mutatedDeps.push(dep);
98 } else if (
99 dep.identifier.name !== null &&
118 - mutatedIds.has(dep.identifier.name)
100 + mutatedVariables.has(dep.identifier.name)
101 ) {
102 mutatedDeps.push(dep);
103 }
104 }
105
124 - return mutatedDeps;
106 + value.mutatedDeps = mutatedDeps;
107 +}
108 +
109 +function isMutated(id: Identifier) {
110 + return id.mutableRange.end - id.mutableRange.start > 1;
111 }