6A1052d: LLDB autocomplete misses some category declarations
| Originator: | matt | ||
| Number: | rdar://19111358 | Date Originated: | 12/1/14 |
| Status: | Resolved: | ||
| Product: | Developer Tools | Product Version: | 6.1 (6A1052d) |
| Classification: | Other Bug | Reproducible: | Always |
Summary: LLDB sometimes fails to autocomplete category methods depending on where they appear in the source. It appears that anything declared before the target class' @implementation is processed makes the cut, whereas anything declared after it, or not explicitly imported before it, does not. The attached project has a number of schemes/targets to illustrate a number of scenarios that do and don't trigger autocompletion from the LLDB prompt in Xcode 6.1 (6A1052d) Steps to Reproduce: 1. Check out or download the LLDBSymbols project at https://github.com/drance/radars/tree/LLDBSymbols 2. Select a scheme, e.g. "InternalCategory-NoInterface" 3. Run the project 4. Tap the 'Press Here' button 5. When LLDB prompt appears, type 'p [self inter' and wait. You should be offered the "internalMethod" symbol which appears in the view controller's implementation. 6. Type 'p [self cat' and wait. Depending on the target (see below), you may or may not get autocompletion. Each scheme in the project corresponds to a different target using a variation of the main View Controller, each with a shared breakpoint that you should hit whenever you press the button. The various implementation files, such as "ViewControllerNoInterface.m", has instructions in the -breakAction: method where the breakpoint is set. So, when you hit the breakpoint, and the LLDB prompt appears, you should be staring at instruction comments on what to do. Expected Results: Expect to always be offered 'categoryMethod' as autocompletion for '[self cat' Actual Results: Autocompletion for the category method only happens if the conditions outlined in the problem description are met. As of 6A1052d, the targets / schemes that succeed are: InternalCategory-EarlyInterface InternalCategory-EarlyImplementation ExternalCategory-Import The others fail. Version: 6.1 (6A1052d) on 10.10.1 (14B25)
Comments
Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!