Chris Lattner
1c42e8f6a6
rename DottedNameType to IdentifierType. It captures loc information for random uses of type names, among other things.
...
Swift SVN r1064
2012-01-18 01:52:28 +00:00
Chris Lattner
ac190abfef
completely eliminate the type symbol table. "boom".
...
Swift SVN r1058
2012-01-17 07:43:32 +00:00
Chris Lattner
2f7cd03c6b
switch type lookup to use value lookup for everything. Dead code ahoy.
...
Swift SVN r1057
2012-01-17 07:36:16 +00:00
Chris Lattner
9a3d4dbdd6
inject explicit type aliases into the value symbol table.
...
Swift SVN r1056
2012-01-17 07:20:02 +00:00
Chris Lattner
c8ca11a199
Drop in the new DottedNameType and wire it up in name binding.
...
This is horribly hack and slash (but enough to pass all tests) for a few reasons:
- I've #if 0'd out the tendrils of the old code
- This handles *just* what was handled before instead of being more general
- We don't have an llvm::MutableArrayRef type, so there is some really gross
const_cast'ing and other struggles to deal with its absence.
Swift SVN r1050
2012-01-17 06:32:00 +00:00
Chris Lattner
f5799a5b0b
don't inject the struct constructor into the containing translation unit, because this will affect name lookup done by the name binder, causing an ambiguity error.
...
Swift SVN r1027
2012-01-12 21:51:51 +00:00
Chris Lattner
eb165f03ab
ok, take a big jump and inject the metatype for a oneof into its
...
scope... instead of injecting the constructor function for a struct. Everything
still seems to work!
This will allow us to greatly simplify name lookup, etc but this isn't done yet.
Swift SVN r1018
2012-01-12 08:03:40 +00:00
Chris Lattner
89587ef545
add a comment.
...
Swift SVN r998
2012-01-06 22:21:18 +00:00
Chris Lattner
b737b112e7
modernize ProtocolType a bit to follow the form of OneOfType
...
Swift SVN r991
2012-01-05 21:51:48 +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
cc0529ba34
remove support for "func foo::bar() {}". "Just use extensions".
...
Swift SVN r947
2011-12-21 22:45:37 +00:00
Chris Lattner
5f1f4d8ce9
simplify code in Parser::actOnOneOfType now that oneof's always have names.
...
Give OneOfType an ivar for its TypeAlias. It already knew its DeclContext.
Swift SVN r923
2011-12-13 01:41:19 +00:00
John McCall
4167366d02
Parse resilience attributes.
...
Swift SVN r921
2011-12-10 02:43:40 +00:00
John McCall
a1f7eefba3
Extract out decl attributes into a separately-allocated structure.
...
Swift SVN r920
2011-12-10 00:39:10 +00:00
John McCall
6b935588e5
On second thought, components need to be known in the AST.
...
Swift SVN r918
2011-12-07 03:57:41 +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
32b248b7e3
[gs]etterize various members of Module, and make them check the invariants they depend on.
...
Swift SVN r903
2011-12-06 01:02:09 +00:00
Chris Lattner
212b56afec
actually, the ASTStage should be on Translation unit. There can be multiple modules in a context and they can all be in different phases of translation.
...
Swift SVN r902
2011-12-06 00:51:56 +00:00
Chris Lattner
8d53c9f3b9
restrict 'extension' to only exist at file scope.
...
Swift SVN r899
2011-12-06 00:11:13 +00:00
Chris Lattner
603e22a97b
diagnose operators in extensions, just an oversight.
...
Swift SVN r898
2011-12-05 23:37:57 +00:00
Chris Lattner
2e0df0bbfc
make oneof and struct decls generate their implicit 'extension' decl for their members.
...
Swift SVN r897
2011-12-05 23:32:12 +00:00
Chris Lattner
d9c15ebb9a
make ExtensionDecl be a DeclContext, install members into it properly.
...
Swift SVN r896
2011-12-05 23:22:04 +00:00
Chris Lattner
ef5fc52220
add basic type checking.
...
Swift SVN r893
2011-11-29 22:45:38 +00:00
John McCall
32736ea2ab
Rename hasSingleElement to isTransparentType to better
...
capture what's being tested. This also makes IR gen
correctly avoid a discriminator for a non-transparent
single-element oneof.
Swift SVN r887
2011-11-18 01:17:53 +00:00
John McCall
b700f171a2
More getters.
...
Swift SVN r886
2011-11-18 01:10:03 +00:00
John McCall
d716f82984
Getterize ValueDecl.
...
Swift SVN r885
2011-11-18 01:04:12 +00:00
John McCall
9079154ded
Getterize TypeAliasDecl.
...
Swift SVN r884
2011-11-18 00:48:14 +00:00
John McCall
50fb0d63f6
More incremental getterization.
...
.w
Swift SVN r883
2011-11-18 00:29:15 +00:00
John McCall
d74f17259c
Incremental getterization of Decl.h.
...
Swift SVN r882
2011-11-18 00:17:20 +00:00
Chris Lattner
bd663190d9
parse (and still discard) the body of an extension.
...
Swift SVN r866
2011-11-10 21:52:42 +00:00
Doug Gregor
fc183b9cc3
Decouple the lexer from the ASTContext and specific BufferID. They
...
aren't needed for the lexer proper (which just needs a buffer to dig
through). Also, make it possible to suppress lexer diagnostics merely
by not giving it a diagnostic engine to work with.
Swift SVN r852
2011-11-09 21:49:40 +00:00
Doug Gregor
d0dd4d44bc
Surface the Token and Lexer headers as public headers, since we're
...
going to need to be able to use the lexer from the 'swift' tool itself.
Swift SVN r851
2011-11-09 21:09:49 +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
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
9b7ec6785f
improve error recovery with mangled decls.
...
Swift SVN r832
2011-11-08 19:59:45 +00:00
Chris Lattner
d95aadc8bf
structs can now contain any 'decl'
...
Swift SVN r831
2011-11-08 19:45:24 +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
b61fe6db10
reject unnamed members in structs.
...
Swift SVN r829
2011-11-08 00:08:05 +00:00
Chris Lattner
45bcd19f58
allow typealias's in structs, inject struct members into the proper declcontext.
...
Swift SVN r828
2011-11-07 23:47:20 +00:00
Chris Lattner
ff63661812
disallow operators in structs.
...
Swift SVN r827
2011-11-07 23:39:15 +00:00
Chris Lattner
c67304f287
reject var's in structs, all data members must come before all func's.
...
Swift SVN r826
2011-11-07 23:34:47 +00:00
Chris Lattner
b559c3f648
allow var's and funcs within structs, part of rdar://10157702
...
Swift SVN r824
2011-11-03 22:19:48 +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
174d86d537
eliminate anonymous protocols, resolving rdar://10157535.
...
Swift SVN r819
2011-11-01 23:26:39 +00:00
Chris Lattner
80caaa7d87
remove support for anonymous oneof types, which cause issues for mangling
...
and are more of a theoretically good idea than an actually useful idea.
This is the first half of rdar://10157535
Swift SVN r818
2011-11-01 23:20:23 +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