annotate ir/irsymbol.h @ 1612:081c48283153

Merge DMD r278: bugzilla 370 Compiler stack overflow on recursive... bugzilla 370 Compiler stack overflow on recursive typeof in function declaration. --- dmd/expression.c | 1 + dmd/mtype.c | 7 +++++-- 2 files changed, 6 insertions(+), 2 deletions(-)
author Leandro Lucarella <llucax@gmail.com>
date Wed, 06 Jan 2010 15:18:21 -0300
parents 46f6365a50d7
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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