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