Files
swift-mirror/test/SourceKit/DocSupport/doc_error_domain.swift
Jordan Rose e63879dc48 [Mangling] Define "related entity" operators 'LA'...'LJ'
(and 'La'...'Lj')

Use this for the synthesized structs for error enums, as described in
the previous commit, instead of reusing the "private discriminator"
feature. I left some space in the APIs for "related entity kinds" that
are longer than a single character, but I don't actually expect to use
it any time soon. It's mostly just easier to deal with StringRef than
with a bare char.

Note that this doesn't perfectly round-trip to the old mangling; I had
it treat these nodes as private discriminators with a prefixed "$"
instead. We don't depend on that for anything, though.
2018-01-24 10:52:46 -08:00

33 lines
1.3 KiB
Swift

// REQUIRES: OS=macosx
// RUN: %sourcekitd-test -req=doc-info -module MyError -- -I %S/Inputs \
// RUN: %mcp_opt -sdk %sdk | %sed_clean > %t.response
// RUN: %FileCheck -input-file=%t.response %s
// CHECK: struct MyError {
// CHECK: enum Code : Int32 {
// CHECK: case errFirst
// CHECK: case errSecond
// CHECK: }
// CHECK: static var errFirst: MyError.Code { get }
// CHECK: static var errSecond: MyError.Code { get }
// CHECK: key.kind: source.lang.swift.decl.struct,
// CHECK-NEXT: key.name: "MyError",
// CHECK-NEXT: key.usr: "s:SC11MyErrorCodeLeV",
// CHECK-NOT: This is my cool error code.
// CHECK: key.kind: source.lang.swift.decl.enum,
// CHECK-NEXT: key.name: "Code",
// CHECK-NEXT: key.usr: "c:@E@MyErrorCode",
// CHECK-NEXT: This is my cool error code.
// CHECK: key.kind: source.lang.swift.decl.enumelement,
// CHECK-NEXT: key.name: "errFirst",
// CHECK-NEXT: key.usr: "c:@E@MyErrorCode@MyErrFirst",
// CHECK-NEXT: This is first error.
// CHECK: key.kind: source.lang.swift.decl.var.static,
// CHECK-NEXT: key.name: "errFirst",
// CHECK-NEXT: key.usr: "s:SC11MyErrorCodeLeV8errFirstSoAAVvpZ",
// CHECK-NEXT: This is first error.