mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
[Debug info] Emit bound generic class type parameters when emitting AST types
This relands commit 45d4648bdb while ensuring that
sanityCheckCachedType uses the exact same condition (now factored into a helper
function) as createType() to determine whether a type is sized or not.
rdar://143833326
This commit is contained in:
@@ -12,7 +12,6 @@ public let s = S<Int>(t: 0)
|
||||
// CHECK: ![[INTPARAM]] = !DITemplateTypeParameter(type: ![[INT:[0-9]+]])
|
||||
// CHECK: ![[INT]] = !DICompositeType(tag: DW_TAG_structure_type, {{.*}}identifier: "$sSiD"
|
||||
|
||||
|
||||
// DWARF: !DICompositeType(tag: DW_TAG_structure_type,
|
||||
// DWARF-SAME: templateParams: ![[PARAMS:[0-9]+]]
|
||||
// DWARF-SAME: identifier: "$s18BoundGenericStruct1SVySiGD"
|
||||
@@ -40,10 +39,7 @@ public let inner = S2<Double>.Inner(t:4.2)
|
||||
// CHECK: !DICompositeType(tag: DW_TAG_structure_type, name: "$s18BoundGenericStruct2S2VyxGD",
|
||||
// CHECK-SAME: flags: DIFlagFwdDecl, runtimeLang: DW_LANG_Swift)
|
||||
|
||||
// DWARF: !DICompositeType(tag: DW_TAG_structure_type, scope: ![[SCOPE1:[0-9]+]],
|
||||
// DWARF-SAME: size: 64, {{.*}}, templateParams: ![[PARAMS2:[0-9]+]], identifier: "$s18BoundGenericStruct2S2V5InnerVySd_GD"
|
||||
// DWARF-SAME: specification: ![[SPECIFICATION:[0-9]+]]
|
||||
|
||||
// DWARF: !DICompositeType(tag: DW_TAG_structure_type, name: "Inner", scope: ![[SCOPE1:[0-9]+]],{{.*}} size: 64, {{.*}}, templateParams: ![[PARAMS2:[0-9]+]], identifier: "$s18BoundGenericStruct2S2V5InnerVySd_GD",{{.*}} specification: ![[SPECIFICATION:[0-9]+]]
|
||||
// DWARF: ![[SCOPE1]] = !DICompositeType(tag: DW_TAG_structure_type, name: "$s18BoundGenericStruct2S2VyxGD",
|
||||
|
||||
// DWARF: ![[PARAMS2]] = !{![[PARAMS3:[0-9]+]]}
|
||||
|
||||
8
test/DebugInfo/typealias_indirect.swift
Normal file
8
test/DebugInfo/typealias_indirect.swift
Normal file
@@ -0,0 +1,8 @@
|
||||
// RUN: %target-swift-frontend %s -emit-ir -parse-as-library -module-name a -g -o - | %FileCheck %s
|
||||
// CHECK: !DIDerivedType(tag: DW_TAG_typedef, name: "$s1a10LocalAliasaD", {{.*}}baseType: ![[BASETY:[0-9]+]]
|
||||
// CHECK: ![[BASETY]]{{.*}}$sSbD
|
||||
public class MyClass<A, B> {}
|
||||
public typealias LocalAlias = Bool
|
||||
public typealias ClassAlias = MyClass<LocalAlias, Bool>
|
||||
public func use(cls: ClassAlias?) {}
|
||||
|
||||
Reference in New Issue
Block a user