public static IWorkshopTree Call(ActionSet actionSet, DefinedMacro macro, MethodCall call)
        {
            MacroBuilder builder = new MacroBuilder(actionSet, macro, call);

            builder.AssignParameters();
            return(builder.ParseInner());
        }
        public IWorkshopTree Parse(ActionSet actionSet, MethodCall methodCall)
        {
            actionSet = actionSet
                        .SetThisTypeLinker(methodCall.TypeArgs)
                        .MergeTypeLinker(InstanceInfo);

            if (Provider.Block != null)
            {
                return(WorkshopFunctionBuilder.Call(actionSet, methodCall, new UserFunctionController(actionSet.ToWorkshop, this, methodCall.TypeArgs)));
            }
            else
            {
                return(MacroBuilder.CallMacroFunction(actionSet, this, methodCall));
            }
        }