public override SysDOM.Expression TransformFunction(SysDOM.FunctionCall expr) { var fspec = (FunctionSpec)expr.Callee; if (fspec.IntrinsicRep != null) { var ifun = fspec.IntrinsicRep; switch (ifun.Action) { case IntrinsicFunction.EAction.GetArrayElement: case IntrinsicFunction.EAction.Index: expr.Arguments = expr.Arguments.Take(1).Concat( expr.Arguments.Skip(1).Select(_ => MakeIntegerResult(_))) .ToArray(); return expr; } } return base.TransformFunction(expr); }
public override bool Rewrite(Meta.CodeDescriptor decompilee, System.Reflection.MethodBase callee, StackElement[] args, IDecompiler stack, SysDOM.IFunctionBuilder builder) { stack.Push(LiteralReference.CreateConstant(false), false); System.Diagnostics.Debugger.Break(); return true; }