Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Comparing changes

Choose two branches to see what's changed or to start a new pull request. If you need to, you can also compare across forks.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also compare across forks.
base fork: tomaz/appledoc
base: master
...
head fork: tomaz/appledoc
compare: experimental
Checking mergeability… Don't worry, you can still create the pull request.
This comparison is big! We're only showing the most recent 250 commits
Commits on Mar 20, 2012
@tomaz Added remaining Objective C parser state skeletons. 85f56d9
@tomaz Added property and method parsing. e186170
Commits on Mar 21, 2012
@tomaz Added line/column number information to tokens.
This will be very useful for debugging purposes and warning/error messages.
441fec5
@tomaz Added #pragma mark parsing. 07b25af
@tomaz Added enum parsing. 637e678
@tomaz Added struct parsing. 581a282
@tomaz Added some empty lines to parsed results to make output more readable. 3ed481c
Commits on Mar 26, 2012
@tomaz Added read me file. f1c8665
@tomaz Updated read me with cmd line usage. 645e93c
@tomaz Updated objective c examples for unit testing and added file state un…
…it tests file.

Unit testing will be added once store is implemented though...
57d5ef3
Commits on Mar 28, 2012
@tomaz Refactored parsing to make it more robust. 93f2187
@tomaz Added basic unit tests for Objective C file parsing state. be3bb3e
@tomaz Added interface state unit tests. 5f8474e
@tomaz Added property definition unit tests. b841170
@tomaz Refactored matching methods on ObjectiveCParserState to also return c…
…urrent look ahead.

This simplifies cases where we need to look further ahead while inside callback block.
5735b2c
@tomaz Property parsing now supports multiple attributes and types. 45a0bbe
Commits on Mar 30, 2012
@tomaz Replaced ParseKit framework with static library to embed it to appledoc.
Without this, appledoc would not be usable on cmd line without copying ParseKit.framework to a search path such as ~/Library/Frameworks. Unnecessary complication for end users.
090774c
@tomaz Refactored token matching to support array index on PKToken level. 5a61c4d
@tomaz Refactored Objective C method parsing to support store registrations. 498ed0c
@tomaz And more method parsing unit tests. 6ca66bc
@tomaz Refactored #pragma mark parsing to support store registrations. 442d277
@tomaz Refactored enumeration parsing to support store registrations. 3701d91
Commits on Apr 06, 2012
@tomaz Refactored struct parsing to support store registrations.
Note that this is very basic at this point!
c3cc3b3
@tomaz Refactored higher level matching methods to TokensStream to make it a…
…vailable for other parsers.
0006cd3
@tomaz Removed duplicate parsing checks. e5dc337
Commits on Apr 10, 2012
@tomaz Refactored parse state delimiters into reusable properties.
This should optimize handling a bit and make it simpler to extract all delimiters into a separate class later on if necessary.
1da4c5e
@tomaz Removed test data - it's not needed. 00fb77a
Commits on Apr 11, 2012
@tomaz Refactored store registrations API into a NSObject category.
This avoids compiler warnings and provides common API definitions for all store registrations.
acfe7c0
Commits on Apr 12, 2012
@tomaz Added store level logging and refined settings a bit. 2db7d75
Commits on Apr 13, 2012
@tomaz Implemented base store objects. 6bdc0a1
@tomaz Refactored registration stack handling into ObjectInfoBase to have it…
… available for all store objects.
4a960ea
Commits on Apr 14, 2012
@tomaz Added unit tests for common behavior of ObjectInfoBase. 55677ea
@tomaz Refactored helper NSArray extensions into a generic category. 1100923
Commits on Apr 16, 2012
@tomaz Added partial properties and methods registration to interface base. b5b0059
@tomaz Fixed unit tests for Store validating registration methods are proper…
…ly passed to children.

As Store implements full registration API, we can use it as our child mock object. This not only makes unit tests pass, but also decouples them from child class implementations.
e581e71
@tomaz Added more pass-through registrations for Store.
Note that these are likely going to be refactored when handling actual implementations in a while.
210b56e
Commits on Apr 17, 2012
@tomaz Refactored store registration to make it simpler and more streamlined.
Note that at this point the refractor is not finished yet - type parsing and registration is not implemented.
b08859c
Commits on Apr 18, 2012
@tomaz Refactored type definitions into concrete methods for both property a…
…nd method info.
1e3c026
Commits on Apr 19, 2012
@tomaz Updated method info registrations and refined existing registration c…
…ode.
a48f79f
@tomaz Added method arguments registration. 393811e
@tomaz Added property data registration. a17a625
Commits on Apr 20, 2012
@tomaz Refined unit tests for store when pushing objects to registration stack.
Unit tests now verify that correct types of objects are pushed.
5285fff
@tomaz Fixed bug where method state expected body following method with argu…
…ments.

The problem was with a single BOOL set to YES. Have no idea how this happened. Prior unit tests didn't test for this so it wasn't detected.

Note that method state now also consumes semicolon after method definition. Although when used in actual application, this wouldn't be a problem due to Parser skipping over remnants, it's good practice to consume the whole thing when something is matched. I'd probably have to check for this in other parser states as well.
0d50c27
@tomaz Fixed bug where method state over-consumed method body.
The problem was in end brace testing which remained in the look ahead loop even after encountering last ending brace.
8d2773f
@tomaz Added more complex test fir verifying property state parses multiple …
…properties.
3cb12f5
@tomaz Added basic enumerations handling. b3e1aaa
@tomaz Store now registers all currently available top level objects to its …
…arrays.
0bfc786
@tomaz Added enumeration registration code. 7bf169f
@tomaz Added basic struct registrations. a67ac57
@tomaz Added top level objects canceling. bd1686d
Commits on Apr 24, 2012
@tomaz Added constant registration and fixed ending and canceling objects re…
…gistrations.
a789509
Commits on Apr 25, 2012
@tomaz Refactored parser logging to use data from registered objects instead…
… of mutable string.
c42cc72
Commits on May 03, 2012
@tomaz Added basic support for descriptors.
Descriptors are compiler attributes at the end of object declarations. They are more or less used to specify information for the compiler, for example deprecated API and similar. Examples include `__attribute__`, `DEPRECATED_ATTRIBUTE`, `NS_REQUIRED_NIL_TERMINATION` etc.

Note that at this point only basic handling is implemented - unit tests and the rest are on their way.
7431299
@tomaz Added Cedar framework to unit tests target. 7990193
@tomaz Updated all store unit tests to Cedar. f63e39f
Commits on May 04, 2012
@tomaz Updated all parser state unit tests to Cedar.
Property tests are still commented out due to previous refactoring not yet complete.
ae51074
@tomaz Removed OCHamcrest framework. 0b7c273
@tomaz Merge branch 'cedar' into experimental 61caeca
@tomaz Refactored property state unit tests to Cedar. 7295a76
@tomaz Introducing parsing parameters for Objective C states. bce91b0
@tomaz Updated unit tests to use new API. eca1868
@tomaz Updated state code to use new API. ab2678f
@tomaz Removed deprecated method. 15b1991
@tomaz Merge branch 'refactor-parsing-parameters' into experimental dd404a7
@tomaz Deleted left over TestCaseBase files.
Forgot to delete after moving to Cedar - these are no longer needed!
f97d6c8
Commits on May 05, 2012
@tomaz Added descriptors support for properties. 7c9bef6
@tomaz Methods with arguments require at least variable name.
So these are valid: `- method:(id)var;` and `- method:var;`, but this isn't: `- method:;`. Although Objective C allows such syntax, appledoc doesn't, mainly due to simpler support for descriptors. While this may seem like disadvantage, such a syntax is not recommended and is a good way towards unreadable code.
e4cc2e8
@tomaz Refactored method state by splitting parsing method into shorter more…
… readable chunks.
fd823c8
@tomaz Added support for method descriptors parsing to store classes. 15709ec
Commits on May 06, 2012
@tomaz Added support for method descriptors parsing to Objective C parser cl…
…asses.
e8c3b81
@tomaz Added support for invalid method descriptors. cc2e934
@tomaz Refactored Objective C parsing states by splitting parsing method int…
…o smaller chunks.
4009b6e
Commits on May 07, 2012
@tomaz Refactored enum state item states handling by moving common state han…
…dling to a reusable base class.
d3376df
@tomaz Implemented Objective C constant parsing. 27523a0
@tomaz Refactored struct to use common constant parsing state. 660d0d6
@tomaz Added basic support for parsing struct name. 7c1a32f
@tomaz Added struct name handling in store objects. 8d8e668
Commits on May 08, 2012
@tomaz Refined descriptors handling for constants and properties. 185bb77
@tomaz Fixed constant info handling of descriptors.
Forgot to add descriptors registration when implementing feature...
54f26f2
@tomaz Merge branch 'refactor-struct' into experimental fe353df
@tomaz Fixed taking asterisk as descriptor and log descriptions for constant…
…s and properties.
ff6ac64
@tomaz Added custom TEST_BEGIN and TEST_END macros.
This inject "master" describe block that includes the name of test. This makes identifying failed cases due to OCMock errors simpler in Cedar. In some cases OCMock raises exception due to invalid expectations and while Cedar intercepts it, no source info is provided. Therefore we can only rely on descriptions and Cedar doesn't print class name. To circumvent, a "master" describe block is automatically inserted that includes this information.
5be432d
@tomaz Added colon after all describe sentences to visually split them.
Just for reference: used Xcode search navigator in regex mode searching for `describe\(@"([^"]+[^:])"` and replacing with `describe(@"\1:"`.
5007f14
@tomaz If struct declaration is encountered, it is ignored.
To keep things simple, appledoc only accepts comments inside struct definition (usually in header file), but ignores struct declaration (usually in implementation file). In other words: if struct items are delimited by comma, we take them to be declaration and are thus ignored.
e8258e8
@tomaz Added support for struct name after body. df9b205
@tomaz Added support for internal logging.
This includes initializations and deallocations.
7ae62e0
@tomaz Added cmd line switch for enabling internal logging. daf22a1
@tomaz Added method descriptors to log output. 929ada9
@tomaz Enums require ending semicolon. 7a810f8
@tomaz Added enumeration name support in store layer. 93173a3
@tomaz Added basic support for enum name. 5ba1923
@tomaz Added support for enum name with following typedef.
This should cover cases like:

```
enum {
    ...
};
typedef NSUInteger MyEnum;
```

appledoc will take `MyEnum` as the name of the preceding enum. Note that it only works if typedef is placed directly after enum and it's only composed of three tokens: `typedef`, `type` and `name`, followed by semicolon.
4d05849
@tomaz Merge branch 'enum-name' into experimental abf6573
Commits on May 09, 2012
@tomaz Updated unit tests for constant to demonstrate what gets parsed if si…
…ngle token is given.
663a0c6
@tomaz Added support for parsing constant on file level. 2603db6
@tomaz Constant is now able to figure out whether current tokens represent i…
…t or not.

Note that this is implemented in a very basic way: by checking presence of invalid symbols. Also note that in case descriptor is detected, any symbol after it is considered valid.
c19460d
@tomaz Added logging for matched constants.
Note that this "garbages" output when constants are detected in structs: it first spits out constant from the struct and then the struct itself. While this could be remedied with some flag indicating to constant state whether it should or not spit out the parsed data, I chose to leave it alone - this is internal logging only (kind of) that needs to be explicitly enabled. And it's more or less intended for debugging parsing.
9d2c8c7
@tomaz Merge branch 'top-level-constant-parsing' into experimental 1864811
Commits on May 17, 2012
@tomaz Cleaned up for Xcode 4.4. 1c1dc57
@tomaz Renamed MethodGroupData to MethodGroupInfo for more consistent naming. edf9004
Commits on Jun 12, 2012
@tomaz Quick commit to clear prior to installing Cocoa Pods. dfee6df
@tomaz Added parsekit dependency. 178bc83
@tomaz Added Cedar dependency. 1631afe
@tomaz Added OCMock dependency. 6089c1a
@tomaz Added GBCli dependency. 408455b
@tomaz Added DDCli dependency (subset only!). bb1acb6
@tomaz Merge branch 'cocoa-pods' into experimental a4e794a
@tomaz Updated Cedar and OCMock dependencies to latest - defaults were using…
… older commits.
6b8f1f2
Commits on Jun 13, 2012
@tomaz Cleaned up dependencies and fixed ParseKit build.
As for the ParseKit, the problem was with it being built without TARGET_OS_SNOW_LEOPARD setting, so all block based API was excluded. To circumvent, I created "manual" dependency adding the setting to preprocessor definitions. Now the project builds and runs.

I also cleaned up Cedar and OCMock dependencies: for OCMock specifically, I removed all extra files such as examples. The project still requires some brushing - coming up in following commits.
401bca3
@tomaz Cleaned up build warnings for appledoc target dependencies. 14c3489
@tomaz Fixed CocoaPods dependencies for unit testing target.
Seems like CocoaPods didn't correctly setup appledoc unit test target - it injected libPods.a instead of libPods-AppledocTests.a (might have been due to fact that I added unit tests target after initially setting up dependencies).
68f72f7
@tomaz Suppressed all warnings in CocoaPods dependencies.
This probably isn't the best idea, but at least I can focus on my code instead of dealing with third party libraries. Although alternative route would be to suppress individual warnings (which is what I did previously), I couldn't find cmd line options for some of them.
d9c6a5a
Commits on Jun 14, 2012
@tomaz Introducing comments parser class.
This takes care of the burden for basic comments detection and parsing on behalf of source code parsers. See class comment for details on usage and unit tests for functionality.
ae855a7
Commits on Jun 15, 2012
@tomaz Parsing now almost works (requires a refactor to make it simpler, com…
…ing up).
5b96686
@tomaz Refactored to callbacks for comments parsing.
This allows us detect and process multiple successive comments without garbaging the parsing code.
62c35e1
@tomaz Refactored objective C parser to make core more readable. a976fa6
@tomaz Fixed single line comment followed immediately by multi line one and …
…added more unit tests.
4604e96
Commits on Jun 16, 2012
@tomaz Source info is properly assigned to store top level registered objects. 03f994b
@tomaz Store now passes source info to current registration object. acac436
@tomaz All parent objects also pass source info to the children they create. 77d7795
@tomaz Registering method group from @name directives. b05ea6d
@tomaz Comments registration also supports source info. 4d1ec5e
@tomaz Comments are now registered including their source info. 9bbbeb8
Commits on Jun 25, 2012
@tomaz Converted to modern Objective-C.
Note that this change requires Xcode 4.4 or newer for building, but binary wise it should be compatible with 10.7!
159366c
@tomaz Manually removed property synthesize and extension method declaration. 18f5e19
Commits on Aug 10, 2012
@tomaz Fixed comments handling and registration.
The problem was with registration of "normal" comments placed in front of an object: in such case we don't even have an object in registration stack, so we need to delay operation until next object registration and append comment then. Handling inline comments remains the same.
da68e94
@tomaz Updated log output to produce more readable results for commented met…
…hods and properties.

Also fixed typo on unit test name.
0099fe5
@tomaz Updated podfile to map dependencies to specific commit.
This should give more control to updating dependencies and prevent unexpected build problems due to breaking changes in various submodules.
f8e7353
Commits on Aug 11, 2012
@tomaz Rearranged project and unified store object class names. bd76a79
@tomaz Added basic data structures for holding comment components. c4c0fdf
Commits on Aug 12, 2012
@tomaz Implemented basic comment processing infrastructure. a881a0d
Commits on Aug 14, 2012
@tomaz Moved process macro to common header to make it accessible everywhere. 2b35672
@tomaz Added sundown dependency. ab9a384
@tomaz Added basic unit tests for converting comment source string to compon…
…ents.
271a716
@tomaz Switched to original sundown library.
After thinking it over, I'll try and use different approach to preprocessing cross references, one that won't require extensions I implemented while testing the code.
4a8f289
@tomaz Fixed logging formats.
This broke after introducing various logging classes.
0b16e77
Commits on Aug 25, 2012
@tomaz Added MarkdownParser support right into ProcessorTask base class to h…
…ave it ready for all concrete subclasses.
62d1748
@tomaz Refactored log descriptions handling for clearer code.
Instead of relying on `gb_description`, we're now using plain `description` for producing descriptions suitable for logging and `debugDescription` for full description for debugger. The only exception to this rule is `NSString` which still uses `gb_description` due to compatibility reasons.
3079093
@tomaz Refactored string normalization to work on whole words.
Note that this is somewhat less ideal as it only takes the first part of the string as opposed to prefix and suffix as was implemented before. Although it would be possible to implement whole word split at both sides, it would be a bit more complicated and involved. Another downside is missing separators and other nonstandard chars. However we're now using proper words boundaries that should work regardless of language of the represented text.

Will leave this code for the moment and deal with it later on in case I don't like the results.
2793f6e
Commits on Oct 31, 2012
@tomaz Updated Cedar to version 0.8.1.
Note that I got compiler errors with 0.9.0, so am leaving it out for the moment being.
de66de9
@tomaz Added basic comment components parsing. d719580
@tomaz Added unit tests for handling components for @warning and @bug direct…
…ives.
8240781
@tomaz Refactored process comment components unit tests for better reusability.
Also added framework for handling comment parameters.
478dafc
Commits on Nov 01, 2012
@tomaz Added some more @param unit tests and refined behavior.
Note that unit tests are not working with this commit; I'll refactor the project a bit to allow me to finish the functionality.
ed502ac
@tomaz Refactored extensions to its own group and each extension to its own …
…file.
e4444cd
Commits on Nov 02, 2012
@tomaz Implemented named directives parsing. 95c15c2
Commits on Nov 03, 2012
@tomaz Fixed unit tests for property state and linker warnings due to invali…
…d directory.
5078411
@tomaz Fixed warning "direct access in ___cxx_global_var_init5 to global wea…
…k symbol".

The problem was due to not using "symbols hidden by default". When enabling this option, the warning went away. Read more on http://stackoverflow.com/questions/8685045/xcode-with-boost-linkerid-warning-about-visibility-settings.
3719ff7
@tomaz Implemented @exception parsing. 55ebe87
Commits on Nov 05, 2012
@tomaz Refactored @param and @exception handling to make code less verbose a…
…nd DRY.
194f0ea
@tomaz Refactored comment named argument info to comment named section info.
This name should better serve the purpose of the class.
7f12a0c
@tomaz Added comment section info for unnamed components and refactored name…
…d section to be its subclass.

Unnamed sections include @return block for example.
46d8ad1
@tomaz Implemented @return processing. 6ea0fa4
@tomaz Updated process comment components task unit tests. 4dff790
@tomaz Grouped common text to simplify and DRY.
Note that @param, @exception and @return still are implemented separately - we need to verify certain registration message is sent and while we can pass SEL through NSDictionary, we can't set expectation on that selector (AFAIK).
4c46b31
Commits on Nov 06, 2012
@tomaz Refactored MarkdownParser to allow arbitrary context object passed to…
… parsing method and subsequently to delegate.
70addda
@tomaz Updated comments for comment and comment component to make more sense. 9cc8c08
Commits on Nov 11, 2012
@tomaz Fixed comment components and sections parsing; it now does the correc…
…t thing!
f7cb7fe
Commits on Nov 12, 2012
@tomaz Added OCMockito and OCHamcrest to pod file and project. b72b617
@tomaz Refactored CommentInfo discussion from array of CommentComponentInfo …
…to CommentSectionInfo.
ad9a9fd
@tomaz Refactored comment components task unit tests to OCMockito. 6d7104f
@tomaz Added gb_format shortcut for stringWithFormat. ae34281
@tomaz Refactored AppledocTests to OCMockito. 984a0e8
@tomaz Refactored ConstantInfo tests to OCMockito. ea66b3b
@tomaz Converted viable unit tests to OCMockito.
Note that I kept OCMock for unit tests that are at this moment not possible with OCMockito (partial objects) or don't work. For the moment being OCMockito is preferred, but OCMock is still fine.
810dcd4
@tomaz Merge branch 'ocmockito' into experimental e129cc9
Commits on Nov 15, 2012
@tomaz Refactored process comment components unit tests to make failing case…
…s more obvious.

Instead of comparing various components, we're now comparing primitives: strings and counts. The main pro of this approach is much more explicit case failure messages (i.e. expected A but got B). Another pro is there's no longer need to implement `toString:`. The downside is more verbose verification logic, but this should be overshadowed by the fact that's it much faster to see what exactly was wrong.
c0d456f
Commits on Nov 16, 2012
@tomaz Implemented code blocks parsing. 0760a4e
Commits on Nov 21, 2012
@tomaz Refactored ProcessCommentComponentsTask to use simpler markdown handl…
…ing.

Instead of dealing with MarkdownParser's complexities, we're simply detecting empty lines and using them to split comment source string to components.
4ec558f
@tomaz Added unit tests for block quotes. 813d4e4
@tomaz Added unit tests for ordered and unordered lists. 1500e39
@tomaz Added basic tables validating unit tests. ea593fb
@tomaz Merge branch 'refactor-sections-parsing' into experimental 64086b2
Commits on Nov 23, 2012
@tomaz Simplified logging.
There are only 3 levels now: default (includes errors, warnings and normal), verbose and debug. To change to verbose, use `--verbose` or `--verbose 1`, to change to debug, use `--verbose 2`.
51e3db6
@tomaz Refined logging so normal mode produces at least basic information as…
… to what the tool is doing.
82ca6ac
@tomaz Fixed unit testing failing due to recent logging changes.
Because normal logging was enabled by default, unit tests started failing after recent changes which moved some of verbose or info logging to normal. To fix, logging is off by default.
b171491
@tomaz Refactored `ProcessorTests` to OCMockito. 2878f3a
@tomaz Refined unit tests for `ProcessCommentComponentsTask`. 35fa2c6
@tomaz Warnings and bugs are properly converted to special `CommentComponent…
…Info` subclasses.
53d39c0
@tomaz Fixed @warning and @bug sections handling when not delimited by empty…
… line.

In such case, we must take the second instance as part of the previous section!

Note that I also refactored section parsing code to make it more readable.
0058dce
@tomaz Implemented code block detection and storing.
Note that code blocks are treated the same as @warning or @bug - with special `CommentComponentInfo` subclass. The reason for such behavior is purely for making it easier for subsequent processing passes (such as detecting cross references) to skip code blocks entirely.

Also note that at this point detecting code block is implemented by checking for tab or four spaces prefix on each line. This is probably not the fastest implementation. Furthermore: the same detection is repeated for each detected code block - first when splitting whole string into sections and then when detecting types of components from sections. Oh, and also for most other components as this is the first test.
b575a0e
Commits on Nov 24, 2012
@tomaz Added fenced code blocks detection. 39dd52f
@tomaz Just a quick comment and return fix. 2f3b77a
@tomaz Renamed ProcessCommentComponentsTask to SplitCommentToSectionsTask. 359882c
@tomaz Back to building (but not yet working :) e087215
@tomaz Fixed comment sections and components unit test files names and made …
…first batch of unit tests pass.
f860d64
@tomaz Added back unit tests for code blocks. c444bfa
@tomaz Added @warning and @bug sections parsing. 6e120a0
@tomaz Added back method section tests. cce4d50
@tomaz Implemented invocation for register comment components task. a87e560
@tomaz Added unit tests for components registering for abstract and normal t…
…ext.
057507d
@tomaz Added back unit tests for code block sections registration. e3292a9
@tomaz Added remaining unit tests for method sections.
Also fixed appending to last section; had to remember the last section and if current string doesn't match one of the method sections, we just append it as component to last section.
2419bde
@tomaz Merge branch 'split-sections-components-processing' into experimental 9765e99
@tomaz Added semicolons to the end of processor statement.
While not required as macro expands to statements block, this way still makes the code more like "normal" one.
17c977d
@tomaz Added detect cross references task to the project. 503d409
Commits on Nov 27, 2012
@tomaz Implemented framework for converting comment components source string…
…s into preprocessed markdown.
aa4bf2a
@tomaz Added unit tests for simple Markdown links processing. 6feea59
@tomaz Added unit tests for unrecognized remote member cross references. 24598de
@tomaz Added unit tests and code for getting top level objects by their names. 77ac24d
Commits on Nov 28, 2012
@tomaz Implemented member objects cache and simplified Store interface. fa08e4b
Commits on Dec 03, 2012
@tomaz Implemented basic cross references detection for top level objects. 8fe2ce5
@tomaz Refined top level objects cross references detection. 41f1e9c
@tomaz Implemented remote members cross references handling. 95646e4
@tomaz Implemented framework for local members handling. ff85469
@tomaz Refactored cross references unit tests to share the same example group. 20b9a35
@tomaz Refactored objects cache handling by moving the functionality to Obje…
…ctsCache class.

This unifies caching and simplifies the rest of the app.
8c1e185
Commits on Dec 04, 2012
@tomaz Implemented local members cache handling during cross references dete…
…ction.
b9def35
@tomaz Properties remote cross references cache now allows usage of getters …
…and setters.
67499ca
@tomaz Properties local members cache now allows usage of getters and setters. 1c92f13
@tomaz Fixed passing of Store and GBSettings to individual processor tasks. 0aa1925
@tomaz Fixed local members cache creation for class and instance methods. d59f87d
@tomaz Fixed method and property cross references template. 500e05f
@tomaz Fixed remote cross references links generation.
The problem was that only the link to the member within its parent object was created, but instead it should also add the link to the parent itself.
8f35674
@tomaz Fixed single char suffix after cross reference.
The problem was in code that checked if there's remaining string to be appended. It incorrectly checked the index in case there was single whitespace left.
86a1ff0
@tomaz Fixed cross references detection when using punctuation. d21dc1e
Commits on Dec 06, 2012
@tomaz Implemented cross references detection inside normal Markdown links. …
…References #180.

This handles cases where users would use appledoc cross reference as link part of Markdown link. For example: `[desc](MyClass)` etc. Also links with titles: `[desc](MyClass "title")`. It also works for remote members: `[desc](-[MyClass method:])`.
b968e27
@tomaz Refactored word detection regular expression to match non-delimiter c…
…hars.

This makes it work the same way as the rest of cross refs expressions. Additionally it prepares ground for handling of various cross ref formats being introduced in the following commits.
3950b47
@tomaz Added `--crossrefs` cmd line switch. 31f1e29
@tomaz Added `gb_contains:` method to `NSString` for simpler checking. 2c0a634
@tomaz Added more word delimiters for inline cross references matching. 6507e6c
@tomaz Added more verbose logging of various phases of cross refs detection. 4b8da42
@tomaz Added `--crossrefs` cmd line switch handling.
Note that the user can now supply not only the matcher regex, but also output format. The syntax is: `<matcher>:/<output>/`. Output format is optional, so `<matcher>` is also valid and will revert to default output format. However if output format is given, it must contain the following two placeholders: `$` and `%`. `$` is replaced by the cross reference description and `%` by actual cross reference link.
a7bb350
@tomaz Merge branch 'crossrefs-format' into experimental d1f3f02
@tomaz Refactored `ProcessorTask` into two specialized `ProcessorCommentTask`.
The original class will be the base for generic processor tasks dealing with all store objects, whereas the newly introduced comment task handles current batch of individual comment dealing tasks.
8e939c4
@tomaz Added skeleton for merge known objects processor task. f3c0dc9
@tomaz Processor now invokes merge known objects task. 0b5179c
Commits on Dec 07, 2012
@tomaz Processor now invokes link known objects task. 296c185
Commits on Dec 10, 2012
@tomaz Implemented handling links to known adopted protocols. 62a3a6c
@tomaz Refactored `ClassInfo` to support links to super class.
Instead of simply storing name of super class as `NSString`, we now use `ObjectLinkInfo`.
c19b32f
@tomaz Implemented linking to known super classes. bba7d8c
@tomaz Added convenience property for accessing name of super class. 035a85d
@tomaz Refactored super class links detection into it's own method for bette…
…r code clarity.
9fe1cd5
@tomaz Implemented data structure for handling links to classes from categor…
…ies.
07dd791
@tomaz Categories and extensions are now linked with the class they extend. 61dfc5f
@tomaz Merge branch 'link-known-objects' into experimental 4c47395
@tomaz Added skeleton fetch documentation task. 148b352
Commits on Dec 11, 2012
@tomaz Refactored store objects and mocks creation for unit tests into commo…
…n class and categories.
35e0a5d
@tomaz Implemented fetching documentation from adopted protocols. 857fbd3
Commits on Dec 12, 2012
@tomaz Removed processor tests validating store objects get enumerated.
Enumeration by itself doesn't prove anything - it's what the code does on enumerated objects that counts... Besides, members enumeration tests started failing with latest stuff :)
7fedc3c
@tomaz Added link to parent interface from properties and methods. 85a332d
@tomaz Simplified unit tests for `LinkKnownObjectTasks`. 661fa8e
@tomaz Implemented `--search-comments` cmd line switch for enabling or disab…
…ling searching for missing comments.
91d6dc3
@tomaz Merge branch 'fetch-documentation' into experimental 89fc82c
Commits on Jan 11, 2013
@tomaz Added missing Xcode workspace bundles.
Had them in my gitignore file, remnant of Xcode 2 & 3 days...
a694b28
Commits on Oct 12, 2013
@mralexgray mralexgray Set Unit Test as "Testing Target" for main app and set Target as shar…
…ed to propagate to forks.
b944f4f
Commits on Oct 13, 2013
@tomaz Merge pull request #406 from mralexgray/experiemental-unit-test-target
Set Unit Test as "Testing Target" for main app and set Target as shared ...
69ba697
Commits on Jan 25, 2014
@tomaz Implemented basic merging of method groups from categories and extens…
…ions.
8be86da
@tomaz Implemented unit tests for merging categories and extensions to class…
… with existing groups.
c464351
@tomaz Upgraded to latest cocoapods. 93d7e65