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,
|
BridgedASTContext cContext, BridgedArrayRef elements,
|
||||||
BridgedSourceLoc cLParenLoc, BridgedSourceLoc cRParenLoc);
|
BridgedSourceLoc cLParenLoc, BridgedSourceLoc cRParenLoc);
|
||||||
|
|
||||||
SWIFT_NAME("BridgedNamedOpaqueReturnTypeRepr.createParsed(_:base:)")
|
SWIFT_NAME(
|
||||||
BridgedNamedOpaqueReturnTypeRepr
|
"BridgedNamedOpaqueReturnTypeRepr.createParsed(_:base:genericParamList:)")
|
||||||
BridgedNamedOpaqueReturnTypeRepr_createParsed(BridgedASTContext cContext,
|
BridgedNamedOpaqueReturnTypeRepr BridgedNamedOpaqueReturnTypeRepr_createParsed(
|
||||||
BridgedTypeRepr baseTy);
|
BridgedASTContext cContext, BridgedTypeRepr baseTy,
|
||||||
|
BridgedGenericParamList genericParams);
|
||||||
|
|
||||||
SWIFT_NAME("BridgedOpaqueReturnTypeRepr.createParsed(_:someKeywordLoc:base:)")
|
SWIFT_NAME("BridgedOpaqueReturnTypeRepr.createParsed(_:someKeywordLoc:base:)")
|
||||||
BridgedOpaqueReturnTypeRepr
|
BridgedOpaqueReturnTypeRepr
|
||||||
|
|||||||
@@ -293,11 +293,12 @@ BridgedFunctionTypeRepr BridgedFunctionTypeRepr_createParsed(
|
|||||||
resultType.unbridged());
|
resultType.unbridged());
|
||||||
}
|
}
|
||||||
|
|
||||||
BridgedNamedOpaqueReturnTypeRepr
|
BridgedNamedOpaqueReturnTypeRepr BridgedNamedOpaqueReturnTypeRepr_createParsed(
|
||||||
BridgedNamedOpaqueReturnTypeRepr_createParsed(BridgedASTContext cContext,
|
BridgedASTContext cContext, BridgedTypeRepr baseTy,
|
||||||
BridgedTypeRepr baseTy) {
|
BridgedGenericParamList genericParams) {
|
||||||
ASTContext &context = cContext.unbridged();
|
ASTContext &context = cContext.unbridged();
|
||||||
return new (context) NamedOpaqueReturnTypeRepr(baseTy.unbridged(), nullptr);
|
return new (context)
|
||||||
|
NamedOpaqueReturnTypeRepr(baseTy.unbridged(), genericParams.unbridged());
|
||||||
}
|
}
|
||||||
|
|
||||||
BridgedOpaqueReturnTypeRepr
|
BridgedOpaqueReturnTypeRepr
|
||||||
|
|||||||
@@ -266,8 +266,9 @@ extension ASTGenVisitor {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func generate(namedOpaqueReturnType node: NamedOpaqueReturnTypeSyntax) -> BridgedNamedOpaqueReturnTypeRepr {
|
func generate(namedOpaqueReturnType node: NamedOpaqueReturnTypeSyntax) -> BridgedNamedOpaqueReturnTypeRepr {
|
||||||
|
let genericParams = self.generate(genericParameterClause: node.genericParameterClause)
|
||||||
let baseTy = generate(type: node.type)
|
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 {
|
func generate(someOrAnyType node: SomeOrAnyTypeSyntax) -> BridgedTypeRepr {
|
||||||
|
|||||||
@@ -1,15 +1,19 @@
|
|||||||
// RUN: %empty-directory(%t)
|
// RUN: %empty-directory(%t)
|
||||||
|
|
||||||
// RUN: %target-swift-frontend-dump-parse -enable-experimental-feature ParserASTGen \
|
// RUN: %target-swift-frontend-dump-parse -enable-experimental-feature ParserASTGen \
|
||||||
|
// RUN: -enable-experimental-feature NamedOpaqueTypes \
|
||||||
// RUN: | %sanitize-address > %t/astgen.ast
|
// RUN: | %sanitize-address > %t/astgen.ast
|
||||||
// RUN: %target-swift-frontend-dump-parse \
|
// RUN: %target-swift-frontend-dump-parse \
|
||||||
|
// RUN: -enable-experimental-feature NamedOpaqueTypes \
|
||||||
// RUN: | %sanitize-address > %t/cpp-parser.ast
|
// RUN: | %sanitize-address > %t/cpp-parser.ast
|
||||||
|
|
||||||
// RUN: %diff -u %t/astgen.ast %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_ParserASTGen
|
||||||
|
// REQUIRES: swift_feature_NamedOpaqueTypes
|
||||||
|
|
||||||
// rdar://116686158
|
// rdar://116686158
|
||||||
// UNSUPPORTED: asan
|
// UNSUPPORTED: asan
|
||||||
@@ -73,3 +77,5 @@ typealias TestSpecifierAndAttr<T> = (__owned @Sendable @escaping () async -> T)
|
|||||||
|
|
||||||
let globalOptionalInt: _? = 42
|
let globalOptionalInt: _? = 42
|
||||||
let optionalIntArray: Array<_> = [42]
|
let optionalIntArray: Array<_> = [42]
|
||||||
|
|
||||||
|
func testNamedOpaqueReturnTy() -> <T> T { return () }
|
||||||
|
|||||||
Reference in New Issue
Block a user