Jordan Rose
ad4d72568a
[AST] Print "__owned" and "__shared" with leading underscores
...
The type printer was being optimistic about these, but that's a
problem for testing textual interfaces right now.
2018-08-20 18:30:00 -07:00
Jordan Rose
a17dbfbf29
Merge pull request #18778 from jrose-apple/towards-stability
...
[ModuleInterface] More changes to printing and parsing .swiftinterface files
2018-08-17 09:10:57 -07:00
Jordan Rose
dd8b37ee9f
Merge pull request #18772 from jrose-apple/access-denied
...
Stop printing access on extensions and protocol requirements
2018-08-16 18:24:58 -07:00
Jordan Rose
c62fcad553
Don't synthesize initializers in swiftinterface files
...
...and then don't complain about a class not having any initializers.
2018-08-16 17:59:24 -07:00
Jordan Rose
0ca78265ef
[ModuleInterface] Allow global/static variables without initial values
2018-08-16 17:59:24 -07:00
Jordan Rose
f061dff9b7
[ModuleInterface] Don't print typealiases that match generic params
...
These are synthesized to satisfy associated type requirements, but
they're not needed in source, and they look like self-referential
definitions (`typealias X = X`).
2018-08-16 17:59:24 -07:00
Jordan Rose
6526f11400
[ModuleInterface] Don't print access on extensions
...
This ends up meaning "don't print access attributes, then print access
uniformly on ValueDecls if you're not printing access attributes".
2018-08-16 16:00:42 -07:00
Jordan Rose
1a3cb5b630
[ModuleInterface] "Smoke test" struct and enum declarations too
...
This is not an exhaustive test of language features, but it at
least checks that the simple stuff is working.
2018-08-16 15:52:18 -07:00
Jordan Rose
e2a245d211
[SILGen] Also handle initializers without bodies
...
I was surprised to see this parses fine already, but SILGen still
needs a new check.
2018-08-16 15:52:18 -07:00
Jordan Rose
ec0719d3e0
Handle parsing deinitializers without bodies for .swiftinterfaces
...
The presence of a deinitializer will eventually indicate whether a
class's deinitializer is non-trivial for non-resilient modules.
Also improve recovery for normal source files for various bad ways
of declaring a deinitializer.
2018-08-16 15:48:13 -07:00
Jordan Rose
318e988ae1
[Parse] Allow parsing accessors without bodies for .swiftinterfaces
...
We're going to do need to do more here for inlinable accessors, which
/do/ have bodies, but this helps us get to a bare minimum testing
configuration.
2018-08-16 13:57:45 -07:00
Jordan Rose
d9e47650d5
Add a new SourceFileKind and InputFileKind for textual interfaces
...
And test this by tweaking the rules to allow functions without
definitions, like SIL files.
2018-08-07 08:55:07 -07:00
Jordan Rose
59940b7f04
[ModuleInterface] Filter using access control and @usableFromInline ( #18521 )
...
These are the parts of a (resilient) module that affect the public
interface and ABI; everything else is uninteresting. Or at least ought
to be.
2018-08-06 19:40:44 -07:00
Jordan Rose
e8e0584785
Hook up -emit-interface-path to a simple AST printer
...
We'll want more complexity soon, but this is a start.
2018-08-01 14:34:29 -07:00