Chris Lattner
c872bb4782
improve error recovery in {}'s by using less hacky recovery.
...
Swift SVN r836
2011-11-08 21:09:28 +00:00
Chris Lattner
b5c6fa8e21
split error recovery behavior out of parseDecl, making it more
...
conventional and allowing more appropriate recovery in various
caller's contexts.
Swift SVN r835
2011-11-08 21:05:10 +00:00
Chris Lattner
7e08140150
rearrange some code to use common predicates.
...
Swift SVN r834
2011-11-08 20:12:05 +00:00
Chris Lattner
bcd6f2f474
helper function-ize.
...
Swift SVN r833
2011-11-08 20:02:30 +00:00
Chris Lattner
9b7ec6785f
improve error recovery with mangled decls.
...
Swift SVN r832
2011-11-08 19:59:45 +00:00
Chris Lattner
eac219bee8
Rework the decl grammar a bit: now "decl" doesn't include import
...
declarations, but they are explicitly allowed at translation unit scope.
This also introduces a parseDecl method which does the obvious thing.
Swift SVN r830
2011-11-08 19:30:00 +00:00
Chris Lattner
b081915dd3
clean up the interface to parseDeclFunc, and fix a FIXME whereby the
...
'this' argument to protocol methods wasn't injected early enough to be
found by name lookup.
Swift SVN r822
2011-11-03 18:46:39 +00:00
Chris Lattner
9298082ebb
move Diagnostics header to include/swift/AST to match .cpp files.
...
Swift SVN r782
2011-10-22 00:47:35 +00:00
Chris Lattner
dfd529ce3a
rename diags::foo to diag::foo
...
Swift SVN r779
2011-10-22 00:36:19 +00:00
Chris Lattner
a1781fed38
switch expr parsing to the new diagnostics subsystem
...
Swift SVN r766
2011-10-20 20:41:48 +00:00
Chris Lattner
8c07ba4034
switch parseStmtBrace to the new diagnostics api
...
Swift SVN r764
2011-10-20 20:18:36 +00:00
Chris Lattner
d8343e9a42
convert parseToken to new diagnostic api
...
Swift SVN r763
2011-10-20 20:09:04 +00:00
Chris Lattner
a7c7d64fa0
Switch swift to use SourceLoc instead of SMLoc.
...
Also use the new getAdvancedLoc() method instead of hacking
on SMLoc directly.
Also fix the warning/note/error methods to forward through ASTContext
instead of being replicated everywhere.
Swift SVN r750
2011-10-18 01:22:29 +00:00
John McCall
6b27921ce3
Propagate around l-value-ness. There aren't any interesting invariants
...
here yet.
Swift SVN r740
2011-09-27 23:46:08 +00:00
Doug Gregor
3d15bf3d55
Introduce a diagnostic-formatting engine and port most of the parser's
...
diagnostics over to it.
There are a few differences between this diagnostic engine and Clang's
engine:
- Diagnostics are specified by a .def file (Diagnostics.def), rather
than via tblgen, which drastically simplifies the build and makes
code completion work when you add a new diagnostic.
- Calls to the "diagnose()" method are safely typed based on the
argument types specified in the .def file, so it's harder to write a
diagnostic whose expected arguments (in the string) and whose actual
arguments (in the code) don't match.
- It uses variadic templates, so it hangs with the cool kids.
Swift SVN r734
2011-09-26 23:46:28 +00:00
John McCall
b2facdae4b
Getterize Stmt.h.
...
Swift SVN r720
2011-09-20 07:07:53 +00:00
John McCall
7a259f4bad
Differentiate between the starting location and caret location of
...
an expression. More incremental getterization.
Swift SVN r717
2011-09-19 22:45:58 +00:00
Chris Lattner
c7fd9ec3bc
remove the old grammar production for func's in protocols and just use
...
decl-func instead. Hey look, now we have support for default
implementations.
Swift SVN r671
2011-09-01 21:34:04 +00:00
Chris Lattner
5d78286e3f
split the "func a::b()" form out to its own grammar production.
...
Swift SVN r669
2011-09-01 18:21:27 +00:00
Chris Lattner
d77e4ad649
implement support for protocol decls.
...
Swift SVN r655
2011-08-31 19:58:47 +00:00
Chris Lattner
b04c19e647
introduce a enw AST/AST.h umbrella header and use it to
...
simplify #includes.
Swift SVN r578
2011-08-22 21:02:44 +00:00
Chris Lattner
e12da0228e
tidy up a bit more, DenseMap is already transitively included, so no need to use a pImpl to hide it.
...
Swift SVN r565
2011-08-14 06:38:53 +00:00
Chris Lattner
88964126fe
remove the old SemaDecl and Sema classes.
...
Swift SVN r563
2011-08-14 00:33:00 +00:00
Chris Lattner
cb18028c45
rework all of the scope and name lookup logic, introducing a new ScopeInfo class
...
and moving a bunch more stuff out of SemaDecl.
Swift SVN r561
2011-08-14 00:27:24 +00:00
Chris Lattner
7e252a0ddf
move a bunch of code from SemaDecl to ParseDecl
...
Swift SVN r559
2011-08-13 23:10:45 +00:00
Chris Lattner
26f66a8b24
move all the parser headers into lib/Parse since they are now all private.
...
I chose to just delete the -lex action in swift, since it was only useful for
about 10 minutes during bringup and probably never will be again.
Swift SVN r557
2011-08-13 22:51:04 +00:00
Chris Lattner
c863bea58d
merge SemaExpr into ParseExpr.cpp
...
Swift SVN r554
2011-08-13 22:33:33 +00:00
Chris Lattner
dab303a541
move statement parsing out to its own file.
...
Swift SVN r550
2011-08-13 22:13:33 +00:00