This PR shouldn't change any SDK behavior, it just cleans up redundant code and utilizes Objective-C conventions.
TODO: need to rebase & squash some of the commits
Things addressed in the PR:
Clang format definition for consistent syntax. This changed spacing around pointers, etc. Style is closely matching Apple's frameworks.
Removed @synchronized locks around atomic properties. This is happening by default, no need to override property getters. TODO: replace locks with GCD queues where needed. I believe some of these could be made nonatomic.
Consistent documentation with /// style. Even Apple is inconsistent and keeps changing the AppleDoc format. /// style works inline for properties, and it's harder to mess up than /* ... one when there's multiple lines and parameters.
Removed direct pointer access in favor of properties. It's not needed to declare ivars since Objc 2.0.
Code is aligned to 120 columns. This is the unofficial Objc line length, due to giant selectors.
Removed redundant interface declarations from OT to LS. If a type conforms to a protocol, there's no need for copying all the methods in the implementer's .h file.
Suppressed some warnings that were propagated to client projects
Follow ups:
Use 3 letter prefix. I propose LST
Wire up clang format on CI, report failure if it's not clean
Make a matrix on Travis to run in parallel integration with Swift, Objc and clang format
This PR shouldn't change any SDK behavior, it just cleans up redundant code and utilizes Objective-C conventions.
TODO: need to rebase & squash some of the commits
Things addressed in the PR:
///
style. Even Apple is inconsistent and keeps changing the AppleDoc format.///
style works inline for properties, and it's harder to mess up than/* ...
one when there's multiple lines and parameters..h
file.Follow ups: