protected override IBlockNode FinishParsing(DBlockNode tempBlock, DParser p) { DoubleDeclarationSilencer.RemoveDoubles(finalParentBlock, tempBlock); tempBlock.Parent = finalParentBlock; return(tempBlock); }
public static void RemoveDoubles(IBlockNode originalAst, IBlockNode blockToClean) { var rem = new DoubleDeclarationSilencer(); originalAst.Accept(rem); rem.secondRun = true; blockToClean.Accept(rem); }
protected override IBlockNode FinishParsing(BlockStatement tempBlockStmt, DParser p) { DoubleDeclarationSilencer.RemoveDoubles(finalParentMethod, tempParentBlock); tempParentBlock.Parent = finalParentMethod; return(tempParentBlock); }