Extract the main value from partial case
-
09-03-2021 - |
Question
Let's say I'm defining some cases to match, where I care only about verifying an argument:
BytecodeChains.partial {
case CallProperty(name, args) if name == someConstant => xxx
} ....
where the function signature is:
BytecodeChains.partial[A] (f: PartialFunction[AbstractOp, A]): ...
How can I return the whole matched CallProperty
object? I could create a new one, but that's a bit ugly. Is there some way to reference the original in place of xxx
?
Solution
case xxx @ CallProperty(name, args) if name == someConstant => xxx
You can also do this btw:
case xxx @ CallProperty(`someConstant`, args) => xxx
OTHER TIPS
Is this what you are looking for?
case c @ CallProperty(name, args) if name == someConstant => c
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow