Clang-KeyPathValidator
Clang-KeyPathValidator copied to clipboard
Early exploration in a clang plugin for checking Cocoa KVC/KVO key paths
http://llvm.org/docs/CommandGuide/lit.html http://llvm.org/docs/TestingGuide.html
(Related to #5) Can the plugin add _only_ the key path warnings, instead of overwriting all diagnostics? Can we compile / run the verification as a separate pass without the...
Currently warnings only show when explicitly building. Does creating an `xcspec` and/or `xcplugin` improve this? http://railsware.com/blog/2014/02/28/creation-and-using-clang-plugin-with-xcode/
The analyzer can perform more detailed analysis, possibly checking some forms of non-literal key paths. Can we validate this? ``` NSString *s = @"key"; [self valueForKey:s]; ``` Can we validate...
Is this possible without generating a ton of spurious warnings?
Like this does: https://github.com/jmah/Clang-OrphanedKPA
https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/KeyValueCoding/Articles/DataTypes.html#//apple_ref/doc/uid/20002171-SW2
Methods should be decorated with two types of attributes: 1. Argument n is a key path relative to the receiver (e.g. `valueForKeyPath:`) 2. Argument n is a key path relative...