diff options
| author | Tobias Grosser <grosser@fim.uni-passau.de> | 2013-01-19 11:03:40 +0000 |
|---|---|---|
| committer | Tobias Grosser <grosser@fim.uni-passau.de> | 2013-01-19 11:03:40 +0000 |
| commit | 055f4b4d00047cfd2a2fb360e8ea7874002de026 (patch) | |
| tree | aceaf8a8f4e4b04bac414d62e655149b8289e569 | |
| parent | b5f3bd956c74243bed74b198ccd7481545da1859 (diff) | |
| download | bcm5719-llvm-055f4b4d00047cfd2a2fb360e8ea7874002de026.tar.gz bcm5719-llvm-055f4b4d00047cfd2a2fb360e8ea7874002de026.zip | |
[cindex.py]: Speed up lookup of the completion kind
We can directly the number of the kind instead of going through the
completionChunkKindMap.
Formatting time changes from 0.84 to 0.72 seconds.
llvm-svn: 172899
| -rw-r--r-- | clang/bindings/python/clang/cindex.py | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/clang/bindings/python/clang/cindex.py b/clang/bindings/python/clang/cindex.py index 581f5e6fef8..474e10b4346 100644 --- a/clang/bindings/python/clang/cindex.py +++ b/clang/bindings/python/clang/cindex.py @@ -1668,9 +1668,13 @@ class CompletionChunk: return conf.lib.clang_getCompletionChunkText(self.cs, self.key).spelling @CachedProperty - def kind(self): + def __kindNumber(self): res = conf.lib.clang_getCompletionChunkKind(self.cs, self.key) - return completionChunkKindMap[res] + return res + + @CachedProperty + def kind(self): + return completionChunkKindMap[self.__kindNumber] @CachedProperty def string(self): @@ -1683,19 +1687,19 @@ class CompletionChunk: None def isKindOptional(self): - return self.kind == completionChunkKindMap[0] + return self.__kindNumber == 0 def isKindTypedText(self): - return self.kind == completionChunkKindMap[1] + return self.__kindNumber == 1 def isKindPlaceHolder(self): - return self.kind == completionChunkKindMap[3] + return self.__kindNumber == 3 def isKindInformative(self): - return self.kind == completionChunkKindMap[4] + return self.__kindNumber == 4 def isKindResultType(self): - return self.kind == completionChunkKindMap[15] + return self.__kindNumber == 15 completionChunkKindMap = { 0: CompletionChunk.Kind("Optional"), |

