Extract Object Field Decision Step
This is a DecisionStep which extracts one field from an argument or extra, and adds it to the list of extras, for subsequent dispatching. This new value should have a useful subsequent dispatching power, otherwise there would be no point in extracting it.
The InternalLookupTree containing this step will have exactly one child.
Constructors
Construct the new instance.
Functions
Add the children LookupTrees, coupled with the available L2SemanticValues at that point, to the given list.
Output a description of this step on the given builder. Do not expand any subtrees that are still lazy.
Generate suitable branch instructions via the CallSiteHelper, and answer a list of Triples that coordinate each target L2BasicBlock with the LookupTree responsible for generating code in that block, plus the list of extra L2SemanticValues that will be present at that block.
Perform one step of looking up the most-specific Result that matches the provided tuple of argument types. Answer another LookupTree with which to continue the search.
Perform one step of looking up the most-specific Result that matches the provided list of argument types. Answer another LookupTree with which to continue the search.
Perform one step of looking up the most-specific Result that matches the provided value. Answer another LookupTree with which to continue the search.
Perform one step of looking up the most-specific Result that matches the provided list of arguments. Answer another LookupTree with which to continue the search.
Add the children LookupTrees to the given list. This can be used for scanning the tree for some condition, without recursion.
Extract the L2SemanticValue that is providing the value operated on by this step.
Given an optional list of values used to supplement the lookup, answer the updated list of values that takes this step into account. The given and resulting lists must not be modified by subsequent steps.
Given an optional list of values used to supplement the lookup, answer the updated list of values that takes this step into account. The given and resulting lists must not be modified by subsequent steps.
Given an optional list of values used to supplement the lookup, answer the updated list of values that takes this step into account. The given and resulting lists must not be modified by subsequent steps.
Given a function that produces a list of types from an Element due to an ancestor tree node, produce a new function for producing a lists of types that takes this DecisionStep into account. The function also optionally produces the type signature of the element, for reuse by subsequent wrapped functions.