project-imas/encrypted-core-data — pull request #2 by r-peck (2012-12-21 17:48:19+00:00)
Title: Minor fixes to expression parsing and object ID generation

Ran into a couple of issues while working with this library. Made the following changes:

* Added a check on the existing object ID when obtaining permanent IDs to avoid getting more than one permanent ID for an object (in rare cases could cause the object to have an ID that would not correspond with a record in the database).
* Added support for recognizing key path expressions being treated as function expressions so that predicates with 'SELF.' will work. If the function of a functional expression is valueForKeyPath:, the expression gets treated like a key path expression.
* Added a missing 'else' statement that was causing constant value expressions for arrays and sets to fall through incorrectly.