Mercurial > projects > dil
comparison trunk/src/main.d @ 714:140469ecb90e
Added code and applied fixes.
Added getDDocText() and isLineComment().
Renamed getDocComments() to getDocTokens(). Fixed it as well.
printSymbolTable() is called recursively now.
Fixed genAnonymousID().
author | Aziz K?ksal <aziz.koeksal@gmail.com> |
---|---|
date | Thu, 31 Jan 2008 01:10:30 +0100 |
parents | d75aad38d1b2 |
children | ca7607226caa |
comparison
equal
deleted
inserted
replaced
713:1bfae3480fdc | 714:140469ecb90e |
---|---|
61 | 61 |
62 // Start semantic analysis. | 62 // Start semantic analysis. |
63 auto pass1 = new SemanticPass1(mod); | 63 auto pass1 = new SemanticPass1(mod); |
64 pass1.start(); | 64 pass1.start(); |
65 | 65 |
66 void printSymbolTable(ScopeSymbol scopeSym) | 66 void printSymbolTable(ScopeSymbol scopeSym, char[] indent) |
67 { | 67 { |
68 foreach (member; scopeSym.members) | 68 foreach (member; scopeSym.members) |
69 { | 69 { |
70 auto tokens = getDocComments(member.node); | 70 auto tokens = getDocTokens(member.node); |
71 char[] docText; | 71 char[] docText; |
72 foreach (token; tokens) | 72 foreach (token; tokens) |
73 docText ~= token.srcText; | 73 docText ~= token.srcText; |
74 Stdout.formatln("Id:{}, Symbol:{}, DocText:{}", member.name.str, member.classinfo.name, docText); | 74 Stdout(indent).formatln("Id:{}, Symbol:{}, DocText:{}", member.name.str, member.classinfo.name, docText); |
75 if (auto s = cast(ScopeSymbol)member) | |
76 printSymbolTable(s, indent ~ "→ "); | |
75 } | 77 } |
76 } | 78 } |
77 | 79 |
78 printSymbolTable(mod); | 80 printSymbolTable(mod, ""); |
79 } | 81 } |
80 | 82 |
81 printErrors(infoMan); | 83 printErrors(infoMan); |
82 break; | 84 break; |
83 case "gen", "generate": | 85 case "gen", "generate": |