diff basic/Messages.d @ 99:857f0d530789 new_gen

Imports and improved module statement Allow "module a.b.c" Supports most forms of D's import. import A, B; import A, B = C; import A, B : a = b, c;
author Anders Halager <halager@gmail.com>
date Tue, 06 May 2008 21:59:22 +0200
parents 771ac63898e2
children 5f258eaf9517
line wrap: on
line diff
--- a/basic/Messages.d	Tue May 06 21:55:29 2008 +0200
+++ b/basic/Messages.d	Tue May 06 21:59:22 2008 +0200
@@ -2,11 +2,14 @@
 
 enum : uint
 {
+    // Lex
     InvalidSymbol,
     InvalidIlligaleType,
     UnexpectedEOFBlock,
     OnlyOneDotFloating,
     OnlyOneEFloating,
+
+    // Parse
     UnexpectedTokMulti,
     UnexpectedTokSingle,
     UnexpectedTok,
@@ -18,6 +21,9 @@
     ExpectedCastType,
     InvalidDeclType,
     InvalidType,
+    //   - imports/module
+    ExpectedIdAfterPackage,
+    RenameMustBeSingleIdent,
 }
 
 enum MessageType
@@ -33,24 +39,30 @@
     MessageType type;
     char[] message;
 }
-
+    
+private alias MessageType.Error Err;
+private alias MessageType.Warning War;
+private alias MessageEntry E;
 static this()
 {
     Messages = [
-        UnexpectedEOFBlock  : MessageEntry(MessageType.Error, "Unexpected end of file. Unclosed comment block"),
-        InvalidSymbol       : MessageEntry(MessageType.Error, "Read invalid symbol: '%0'"),
-        OnlyOneDotFloating  : MessageEntry(MessageType.Error, "Only one '.' is allowed in an floating number"),
-        OnlyOneEFloating    : MessageEntry(MessageType.Error, "Only one E is allowed in an floating number"),
-        UnexpectedTokMulti  : MessageEntry(MessageType.Error, "Unexpected token, got %0 expected one of %1"),
-        UnexpectedTokSingle : MessageEntry(MessageType.Error, "Unexpected token, got %0 expected %1"),
-        UnexpectedTok       : MessageEntry(MessageType.Error, "Unexpected token %0"),
-        CaseValueMustBeInt  : MessageEntry(MessageType.Error, "Cases can only be integer literals"),
-        UnexpectedBeginStmt : MessageEntry(MessageType.Error, "Unexpected begining of statement."),
-        UnexpectedTokType   : MessageEntry(MessageType.Error, "Unexpected token in Type parsing. Got %0"),
-        ExpectedIdAfterDot  : MessageEntry(MessageType.Error, "Expected identifier after '.'"),
-        ExpectedExp         : MessageEntry(MessageType.Error, "Expected expression"),
-        ExpectedCastType    : MessageEntry(MessageType.Error, "Expected cast type"),
-        InvalidDeclType     : MessageEntry(MessageType.Error, "Invalid declaration type"),
-        InvalidType         : MessageEntry(MessageType.Error, "Invalid type")
+        UnexpectedEOFBlock  : E(Err, "Unexpected end of file. Unclosed comment block"),
+        InvalidSymbol       : E(Err, "Read invalid symbol: '%0'"),
+        OnlyOneDotFloating  : E(Err, "Only one '.' is allowed in an floating number"),
+        OnlyOneEFloating    : E(Err, "Only one E is allowed in an floating number"),
+
+        UnexpectedTokMulti  : E(Err, "Unexpected token, got %0 expected one of %1"),
+        UnexpectedTokSingle : E(Err, "Unexpected token, got %0 expected %1"),
+        UnexpectedTok       : E(Err, "Unexpected token %0"),
+        CaseValueMustBeInt  : E(Err, "Cases can only be integer literals"),
+        UnexpectedBeginStmt : E(Err, "Unexpected begining of statement."),
+        UnexpectedTokType   : E(Err, "Unexpected token in Type parsing. Got %0"),
+        ExpectedIdAfterDot  : E(Err, "Expected identifier after '.'"),
+        ExpectedExp         : E(Err, "Expected expression"),
+        ExpectedCastType    : E(Err, "Expected cast type"),
+        InvalidDeclType     : E(Err, "Invalid declaration type"),
+        InvalidType         : E(Err, "Invalid type"),
+        ExpectedIdAfterPackage : E(Err, "Identifier expected following package")
     ];
 }
+