final
object
ExtractorTreeMaker
Make a TreeMaker that will result in an extractor call specified by extractor
the next TreeMaker (here, we don't know which it'll be) is chained after this one by flatMap'ing
a function with binder nextBinder
over our extractor's result
the function's body is determined by the next TreeMaker
(furthermore, the interpretation of flatMap
depends on the codegen instance we're using).
The values for the subpatterns, as computed by the extractor call in extractor
,
are stored in local variables that re-use the symbols in subPatBinders
.
This makes extractor patterns more debuggable (SI-5739).
Constructors
Members
def
apply
(
extractor:
Tree
,
extraCond:
Option
[
Tree
]
,
nextBinder:
Symbol
)
(
subPatBinders:
List
[
Symbol
]
,
subPatRefs:
List
[
Tree
]
,
extractorReturnsBoolean:
Boolean
,
checkedLength:
Option
[
Int
]
,
prevBinder:
Symbol
,
ignoredSubPatBinders:
Set
[
Symbol
]
)
: ExtractorTreeMaker
def
unapply
(
x$1:
ExtractorTreeMaker
)
: ExtractorTreeMaker