================ @@ -3115,44 +3116,47 @@ def __repr__(self): class CodeCompletionResult(Structure): _fields_ = [("cursorKind", c_int), ("completionString", c_object_p)] - def __repr__(self): + def __repr__(self) -> str: return str(CompletionString(self.completionString)) @property - def kind(self): + def kind(self) -> CursorKind: return CursorKind.from_id(self.cursorKind) @property - def string(self): + def string(self) -> CompletionString: return CompletionString(self.completionString) class CCRStructure(Structure): _fields_ = [("results", POINTER(CodeCompletionResult)), ("numResults", c_int)] - def __len__(self): + results: NoSliceSequence[CodeCompletionResult] + numResults: int + + def __len__(self) -> int: return self.numResults - def __getitem__(self, key): + def __getitem__(self, key: int) -> CodeCompletionResult: if len(self) <= key: raise IndexError return self.results[key] class CodeCompletionResults(ClangObject): ---------------- Endilll wrote:
I find `CCRStructure` and `CodeCompletionResult` to be in a rather confusing relationship. Can we fold them into `CodeCompletionResult`, and add `from_result` to it? https://github.com/llvm/llvm-project/pull/140539 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits