-
Notifications
You must be signed in to change notification settings - Fork 25
Replaced access path bases with access paths in backward dataflow #282
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
This comment was marked as resolved.
This comment was marked as resolved.
094d735
to
3f5fdde
Compare
usvm-ts-dataflow/src/main/kotlin/org/usvm/dataflow/ts/infer/BackwardAnalyzer.kt
Show resolved
Hide resolved
usvm-ts-dataflow/src/main/kotlin/org/usvm/dataflow/ts/infer/TypeInferenceManager.kt
Outdated
Show resolved
Hide resolved
usvm-ts-dataflow/src/main/kotlin/org/usvm/dataflow/ts/infer/TypeInferenceManager.kt
Outdated
Show resolved
Hide resolved
usvm-ts-dataflow/src/main/kotlin/org/usvm/dataflow/ts/infer/TypeInferenceManager.kt
Show resolved
Hide resolved
usvm-ts-dataflow/src/main/kotlin/org/usvm/dataflow/ts/infer/BackwardFlowFunctions.kt
Dismissed
Show dismissed
Hide dismissed
usvm-ts-dataflow/src/main/kotlin/org/usvm/dataflow/ts/infer/BackwardFlowFunctions.kt
Dismissed
Show dismissed
Hide dismissed
usvm-ts-dataflow/src/main/kotlin/org/usvm/dataflow/ts/infer/BackwardFlowFunctions.kt
Dismissed
Show dismissed
Hide dismissed
usvm-ts-dataflow/src/main/kotlin/org/usvm/dataflow/ts/infer/BackwardFlowFunctions.kt
Dismissed
Show dismissed
Hide dismissed
usvm-ts-dataflow/src/main/kotlin/org/usvm/dataflow/ts/infer/TypeGuesser.kt
Dismissed
Show dismissed
Hide dismissed
usvm-ts-dataflow/src/main/kotlin/org/usvm/dataflow/ts/infer/TypeInferenceManager.kt
Dismissed
Show dismissed
Hide dismissed
usvm-ts-dataflow/src/main/kotlin/org/usvm/dataflow/ts/infer/TypeInferenceManager.kt
Dismissed
Show dismissed
Hide dismissed
For the future reference: this PR disrupted the "saved types" trick for handling Below is the failing test with unresolved class CaseNew2 {
entrypoint() {
let x = new Something(); // unresolved
let y = x.foo; // use 'foo' field
this.infer(x);
}
infer(a: any): any {
const EXPECTED_ARG_0 = "Something { foo: any }";
}
} |
Replaced nested objects in backward dataflow with access paths, also get a performance increase.