Make this. explicit

This commit is contained in:
Owen Mansel-Chan
2021-03-15 15:13:40 +00:00
parent ea7ecbaa55
commit f9c4e12c95

View File

@@ -654,14 +654,14 @@ module IR {
}
/** Holds if this extracts the `idx`th value of the result of `base`. */
predicate extractsElement(Instruction base, int idx) { base = getBase() and idx = i }
predicate extractsElement(Instruction base, int idx) { base = this.getBase() and idx = i }
override Type getResultType() {
exists(CallExpr c | getBase() = evalExprInstruction(c) |
exists(CallExpr c | this.getBase() = evalExprInstruction(c) |
result = c.getTarget().getResultType(i)
)
or
exists(TypeAssertExpr tae | getBase() = evalExprInstruction(tae) |
exists(TypeAssertExpr tae | this.getBase() = evalExprInstruction(tae) |
result = tae.getType().(TupleType).getComponentType(pragma[only_bind_into](i))
)
or