Mercurial > projects > dil
diff trunk/src/cmd/ASTStats.d @ 672:d422e5f2f3ea
Added '--asttable' option to command 'statistics'.
author | Aziz K?ksal <aziz.koeksal@gmail.com> |
---|---|
date | Fri, 18 Jan 2008 00:30:14 +0100 |
parents | 3bd947eb72c2 |
children | e4b60543c5e8 |
line wrap: on
line diff
--- a/trunk/src/cmd/ASTStats.d Thu Jan 17 22:57:36 2008 +0100 +++ b/trunk/src/cmd/ASTStats.d Fri Jan 18 00:30:14 2008 +0100 @@ -5,7 +5,11 @@ module cmd.ASTStats; import dil.ast.DefaultVisitor; -import dil.ast.Node; +import dil.ast.Node, + dil.ast.Declaration, + dil.ast.Statement, + dil.ast.Expression, + dil.ast.Types; class ASTStats : DefaultVisitor { @@ -18,5 +22,35 @@ return table; } - // TODO: add visit methods. + // Override dispatch functions. +override: + Declaration visitD(Declaration n) + { + table[n.kind]++; + return super.visitD(n); + } + + Statement visitS(Statement n) + { + table[n.kind]++; + return super.visitS(n); + } + + Expression visitE(Expression n) + { + table[n.kind]++; + return super.visitE(n); + } + + TypeNode visitT(TypeNode n) + { + table[n.kind]++; + return super.visitT(n); + } + + Node visitN(Node n) + { + table[n.kind]++; + return super.visitN(n); + } }