示例#1
0
        /// <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);
        }
示例#2
0
 internal RValueFactory(ElementExpander valueCreator)
 {
     _valueCreator = valueCreator;
 }