annotate misc/Error.d @ 24:2d28b21faad6 new_gen

New codegen! Rewritten codegen to use the llvm bindings Everything except struct are back to normal, and there a a few additions. 1. Correct code in more cases, return at the end of a while/if wont generate a "ret" followed by a "br". 2. Better scope, "int x = x" now illegal 3. Probably more
author Anders Halager <halager@gmail.com>
date Sat, 19 Apr 2008 18:29:42 +0200
parents 606a57c90a0b
children 41d23f2762c3
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
1 module misc.Error;
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
2
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
3 import misc.Location;
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
4
6
606a57c90a0b Now lexing == as Equals
johnsen@johnsen-desktop
parents: 1
diff changeset
5 import tango.core.Exception;
606a57c90a0b Now lexing == as Equals
johnsen@johnsen-desktop
parents: 1
diff changeset
6
606a57c90a0b Now lexing == as Equals
johnsen@johnsen-desktop
parents: 1
diff changeset
7 class Error : Exception
1
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
8 {
6
606a57c90a0b Now lexing == as Equals
johnsen@johnsen-desktop
parents: 1
diff changeset
9 char[] message;
1
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
10 Location errorLocation;
6
606a57c90a0b Now lexing == as Equals
johnsen@johnsen-desktop
parents: 1
diff changeset
11
606a57c90a0b Now lexing == as Equals
johnsen@johnsen-desktop
parents: 1
diff changeset
12 this(char[] message, Location errorLocation)
606a57c90a0b Now lexing == as Equals
johnsen@johnsen-desktop
parents: 1
diff changeset
13 {
24
2d28b21faad6 New codegen!
Anders Halager <halager@gmail.com>
parents: 6
diff changeset
14 super(errorLocation.toString ~ " " ~ message);
6
606a57c90a0b Now lexing == as Equals
johnsen@johnsen-desktop
parents: 1
diff changeset
15 this.message = message;
606a57c90a0b Now lexing == as Equals
johnsen@johnsen-desktop
parents: 1
diff changeset
16 this.errorLocation = errorLocation;
606a57c90a0b Now lexing == as Equals
johnsen@johnsen-desktop
parents: 1
diff changeset
17 }
1
2168f4cb73f1 First push
johnsen@johnsen-desktop
parents:
diff changeset
18 }