Skip to content
Commits on Jan 24, 2011
  1. Fixed HTML and XML handling within example blocks. Closes #54.

    committed
    The problem was two fold: template engine is specifically instructed to prevent any HTML escaping (otherwise using custom HTML tags within comment code wouldn't be possible), but this renders example blocks containing XML or HTML useless. To overcome this, example blocks are manually escaped by appledoc. Note that this required updating example blocks unit tests - changing to real settings provider as mock didn't do escaping...
    
    Second: GBTokenizer marked HTML/XML opening comment marker `<!--` as a delimiter and removed it from the string, leaving only the remaining text. This interfered with example blocks processing later on. This was actually a bug as delimiter should only be considered a line containing ONLY delimiter chars (at present the regex used was matching only from start of line)!
    
    Also added few more unit tests for validating example blocks prefixed with spaces are detected.
    
    Increased build number to 525.
Commits on Jan 14, 2011
  1. Fixed methods parsing in cases where #pragma mark - is used. Closes #50.

    committed
    The problem was that appledoc considered any - or + as the start of a method. This, coupled with very simple implementation of parsing to keep it as versatile as possible, resulted in this:
    
    	#pragma mark -
    	#pragma mark Something
    
    	/** comment */
    	- (void)method;
    
    Being recognised as a method `- #pragma mark Something...`. The new parsing code simply checks if the leading - or + is followed by open parenthesis and only recognises the method if so.
    
    Thanks to "tonklon" for bringing this up!
Commits on Jan 6, 2011
  1. Fixed comments parsing for non-trivial sources. Closes #43.

    committed
    Considering this example (provided by "PrimaryFeather", appledoc would fail assigning the comment to the class:
    
    	/** Class description */
    	#ifdef __IPHONE_4_0
    	@interface SPBitmapFont : NSObject <NSXMLParserDelegate>
    	#else
    	@interface SPBitmapFont : NSObject
    	#endif
    
    With this update, parses is able to attach the comment although with a twist by always assuming the first declaration as the valid one and ignoring all others. In other words: when using such solutions, make sure the first @interface (or @protocol) is the one you'd like to see in the generated documentation. For above example this means that documented class will list NSXMLParserDelegate as adopted protocol.
    
    Note that to properly handle this the solution was to persist any encountered comments during parsing and only update them when new comments are detected. However this lead to situations that any found comment would be used for all subsequent objects in the same file. Therefore I had to add manual resetting of comments after assigning them to an object.
    
    *Important:* Although all unit tests pass and generated documentation looks ok, this might require additional tweaking. Let's see if some more bug reports come...
Commits on Dec 15, 2010
  1. Fixed __attribute__ parsing for property and method definition. Closes

    committed
    …#10.
    
    The problem was with __attribute__ being processed as part of property or method definition. This is properly detected now and is ignored, together with any combination of text enclosed within parenthesis following __attribute__ keyword.
    
    For example: "__attribute__()", "__attribute__(something)", "__attribute__((!@#!%^&*~`))" etc. are all ignored, as long as at least one open and close parenthesis should be following __attribute__ keyword
Commits on Dec 13, 2010
  1. Refactored settings handling by removing GBStoreProviding protocol.

    committed
    Reasoning is similar to previous commit.
  2. Refactored settings handling by removing GBApplicationSettingsProvidi…

    committed
    …ng protocol.
    
    Instead, the GBApplicationSettingsProvider class is used. Objective-C can solve "program to interface" rule quite easily through anonymous type and we can as easily mock classes as we can protocols, so having a protocol only complicated development...
Commits on Nov 14, 2010
  1. Copied all the changes from the old generating branch.

    committed
    Something broke while copying the project over from the old computer, so the simplest way to fix this was to pull from GitHub and copy all the files from the local backup...
Commits on Sep 26, 2010
  1. Fixed comment source info handling when two consequtive comments are …

    committed
    …found (i.e. previous and last comment).
Commits on Sep 24, 2010
  1. Fixed comment delimiters detection regex and cleaned up some code.

    committed
    Comment delimiter regex included a hyphen at the middle inside char class. This was interpreted as a range of chars. Hyphen is now properly written at the end of character class declaration... Couldn't write a unit test to catch this!
  2. Implemented debugDescription method for returning detailed object des…

    committed
    …cription with full debug information, updated log messages to include more information about source and fixed appledoc target to make it compile.
    
    Note that at this point debug information simply returns description.
  3. Implemented comment source file information parsing for all objects t…

    committed
    …hat can have comments attached.
  4. Added filename information to GBTokenizer to make it accessible for a…

    committed
    …ll higher level parsing classes.
  5. Refactored comment handling with GBModelBase by removing registerComm…

    committed
    …entString: and instead requiring clients to pass in the "whole" GBComment object instead.
  6. Refactored file data creation by moving the method to GBTokenizer.

    committed
    This makes it accessible for all higher level parsing classes.
Commits on Sep 23, 2010
Commits on Sep 22, 2010
  1. Implemented last stand-alone comment parsing.

    committed
    These need to be handled as they ussually contain method grouping information.
Commits on Sep 15, 2010
  1. Fixed parsing multiline comments with * prefix.

    committed
    The problem was that original regex used for detecting multiline comments didn't detect prefixed ones. After using proper regex, this works like a charm.
Commits on Aug 31, 2010
Commits on Aug 30, 2010
Commits on Aug 27, 2010
Commits on Aug 11, 2010
  1. Fixed log message for matching category definition to make it same as…

    committed
    … the rest of matching messages.
Commits on Aug 10, 2010
  1. Fixed comments reporting when empty comment is detected.

    committed
    The problem was that in case the pre-parsed comment value was empty string, the empty string was returned when nil was expected instead. This would be evident if valid comment with no data (//////////////////////////////// for example) was found just prior than an entity.
Something went wrong with that request. Please try again.