/// <summary> /// Expand given statement into program point chain /// </summary> /// <param name="statement">Expanded statement</param> /// <param name="onPointCreated">Handler called for every created program point</param> /// <returns>Created program poitn chain</returns> public static ProgramPointBase[] ExpandStatement(LangElement statement, OnPointCreated onPointCreated) { var expander = new ElementExpander(); expander.Expand(statement); var expandedChain = expander.createPointsChain().ToArray(); registerCreatedPoints(expandedChain, onPointCreated); return(expandedChain); }
internal RValueFactory(ElementExpander valueCreator) { _valueCreator = valueCreator; }