Commit Graph

15 Commits

Author SHA1 Message Date
John McCall
312aa06901 Start fleshing out RemoteAST's storage-offset API. 2016-04-26 16:22:28 -07:00
John McCall
92cf4a6d39 Teach MetadataReader how to handle ObjCClassWrapper metadata. 2016-04-26 13:04:02 -07:00
John McCall
627e2325d3 Read tuple labels in MetadataReader and preserve them in RemoteAST.
The metadata system doesn't actually unique based on labels
correctly, so the test case has to play some games.  That's
something that will be easier to fix when there are fewer
clients poking at the internals of the metadata runtime.
2016-04-25 22:33:41 -07:00
Slava Pestov
c0c02a3148 Reflection: ProtocolTypeRefs now store a mangled name
This is better for field metadata lookups. Clients that want the
module name and decl name can demangle, just like they do with
NominalTypeRefs.
2016-04-25 20:08:49 -07:00
John McCall
56052cfe61 Apparently the right way to look up imported declarations is to just ask the importer to look things up. 2016-04-25 19:03:08 -07:00
John McCall
812557ca24 Reorganization within RemoteAST. Basic error propagation.
Initial stabs towards reading foreign class metadata, although
these do not yet successfully resolve the declaration.
2016-04-25 16:57:19 -07:00
Enrico Granata
bd9e3e4a49 Actually add the getKindForRemoteTypeMetadata entry point to the main RemoteASTContext class 2016-04-25 13:57:43 -07:00
Enrico Granata
5d315ae30b Add a getKindForRemoteTypeMetadata() API to the RemoteAST - LLDB plans to use this API to decide whether certain kinds of existential containers need a two-level type resolution (e.g. if an existential box points to a class, the true type that we want to resolve is the type that the class's ISA refers to, not the static type that the box refers to) 2016-04-25 11:50:03 -07:00
John McCall
5a735b5589 RemoteAST: type-check TypeReprs within a TopLevelCodeDecl
instead of just a ModuleDecl.

Fixes simple generic types.
2016-04-22 18:47:04 -07:00
John McCall
590706a8c6 Pass around address/buffer pairs in the MetadataReader instead of
just the address.  Use this to avoid repeatedly reading metadata so
often (even if it's cached, this is better).  Fix some bugs involving
nominal type parents.
2016-04-21 21:47:14 -07:00
John McCall
eb662ed62f Look through Type nodes in findDeclContext to allow the direct use
of a top-level type demangling.
2016-04-21 16:25:19 -07:00
John McCall
22f193d254 Use the right demangling API when demangling nominal types. 2016-04-21 15:05:34 -07:00
John McCall
17625abbb9 Invoke the type-checker from RemoteAST to build generic types. 2016-04-20 13:53:49 -07:00
John McCall
093009b3ef Enhance the Remote / RemoteAST libraries with an error mechanism.
Nothing is producing meaningful errors yet, however.
2016-04-20 11:44:34 -07:00
John McCall
e758ba3569 Stub out a RemoteAST library for translating remote metadata
pointers into a local AST.

This is intended primarily for the use of LLDB and does not have
a stable ABI.
2016-04-19 16:36:57 -07:00