Example #1
0
 private static AstGetSet _prepareMacro(MacroContext context,
     AstExpr macroSpec, AstExpr call, AstExpr justEffect,
     IEnumerable<AstExpr> args)
 {
     var getContext = context.Factory.IndirectCall(context.Invocation.Position,
                                                   context.Factory.Call(context.Invocation.Position,
                                                                        EntityRef.Variable.Local.Create(
                                                                            MacroAliases.ContextAlias)));
     var prepareCall =
         context.CreateExpand(EntityRef.MacroCommand.Create(CallMacroPerform.PartialCallMacroPerform.Alias));
     prepareCall.Arguments.Add(macroSpec);
     prepareCall.Arguments.Add(getContext);
     prepareCall.Arguments.Add(call);
     prepareCall.Arguments.Add(justEffect);
     prepareCall.Arguments.AddRange(args);
     return prepareCall;
 }