Mercurial > projects > ldc
annotate ir/irsymbol.h @ 1599:0a4be54234d6
Revert fix by Robert for downs as it causes a segfault when compiling tango.
author | Kelly Wilson <wilsonk cpsc.ucalgary.ca> |
---|---|
date | Wed, 23 Dec 2009 22:49:20 -0700 |
parents | 46f6365a50d7 |
children |
rev | line source |
---|---|
1150
2a687353c84d
Added missing new files.
Tomas Lindquist Olsen <tomas.l.olsen gmail.com>
parents:
diff
changeset
|
1 #ifndef __LDC_IR_IRSYMBOL_H__ |
2a687353c84d
Added missing new files.
Tomas Lindquist Olsen <tomas.l.olsen gmail.com>
parents:
diff
changeset
|
2 #define __LDC_IR_IRSYMBOL_H__ |
2a687353c84d
Added missing new files.
Tomas Lindquist Olsen <tomas.l.olsen gmail.com>
parents:
diff
changeset
|
3 |
2a687353c84d
Added missing new files.
Tomas Lindquist Olsen <tomas.l.olsen gmail.com>
parents:
diff
changeset
|
4 #include "ir/ir.h" |
2a687353c84d
Added missing new files.
Tomas Lindquist Olsen <tomas.l.olsen gmail.com>
parents:
diff
changeset
|
5 |
2a687353c84d
Added missing new files.
Tomas Lindquist Olsen <tomas.l.olsen gmail.com>
parents:
diff
changeset
|
6 /// Base class for all symbols. |
1364
46f6365a50d7
Added IrTypeFunction and IrTypeDelegate and eliminated IrDType. This means the Type::ir field can be removed. It's the final part needed for the move to a slightly more sane type system. Now the whole thing just needs to be cleaned up :P
Tomas Lindquist Olsen <tomas.l.olsen gmail com>
parents:
1150
diff
changeset
|
7 class IrSymbol |
1150
2a687353c84d
Added missing new files.
Tomas Lindquist Olsen <tomas.l.olsen gmail.com>
parents:
diff
changeset
|
8 { |
1364
46f6365a50d7
Added IrTypeFunction and IrTypeDelegate and eliminated IrDType. This means the Type::ir field can be removed. It's the final part needed for the move to a slightly more sane type system. Now the whole thing just needs to be cleaned up :P
Tomas Lindquist Olsen <tomas.l.olsen gmail com>
parents:
1150
diff
changeset
|
9 public: |
1150
2a687353c84d
Added missing new files.
Tomas Lindquist Olsen <tomas.l.olsen gmail.com>
parents:
diff
changeset
|
10 /// |
2a687353c84d
Added missing new files.
Tomas Lindquist Olsen <tomas.l.olsen gmail.com>
parents:
diff
changeset
|
11 IrSymbol(Ir* ir) : ir(ir) {} |
2a687353c84d
Added missing new files.
Tomas Lindquist Olsen <tomas.l.olsen gmail.com>
parents:
diff
changeset
|
12 |
2a687353c84d
Added missing new files.
Tomas Lindquist Olsen <tomas.l.olsen gmail.com>
parents:
diff
changeset
|
13 /// Migrate symbols to current module if necessary. |
2a687353c84d
Added missing new files.
Tomas Lindquist Olsen <tomas.l.olsen gmail.com>
parents:
diff
changeset
|
14 virtual void migrate() = 0; |
2a687353c84d
Added missing new files.
Tomas Lindquist Olsen <tomas.l.olsen gmail.com>
parents:
diff
changeset
|
15 |
2a687353c84d
Added missing new files.
Tomas Lindquist Olsen <tomas.l.olsen gmail.com>
parents:
diff
changeset
|
16 protected: |
2a687353c84d
Added missing new files.
Tomas Lindquist Olsen <tomas.l.olsen gmail.com>
parents:
diff
changeset
|
17 /// |
2a687353c84d
Added missing new files.
Tomas Lindquist Olsen <tomas.l.olsen gmail.com>
parents:
diff
changeset
|
18 Ir* ir; |
2a687353c84d
Added missing new files.
Tomas Lindquist Olsen <tomas.l.olsen gmail.com>
parents:
diff
changeset
|
19 }; |
2a687353c84d
Added missing new files.
Tomas Lindquist Olsen <tomas.l.olsen gmail.com>
parents:
diff
changeset
|
20 |
2a687353c84d
Added missing new files.
Tomas Lindquist Olsen <tomas.l.olsen gmail.com>
parents:
diff
changeset
|
21 #endif |