IWorkshopTree ToMacro(ActionSet actionSet) { var allMacros = new List <VariableInstanceOption>(); allMacros.Add(new VariableInstanceOption(this)); // Get the class relation. if (_definedIn != null) { var relation = actionSet.ToWorkshop.ClassInitializer.RelationFromClassType((ClassType)_definedIn); // Extract the virtual functions. allMacros.AddRange(relation.ExtractOverridenElements <VariableInstance>(extender => extender.Name == Name) .Select(extender => new VariableInstanceOption(extender))); } return(new MacroContentBuilder(actionSet.PackThis(), allMacros).Value); }
public virtual void AssignParameters() { ActionSet = ActionSet.PackThis(); }
public void ParseInner(ActionSet actionSet) => _constructor.Block.Translate(actionSet.PackThis());
public override void Parse(ActionSet actionSet, IWorkshopTree[] parameterValues, object[] additionalParameterData) { var builder = new FunctionBuildController(actionSet.PackThis(), new CallHandler(parameterValues), new ConstructorDeterminer(this)); builder.Call(); }