Exemplo n.º 1
0
        public void buildFrom(ICodeElement input)
        {
            codeBlock cb  = null;
            codeBlock cbi = null;
            syntaxBlockDeclaration sb;

            //foreach (syntaxRenderUnit ru in declaration.structure)
            //{
            //    sb = declaration.blocks.Find(x => x.name == ru.elementName);
            //    cb = new codeBlock(sb.name, sb);
            //    children.Add(cb);
            //    if (ru.mode == syntaxBlockRenderMode.inner)
            //    {
            //        flatBlocks.Add(cb);
            //    }
            //    cb.deployDeclaration(declaration);

            //    cbi = input.children.findElement(sb.name) as codeBlock;

            //    cb.buildFrom(cbi);

            //}

            foreach (var ie in input.children.items)
            {
                sb = declaration.blocks.find(ie.name);
                if (sb != null)
                {
                    cb = new codeBlock(ie.name, sb);
                    children.Add(cb);
                    if (sb.render == syntaxBlockRenderMode.inner)
                    {
                        flatBlocks.Add(cb);
                    }
                    cb.deployDeclaration(declaration);

                    //cbi = input[input.children.findElement(sb.name) as codeBlock;

                    cb.buildFrom(ie as codeBlock);
                }
                //cb = children.findElement(ie.name) as codeBlock;
                //if (cb == null)
                //{
                //    sb = declaration.blocks.find(ie.name);
                //    cb = new codeBlock(ie.name, sb);
                //    children.Add(cb);
                //    cb.deployDeclaration(input.declarationBase as syntaxDeclaration);
                //}
                //cb.buildFrom(ie);
            }

            //foreach (syntaxRenderUnit ru in declaration.structure)
            //{
            //    cb = input[ru.elementName]
            //    if (cb != null)
            //    {
            //        foreach (var cl in declaration.blocks.find(ru.elementName).lines)
            //        {
            //        }
            //    }
            //    sb = declaration.blocks.Find(x => x.name == ru.elementName);
            //    new codeBlock(sb.name, sb);
            //    children.Add(cb);
            //    if (ru.mode == syntaxBlockRenderMode.inner)
            //    {
            //        flatBlocks.Add(cb);
            //    }
            //    cb.deployDeclaration(declaration);
            //}

            //foreach (codeBlock sl in declaration.structure
            //{
            //    //output = output + sl.render(syntax).Trim(Environment.NewLine.ToCharArray()) + Environment.NewLine;
            //}
        }