mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
[ASTGen] Fix NamedOpaqueReturnTypeRepr
Generic parameter list was missing
This commit is contained in:
@@ -2732,10 +2732,11 @@ BridgedTupleTypeRepr BridgedTupleTypeRepr_createParsed(
|
||||
BridgedASTContext cContext, BridgedArrayRef elements,
|
||||
BridgedSourceLoc cLParenLoc, BridgedSourceLoc cRParenLoc);
|
||||
|
||||
SWIFT_NAME("BridgedNamedOpaqueReturnTypeRepr.createParsed(_:base:)")
|
||||
BridgedNamedOpaqueReturnTypeRepr
|
||||
BridgedNamedOpaqueReturnTypeRepr_createParsed(BridgedASTContext cContext,
|
||||
BridgedTypeRepr baseTy);
|
||||
SWIFT_NAME(
|
||||
"BridgedNamedOpaqueReturnTypeRepr.createParsed(_:base:genericParamList:)")
|
||||
BridgedNamedOpaqueReturnTypeRepr BridgedNamedOpaqueReturnTypeRepr_createParsed(
|
||||
BridgedASTContext cContext, BridgedTypeRepr baseTy,
|
||||
BridgedGenericParamList genericParams);
|
||||
|
||||
SWIFT_NAME("BridgedOpaqueReturnTypeRepr.createParsed(_:someKeywordLoc:base:)")
|
||||
BridgedOpaqueReturnTypeRepr
|
||||
|
||||
@@ -293,11 +293,12 @@ BridgedFunctionTypeRepr BridgedFunctionTypeRepr_createParsed(
|
||||
resultType.unbridged());
|
||||
}
|
||||
|
||||
BridgedNamedOpaqueReturnTypeRepr
|
||||
BridgedNamedOpaqueReturnTypeRepr_createParsed(BridgedASTContext cContext,
|
||||
BridgedTypeRepr baseTy) {
|
||||
BridgedNamedOpaqueReturnTypeRepr BridgedNamedOpaqueReturnTypeRepr_createParsed(
|
||||
BridgedASTContext cContext, BridgedTypeRepr baseTy,
|
||||
BridgedGenericParamList genericParams) {
|
||||
ASTContext &context = cContext.unbridged();
|
||||
return new (context) NamedOpaqueReturnTypeRepr(baseTy.unbridged(), nullptr);
|
||||
return new (context)
|
||||
NamedOpaqueReturnTypeRepr(baseTy.unbridged(), genericParams.unbridged());
|
||||
}
|
||||
|
||||
BridgedOpaqueReturnTypeRepr
|
||||
|
||||
@@ -266,8 +266,9 @@ extension ASTGenVisitor {
|
||||
}
|
||||
|
||||
func generate(namedOpaqueReturnType node: NamedOpaqueReturnTypeSyntax) -> BridgedNamedOpaqueReturnTypeRepr {
|
||||
let genericParams = self.generate(genericParameterClause: node.genericParameterClause)
|
||||
let baseTy = generate(type: node.type)
|
||||
return .createParsed(self.ctx, base: baseTy)
|
||||
return .createParsed(self.ctx, base: baseTy, genericParamList: genericParams)
|
||||
}
|
||||
|
||||
func generate(someOrAnyType node: SomeOrAnyTypeSyntax) -> BridgedTypeRepr {
|
||||
|
||||
@@ -1,15 +1,19 @@
|
||||
// RUN: %empty-directory(%t)
|
||||
|
||||
// RUN: %target-swift-frontend-dump-parse -enable-experimental-feature ParserASTGen \
|
||||
// RUN: -enable-experimental-feature NamedOpaqueTypes \
|
||||
// RUN: | %sanitize-address > %t/astgen.ast
|
||||
// RUN: %target-swift-frontend-dump-parse \
|
||||
// RUN: -enable-experimental-feature NamedOpaqueTypes \
|
||||
// RUN: | %sanitize-address > %t/cpp-parser.ast
|
||||
|
||||
// RUN: %diff -u %t/astgen.ast %t/cpp-parser.ast
|
||||
|
||||
// RUN: %target-typecheck-verify-swift -enable-experimental-feature ParserASTGen
|
||||
// RUN: %target-typecheck-verify-swift -enable-experimental-feature ParserASTGen \
|
||||
// RUN: -enable-experimental-feature NamedOpaqueTypes
|
||||
|
||||
// REQUIRES: swift_feature_ParserASTGen
|
||||
// REQUIRES: swift_feature_NamedOpaqueTypes
|
||||
|
||||
// rdar://116686158
|
||||
// UNSUPPORTED: asan
|
||||
@@ -73,3 +77,5 @@ typealias TestSpecifierAndAttr<T> = (__owned @Sendable @escaping () async -> T)
|
||||
|
||||
let globalOptionalInt: _? = 42
|
||||
let optionalIntArray: Array<_> = [42]
|
||||
|
||||
func testNamedOpaqueReturnTy() -> <T> T { return () }
|
||||
|
||||
Reference in New Issue
Block a user