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":