annotate trunk/src/dil/ast/Expression.d @ 791:5fe89bb8cbdd

Implemented syntax tree copying.
author Aziz K?ksal <aziz.koeksal@gmail.com>
date Tue, 26 Feb 2008 20:13:41 +0100
parents 5e3ef1b2011c
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
621
2ac14bb6b84e Moved class dil.ast.Expression to its own module.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
1 /++
2ac14bb6b84e Moved class dil.ast.Expression to its own module.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
2 Author: Aziz Köksal
2ac14bb6b84e Moved class dil.ast.Expression to its own module.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
3 License: GPL3
2ac14bb6b84e Moved class dil.ast.Expression to its own module.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
4 +/
2ac14bb6b84e Moved class dil.ast.Expression to its own module.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
5 module dil.ast.Expression;
2ac14bb6b84e Moved class dil.ast.Expression to its own module.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
6
2ac14bb6b84e Moved class dil.ast.Expression to its own module.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
7 import dil.ast.Node;
2ac14bb6b84e Moved class dil.ast.Expression to its own module.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
8 import dil.semantic.Types;
2ac14bb6b84e Moved class dil.ast.Expression to its own module.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
9 import common;
2ac14bb6b84e Moved class dil.ast.Expression to its own module.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
10
645
89ee7802c978 Moved semantic() methods of expressions to class SemanticPass1.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 621
diff changeset
11 /// The root class of all expressions.
621
2ac14bb6b84e Moved class dil.ast.Expression to its own module.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
12 abstract class Expression : Node
2ac14bb6b84e Moved class dil.ast.Expression to its own module.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
13 {
769
5e3ef1b2011c Added and improved documentation.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 684
diff changeset
14 Type type; /// The semantic type of this expression.
621
2ac14bb6b84e Moved class dil.ast.Expression to its own module.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
15
2ac14bb6b84e Moved class dil.ast.Expression to its own module.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
16 this()
2ac14bb6b84e Moved class dil.ast.Expression to its own module.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
17 {
2ac14bb6b84e Moved class dil.ast.Expression to its own module.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
18 super(NodeCategory.Expression);
2ac14bb6b84e Moved class dil.ast.Expression to its own module.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
19 }
791
5fe89bb8cbdd Implemented syntax tree copying.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 769
diff changeset
20
5fe89bb8cbdd Implemented syntax tree copying.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 769
diff changeset
21 override abstract Expression copy();
621
2ac14bb6b84e Moved class dil.ast.Expression to its own module.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
22 }