# HG changeset patch # User Anders Halager # Date 1208685220 -7200 # Node ID 3147a52d12477d807e5b3c8278b6c3a6a5c47755 # Parent 41d23f2762c319da33da7fe66003d432d24f6223 Ooops.. should have compiled before commit.. now works again diff -r 41d23f2762c3 -r 3147a52d1247 parser/Parser.d --- a/parser/Parser.d Sun Apr 20 11:47:34 2008 +0200 +++ b/parser/Parser.d Sun Apr 20 11:53:40 2008 +0200 @@ -70,12 +70,12 @@ return new VarDecl(type, identifier, exp); default: char[] c = t.getType; - error(__LINE__, "Unexpexted token %0").arg(c); + throw error(__LINE__, "Unexpexted token %0").arg(c); } break; default: char[] c = t.getType; - error(__LINE__, "Unexpexted token %0", &iden).arg(c); + throw error(__LINE__, "Unexpexted token %0", &iden).arg(c); } break; case Tok.Struct: @@ -136,19 +136,19 @@ return new VarDecl(type, identifier, exp); default: char[] c = t.getType; - error("Unexpexted token "~c~" at line "~Integer.toString(__LINE__)); + throw error(__LINE__, "Unexpexted token %0").arg(c); } break; default: char[] c = t.getType; - error("Unexpexted token "~c~" at line "~Integer.toString(__LINE__)); + throw error(__LINE__, "Unexpexted token %0").arg(c); } break; case Tok.EOF: return null; default: char[] c = t.getType; - error("Unexpexted token "~c~" at line "~Integer.toString(__LINE__)); + throw error(__LINE__, "Unexpexted token %0").arg(c); } } @@ -332,7 +332,8 @@ return parseExpIdentifier( new MemberLookup(target, new Identifier(lexer.next))); default: - throw new Error("Expected identifier after '.'", lexer.peek(1).location); + Token t = lexer.peek(1); + throw error(__LINE__, "Expected identifier after '.'", &t); } default: return target; diff -r 41d23f2762c3 -r 3147a52d1247 sema/Declarations.d --- a/sema/Declarations.d Sun Apr 20 11:47:34 2008 +0200 +++ b/sema/Declarations.d Sun Apr 20 11:53:40 2008 +0200 @@ -54,7 +54,10 @@ auto child = m.child; auto st = cast(DStruct)(target.env.find(target).type); if((child.get in st.members) == null) - throw new Error("Undefined member in "~target.get~" with type "~st.name,st.getLoc); + throw error(__LINE__, "Undefined member in %0 with type %1") + .arg(target.get) + .arg(st.name) + .loc(st.getLoc); } }