gnu.expr
Interface CanInline
- All Known Implementing Classes:
- AddOp, AncestorAxis, AncestorOrSelfAxis, AppendValues, ApplyToArgs, ArithOp, AttributeAxis, BooleanValue, CastableAs, CastAs, ChildAxis, Compare, ConstantFunction0, Convert, DescendantAxis, DescendantOrSelfAxis, DivideOp, FollowingAxis, FollowingSiblingAxis, GetNamedInstancePart, GetNamedPart, InstanceOf, Invoke, IsEqv, MakeProcedure, MakeUnescapedData, map, MultiplyOp, NumberCompare, OrderedMap, ParentAxis, PrecedingAxis, PrecedingSiblingAxis, RelativeStep, SelfAxis, SetNamedPart, Setter, SlotGet, SlotSet, TreeScanner, TypeSwitch, ValuesFilter, ValuesMap
public interface CanInline
Inline an application, at the Expression level.
In contrast, Inlineable is done at code generation time.
inline
Expression inline(ApplyExp exp,
InlineCalls walker,
boolean argsInlined)
- Inline an application of this Procedure and return result.
Unless
argsInlined
is true, then this method
is responsible for walking exp.getArgs()
;
you can handle this using exp.getArgs(walker, argsInlined)
.
(The exp.getFunction()
has been walked, regardless.)
- Parameters:
argsInlined
- true if the arguments have been inlined.
Can return original expression.