Repository navigation
Conversation
0488cd6 to
6a91e73
Compare
6a91e73 to
19d3c02
Compare
| NESTING_REGEX.matchEntire(name)?.let { match -> | ||
| name = match.groups["root"]!!.value.trim() | ||
| nextDepth = Quantifier.parse(match.groups["nextDepth"]!!.value) ?: return null | ||
| next = parse(match.groups["next"]!!.value) ?: return null |
There was a problem hiding this comment.
Maybe we can have a recursion limit here? Don't want to throw exceptions in the IDE in case someone does something silly. Although my attempts to create a stack overflow made the IDE slow for other reasons
There was a problem hiding this comment.
I could probably make it iterative if you think it matters, I'd be baffled if anyone nested more than two or three
There was a problem hiding this comment.
I think it's better to put the limit in the parsing, other things are also recursive based on this
There was a problem hiding this comment.
Ah I did actually manage to make a stack overflow lol
There was a problem hiding this comment.
I don't think anything else except the toString is recursive, could just fix them both
Full resolution and completion support for lambda selectors, along with some related bugfixes. Commits best consumed individually.
Demo:
lambdaselectors2.mp4
Currently intermediate levels' quantifiers' min values are not checked, reporting this properly would be quite difficult and it is unlikely to be used by anyone anyway. This along with reporting failed quantifier minima in a more user-friendly way is left as future work.