John McCall
d0f4d86f3e
Use LValueType everywhere instead of the l-value value kind.
...
Kill off TypeJudgement. Various fixes and improvements.
Swift SVN r1107
2012-02-06 22:47:08 +00:00
Chris Lattner
bab9ca384c
switch TupleExpr to use MutableArrayRef.
...
Swift SVN r1090
2012-01-19 06:54:43 +00:00
Chris Lattner
27f47dd705
eliminate the concept of a singular expression, which is obsolete and not in lang ref.
...
Swift SVN r1084
2012-01-18 23:59:04 +00:00
John McCall
59bed696a5
Introduce a ParenExpr to represent the special case of
...
a tuple with one element and no labels. This form is
treated specially in essentially every case, so it might
as well be its own expression kind.
Swift SVN r1021
2012-01-12 19:55:06 +00:00
Chris Lattner
17b11e9bbd
implement parsing, AST, and LangRef support for 'plus' methods. Dot syntax will need some work though to actually use them.
...
Swift SVN r949
2011-12-21 23:21:58 +00:00
Chris Lattner
eef2f69637
improve AST modeling of dot syntax calls to follow the syntactic structure instead of being weird and broken and losing source loc info.
...
Swift SVN r938
2011-12-15 00:52:58 +00:00
Chris Lattner
3d4111475e
fix a minor pasto.
...
Swift SVN r912
2011-12-07 00:10:42 +00:00
Chris Lattner
0b72409c9c
ensure that extension members get the proper function type, and a 'this' argument.
...
Swift SVN r908
2011-12-06 20:23:53 +00:00
Chris Lattner
8d53c9f3b9
restrict 'extension' to only exist at file scope.
...
Swift SVN r899
2011-12-06 00:11:13 +00:00
Doug Gregor
1ed6cdbb09
Fix broken source-range information for expressions of the form "x.y".
...
Swift SVN r861
2011-11-10 17:25:08 +00:00
Doug Gregor
0223f3edf1
Implement Expr::getSourceRange() and introduce proper support for this
...
function into all of the expression nodes. Re-implement
Expr::getStartLoc() in terms of this function, and add it's brother
Expr::getEndLoc(), removing the specialized implementations.
Clean up the source ranges of implicitly-created tuple expressions in
the process.
Swift SVN r855
2011-11-10 00:25:48 +00:00
Chris Lattner
9e783adda1
introduce and use a new parseMatchingToken method.
...
Swift SVN r841
2011-11-09 01:09:07 +00:00
Chris Lattner
f02dc055d3
introduce a form of parseToken that returns the location of the parsed token
...
on success, allowing simplifications in clients.
Swift SVN r840
2011-11-09 00:56:52 +00:00
Chris Lattner
ffa9a55002
implement skeleton of extension body parsing.
...
Swift SVN r839
2011-11-09 00:49:54 +00:00
Chris Lattner
0b9b982758
rework parseDecl to do validation itself, allow decls in oneof's
...
Swift SVN r837
2011-11-08 22:41:27 +00:00
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