public override Expression TransformFunction(FunctionCall expr) { var cilRef = expr.QueryAttribute <ILIndexRef>(); PushCILRef(cilRef); IStorableLiteral retv; bool success = TryInline(expr.Callee, expr.Children, out retv); PopCILRef(cilRef); if (success) { return(new LiteralReference((Literal)retv)); } else { return(base.TransformFunction(expr)); } }
public override Expression TransformFunction(FunctionCall expr) { var cilRef = expr.QueryAttribute<ILIndexRef>(); PushCILRef(cilRef); IStorableLiteral retv; bool success = TryInline(expr.Callee, expr.Children, out retv); PopCILRef(cilRef); if (success) return new LiteralReference((Literal)retv); else return base.TransformFunction(expr); }