annotate ast/Module.d @ 136:2be29b296081

Lots of changes: - Parsing classes and interfaces - Fixed some seg faults in sema - Supporting "private" to some extend - And a lot of other small fixes
author johnsen@johnsen-laptop
date Fri, 11 Jul 2008 21:47:57 +0200
parents ed815b31479b
children 927ae00bd9d2
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
95
6aecbe5a7706 Added missing Module.d file.
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
1 module ast.Module;
6aecbe5a7706 Added missing Module.d file.
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
2
129
ed815b31479b Added a Symbol
Anders Halager <halager@gmail.com>
parents: 95
diff changeset
3 import sema.Scope,
ed815b31479b Added a Symbol
Anders Halager <halager@gmail.com>
parents: 95
diff changeset
4 sema.Symbol;
95
6aecbe5a7706 Added missing Module.d file.
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
5
6aecbe5a7706 Added missing Module.d file.
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
6 import ast.Decl;
6aecbe5a7706 Added missing Module.d file.
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
7
6aecbe5a7706 Added missing Module.d file.
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
8 class Module
6aecbe5a7706 Added missing Module.d file.
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
9 {
6aecbe5a7706 Added missing Module.d file.
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
10 this(char[] moduleName)
6aecbe5a7706 Added missing Module.d file.
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
11 {
6aecbe5a7706 Added missing Module.d file.
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
12 this.moduleName = moduleName;
6aecbe5a7706 Added missing Module.d file.
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
13 }
6aecbe5a7706 Added missing Module.d file.
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
14
6aecbe5a7706 Added missing Module.d file.
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
15 void addDecl(Decl decl)
6aecbe5a7706 Added missing Module.d file.
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
16 {
6aecbe5a7706 Added missing Module.d file.
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
17 decls ~= decl;
6aecbe5a7706 Added missing Module.d file.
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
18 }
6aecbe5a7706 Added missing Module.d file.
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
19
6aecbe5a7706 Added missing Module.d file.
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
20 Decl[] decls;
6aecbe5a7706 Added missing Module.d file.
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
21 char[] moduleName;
6aecbe5a7706 Added missing Module.d file.
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
22 Scope env;
129
ed815b31479b Added a Symbol
Anders Halager <halager@gmail.com>
parents: 95
diff changeset
23 Symbol symbol;
136
2be29b296081 Lots of changes:
johnsen@johnsen-laptop
parents: 129
diff changeset
24 bool outputModule = true;
95
6aecbe5a7706 Added missing Module.d file.
Anders Johnsen <skabet@gmail.com>
parents:
diff changeset
25 }
129
ed815b31479b Added a Symbol
Anders Halager <halager@gmail.com>
parents: 95
diff changeset
26