Parser: Parse member types with non-identifier qualifiers in type context

This commit is contained in:
Anthony Latsis
2023-01-14 19:09:02 +03:00
parent e180ee9f34
commit c46b7c1bd0
4 changed files with 213 additions and 48 deletions

View File

@@ -39,6 +39,7 @@ namespace llvm {
}
namespace swift {
class IdentTypeRepr;
class IDEInspectionCallbacks;
class IDEInspectionCallbacksFactory;
class DefaultArgumentInitializer;
@@ -1308,6 +1309,13 @@ public:
/// an empty parser error.
ParserResult<TypeRepr> parseTypeIdentifier(
bool isParsingQualifiedDeclBaseType = false);
/// Parse an identifier type, e.g 'Foo' or 'Bar<Int>'.
ParserResult<IdentTypeRepr> parseSimpleTypeIdentifier();
/// Parse a dotted type, e.g. 'Foo<X>.Y.Z', 'P.Type', '[X].Y'.
ParserResult<TypeRepr> parseTypeDotted(ParserResult<TypeRepr> Base);
ParserResult<TypeRepr> parseOldStyleProtocolComposition();
ParserResult<TypeRepr> parseAnyType();
ParserResult<TypeRepr> parseSILBoxType(GenericParamList *generics,