Pseudocode: Fix type predicate inference for values used inside of lambda
This commit is contained in:
@@ -161,4 +161,18 @@ private fun Instruction.calcSideEffectFree(): Boolean {
|
||||
|
||||
else -> false
|
||||
}
|
||||
}
|
||||
|
||||
fun Pseudocode.getElementValuesRecursively(element: JetElement): List<PseudoValue> {
|
||||
val results = ArrayList<PseudoValue>()
|
||||
|
||||
fun Pseudocode.collectValues() {
|
||||
getElementValue(element)?.let { results.add(it) }
|
||||
for (localFunction in getLocalDeclarations()) {
|
||||
localFunction.body.collectValues()
|
||||
}
|
||||
}
|
||||
|
||||
collectValues()
|
||||
return results
|
||||
}
|
||||
Reference in New Issue
Block a user