Doug Gregor
c1229e72a8
Give the methods, constructors, and destructors of a nested type a
...
polymorphic type when that type is nested within a generic type. The
type-checker still isn't ready to use these declarations in a sane way.
Swift SVN r2501
2012-08-01 21:16:06 +00:00
Eli Friedman
6b4a248f04
Parsing and AST support for destructors on classes.
...
Swift SVN r2348
2012-07-12 01:26:02 +00:00
Eli Friedman
75907029f1
Add parsing and semantic analysis for a basic ConstructorDecl. Still missing: no IRGen, and semantic analysis to actually call them.
...
Swift SVN r2159
2012-06-05 23:51:19 +00:00
Eli Friedman
5e206bc10f
Rename DistinctTypeDecl to NominalTypeDecl.
...
Swift SVN r1882
2012-05-17 01:54:15 +00:00
Eli Friedman
79c3276b07
AST representation for ClassDecls.
...
Swift SVN r1858
2012-05-15 21:53:38 +00:00
Doug Gregor
70bfc235b8
Implement protocol inheritance, e.g.,
...
protocol Document { var title : String }
protocol Versioning { func bumpVersion() }
protocol VersionedDocument : Document, Versioning { }
This commit covers the basic functionality of protocol inheritance, including:
- Parsing & AST representation
- Conforming to a protocol also requires conforming to its inherited
protocols
- Member lookup into a protocol also looks into its inherited
protocols (results are aggregated; there is no name hiding)
- Teach ErasureExpr to maintain lvalueness, so we don't end up
performing a silly load/erase/materialize dance when accessing
members from an inherited protocol.
Swift SVN r1804
2012-05-11 00:00:50 +00:00
Eli Friedman
77fa49ec2b
Introduce StructDecl and StructType; use them for structs instead of OneOfDecl/OneOfType. To keep this patch small, I'm leaving in LookThroughOneOf etc. for the moment, but that's next on the agenda.
...
Swift SVN r1780
2012-05-09 00:27:44 +00:00
Doug Gregor
5f2344afe0
Introduce ProtocolDecl, which describes (*gasp*) a protocol. Move the
...
guts of ProtocolType over to ProtocolDecl.
Swift SVN r1778
2012-05-08 23:28:55 +00:00
Eli Friedman
4ca443d0f5
Add OneOfDecl; use it as a DeclContext for OneOfElementDecls instead of OneOfType, and get rid of the implicit TypeAliasDecl. Add TypeDecl as a base class for OneOfDecl and TypeAliasDecl (and StructDecl, once we have it). Adjust a whole bunch of stuff to this new scheme.
...
Swift SVN r1774
2012-05-08 21:09:42 +00:00
Eli Friedman
d5e7784010
Get rid of isModuleScope bit, since we don't like scattering bits across the AST; as a replacement, introduce TopLevelCodeDecl, which provides a DeclContext for all expressions and statements at the top level. <rdar://problem/11259941>.
...
Swift SVN r1503
2012-04-19 21:22:12 +00:00
Doug Gregor
846aa7e162
Diagnose attempts to declare subscript operations outside of a type context.
...
Swift SVN r1497
2012-04-19 20:41:42 +00:00
Eli Friedman
d2bbf81245
Zap AnonClosureArgExpr.
...
Swift SVN r1269
2012-03-27 01:03:15 +00:00
Eli Friedman
d39a7abe36
Implement CapturingExpr. In addition to unifying the hierarchy between FuncExpr and ClosureExpr, this introduces a DeclContext for ClosureExprs. <rdar://problem/11076715>
...
Swift SVN r1240
2012-03-20 01:08:04 +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
2ea1e72890
merge two copies of the same predicate into a helper method.
...
Swift SVN r800
2011-11-01 04:30:25 +00:00
Chris Lattner
8e1c6c8ac6
flatten ModuleKind discriminator into DeclContext's one. Now Module is an
...
abstract class and we have an actual AST-level concept of the builtin module.
Swift SVN r798
2011-11-01 04:07:57 +00:00
Chris Lattner
fed35466d4
increase the # bits for DeclContextKind's to 3 bits.
...
Swift SVN r797
2011-11-01 03:58:21 +00:00
John McCall
54ff2ccf4a
Lop the last word off ModuleDecl and TranslationUnitDecl.
...
Swift SVN r693
2011-09-06 21:43:46 +00:00
John McCall
4a0f713e62
Progress towards a builtin module.
...
Swift SVN r682
2011-09-03 05:35:49 +00:00
Chris Lattner
70bbb65241
make ProtocolType a DeclContext, add AST and trivial sema support for
...
ProtocolFuncElementDecl, the first thing we will allow in a protocol.
Swift SVN r664
2011-08-31 23:31:42 +00:00
Chris Lattner
bd9e21ed01
add a method to get an ASTContext from a DeclContext.
...
Swift SVN r662
2011-08-31 23:09:32 +00:00
John McCall
7b78e7b943
Document DeclContext.
...
Swift SVN r656
2011-08-31 21:22:35 +00:00
John McCall
bf62f3662e
Switch DeclContext to use a PointerIntPair.
...
Swift SVN r640
2011-08-30 06:34:38 +00:00
Chris Lattner
da64531ca3
modernize #includes.
...
Swift SVN r627
2011-08-25 23:48:29 +00:00
John McCall
b2bd8e12a7
Introduce the idea of a DeclContext.
...
Swift SVN r623
2011-08-25 19:26:50 +00:00