Skip to content

[SR-5035] SourceKit should return subscript in structure #47611

@marcelofabri

Description

@marcelofabri
Previous ID SR-5035
Radar None
Original Reporter @marcelofabri
Type Bug
Status Resolved
Resolution Done
Environment

Apple Swift version 3.1 (swiftlang-802.0.53 clang-802.0.42)
Target: x86_64-apple-macosx10.9

Additional Detail from JIRA
Votes 0
Component/s Source Tooling
Labels Bug
Assignee @marcelofabri
Priority Medium

md5: 11d3115903c64c904e6bc6a030a821f1

Issue Description:

For example:

struct Thing {
    subscript(index: Int) -> Int {
      return 2
    }
}
{
  "key.offset": 0,
  "key.length": 72,
  "key.diagnostic_stage": "source.diagnostic.stage.swift.parse",
  "key.syntaxmap": [
    {
      "key.kind": "source.lang.swift.syntaxtype.keyword",
      "key.offset": 0,
      "key.length": 6
    },
    {
      "key.kind": "source.lang.swift.syntaxtype.identifier",
      "key.offset": 7,
      "key.length": 5
    },
    {
      "key.kind": "source.lang.swift.syntaxtype.keyword",
      "key.offset": 19,
      "key.length": 9
    },
    {
      "key.kind": "source.lang.swift.syntaxtype.identifier",
      "key.offset": 29,
      "key.length": 5
    },
    {
      "key.kind": "source.lang.swift.syntaxtype.typeidentifier",
      "key.offset": 36,
      "key.length": 3
    },
    {
      "key.kind": "source.lang.swift.syntaxtype.typeidentifier",
      "key.offset": 44,
      "key.length": 3
    },
    {
      "key.kind": "source.lang.swift.syntaxtype.keyword",
      "key.offset": 56,
      "key.length": 6
    },
    {
      "key.kind": "source.lang.swift.syntaxtype.number",
      "key.offset": 63,
      "key.length": 1
    }
  ],
  "key.substructure": [
    {
      "key.kind": "source.lang.swift.decl.struct",
      "key.accessibility": "source.lang.swift.accessibility.internal",
      "key.name": "Thing",
      "key.offset": 0,
      "key.length": 72,
      "key.nameoffset": 7,
      "key.namelength": 5,
      "key.bodyoffset": 14,
      "key.bodylength": 57,
      "key.substructure": [
        {
          "key.kind": "source.lang.swift.decl.var.parameter",
          "key.name": "index",
          "key.offset": 29,
          "key.length": 10,
          "key.typename": "Int",
          "key.nameoffset": 0,
          "key.namelength": 0
        }
      ]
    }
  ]
}

Metadata

Metadata

Assignees

Labels

bugA deviation from expected or documented behavior. Also: expected but undesirable behavior.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions