Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Enabled line wrapping and updated comments to fit better.

  • Loading branch information...
commit 0bb1c7d61d0b6169667207d8363b79df5c174afc 1 parent 85ff32d
@tomaz authored
View
16 Application/GBAppledocApplication.h
@@ -12,21 +12,13 @@
/** The appledoc application handler.
- This is the principal tool class. It represents the entry point for the application. The main promises of the class
- are parsing and validating of command line arguments and initiating documentation generation. Generation is divided
- into several distinct phases:
+ This is the principal tool class. It represents the entry point for the application. The main promises of the class are parsing and validating of command line arguments and initiating documentation generation. Generation is divided into several distinct phases:
- 1. Parsing data from source files: This is the initial phase where input directories and files are parsed into a
- memory representation (i.e. objects) suitable for subsequent handling. This is where the source code files are
- parsed and validated for possible file or object-level incosistencies. This step is driven by `GBParser` class.
+ 1. Parsing data from source files: This is the initial phase where input directories and files are parsed into a memory representation (i.e. objects) suitable for subsequent handling. This is where the source code files are parsed and validated for possible file or object-level incosistencies. This step is driven by `GBParser` class.
- 2. Post-processing of the data parsed in the previous step: At this phase, we already have in-memory representation
- of all source code objects, so we can post-process and validate things such as links to other objects etc. We can
- also update the in-memory representation with this data and therefore prepare everything for the final phase. This
- step is driven by `GBProcessor` class.
+ 2. Post-processing of the data parsed in the previous step: At this phase, we already have in-memory representation of all source code objects, so we can post-process and validate things such as links to other objects etc. We can also update in-memory representation with this data and therefore prepare everything for the final phase. This step is driven by `GBProcessor` class.
- 3. Generating output: This is the final phase where we use the in-memory data to generate output. This step is driven
- by `GBGenerator` class.
+ 3. Generating output: This is the final phase where we use in-memory data to generate output. This step is driven by `GBGenerator` class.
*/
@interface GBAppledocApplication : NSObject <GBApplicationSettingsProviding, DDCliApplicationDelegate>
View
13 Model/GBAdoptedProtocolsProvider.h
@@ -12,12 +12,9 @@
/** A helper class that unifies adopted protocols handling.
- Dividing implementation of adopted protocols to a separate class allows us to abstract the logic and reuse it within any
- object that needs to handle adopted protocols using composition. It also simplifies protocols parsing and handling. To use
- it, simply "plug" it to the class that needs to handle adopted protocols and provide access through a public interface.
+ Dividing implementation of adopted protocols to a separate class allows us to abstract the logic and reuse it within any object that needs to handle adopted protocols using composition. It also simplifies protocols parsing and handling. To use it, simply "plug" it to the class that needs to handle adopted protocols and provide access through a public interface.
- The downside is that querrying code becomes a bit more verbose as another method or property needs to be sent before getting
- access to actual adopted protocols data.
+ The downside is that querrying code becomes a bit more verbose as another method or property needs to be sent before getting access to actual adopted protocols data.
*/
@interface GBAdoptedProtocolsProvider : NSObject {
@private
@@ -27,8 +24,7 @@
/** Registers the given protocol to the providers data.
- If provider doesn't yet have the given protocol instance registered, the object is added to `protocols` list. If the same object
- is already registered, nothing happens.
+ If provider doesn't yet have the given protocol instance registered, the object is added to `protocols` list. If the same object is already registered, nothing happens.
@warning *Note:* If another instance of the protocol with the same name is registered, an exception is thrown.
@@ -39,8 +35,7 @@
/** Merges data from the given protocol provider.
- This copies all unknown protocols from the given source to receiver and invokes merging of data for receivers protocols
- also found in source. It leaves source data intact.
+ This copies all unknown protocols from the given source to receiver and invokes merging of data for receivers protocols also found in source. It leaves source data intact.
@param source `GBAdoptedProtocolsProvider` to merge from.
*/
View
3  Model/GBAdoptedProtocolsProvider.m
@@ -33,7 +33,8 @@ - (void)registerProtocol:(GBProtocolData *)protocol {
[existingProtocol mergeDataFromObject:protocol];
return;
}
- if ([_protocolsByName objectForKey:protocol.nameOfProtocol]) [NSException raise:@"Protocol with name %@ is already registered!", protocol.nameOfProtocol];
+ if ([_protocolsByName objectForKey:protocol.nameOfProtocol])
+ [NSException raise:@"Protocol with name %@ is already registered!", protocol.nameOfProtocol];
[_protocols addObject:protocol];
[_protocolsByName setObject:protocol forKey:protocol.nameOfProtocol];
}
View
6 Model/GBIvarData.h
@@ -17,8 +17,7 @@
/** Returns autoreleased instance of the ivar data from given array of components.
- Components array should contain all ivar type tokens and ivar name as the last entry. Types are copied to `ivarTypes` property
- and name to `ivarName` property.
+ Components array should contain all ivar type tokens and ivar name as the last entry. Types are copied to `ivarTypes` property and name to `ivarName` property.
@param components Components array to setup the data from.
@return Returns initialized instance.
@@ -28,8 +27,7 @@
/** Initializes the ivar data from given array of components.
- Components array should contain all ivar type tokens and ivar name as the last entry. Types are copied to `ivarTypes` property
- and name to `ivarName` property.
+ Components array should contain all ivar type tokens and ivar name as the last entry. Types are copied to `ivarTypes` property and name to `ivarName` property.
@param components Components array to setup the data from.
@return Returns initialized instance.
View
14 Model/GBIvarsProvider.h
@@ -12,13 +12,9 @@
/** A helper class that unifies ivars handling.
- Dividing implementation of ivars provider to a separate class allows us to abstract the logic and reuse it within any object
- that needs to handle ivars using composition. This breaks down the code into simpler and more managable chunks. It also simplifies
- ivars parsing and handling. To use the class, simply "plug" it to the class that needs to handle ivars and provide access through
- public interface.
+ Dividing implementation of ivars provider to a separate class allows us to abstract the logic and reuse it within any object that needs to handle ivars using composition. This breaks down the code into simpler and more managable chunks. It also simplifies ivars parsing and handling. To use the class, simply "plug" it to the class that needs to handle ivars and provide access through public interface.
- The downside is that querrying code becomes a bit more verbose as another method or property needs to be sent before getting
- access to actual ivars data.
+ The downside is that querrying code becomes a bit more verbose as another method or property needs to be sent before getting access to actual ivars data.
*/
@interface GBIvarsProvider : NSObject {
@private
@@ -47,8 +43,7 @@
/** Registers the given ivar to the providers data.
- If provider doesn't yet have the given ivar instance registered, the object is added to `ivars` list. If the same object is already
- registered, nothing happens.
+ If provider doesn't yet have the given ivar instance registered, the object is added to `ivars` list. If the same object is already registered, nothing happens.
@warning *Note:* If another instance of the ivar with the same name is registered, an exception is thrown.
@@ -59,8 +54,7 @@
/** Merges data from the given ivars provider.
- This copies all unknown ivars from the given source to receiver and invokes merging of data for receivers ivars
- also found in source. It leaves source data intact.
+ This copies all unknown ivars from the given source to receiver and invokes merging of data for receivers ivars also found in source. It leaves source data intact.
@param source `GBIvarsProvider` to merge from.
*/
View
11 Model/GBMethodArgument.h
@@ -61,13 +61,9 @@
/** Initializes method argument with the given parameters.
- This is the designated initializer. You can either use it to specify method argument with all parameters, in such case you must
- supply all parameters, or you can use it to specify method argument without type. In such case you should set types and var to `nil`.
- If the argument is variable arg type, you should pass in optional termination macros or empty array if no termination macro is used.
- To specify standard argument, pass `nil` for termination macros instead!
+ This is the designated initializer. You can either use it to specify method argument with all parameters, in such case you must supply all parameters, or you can use it to specify method argument without type. In such case you should set types and var to `nil`. If the argument is variable arg type, you should pass in optional termination macros or empty array if no termination macro is used. To specify standard argument, pass `nil` for termination macros instead!
- @warning *Note:* If you use the selector for type-less argument, both initializer parameters - types and var must be `nil`. If only
- one of these is `nil`, exception is thrown.
+ @warning *Note:* If you use the selector for type-less argument, both initializer parameters - types and var must be `nil`. If only one of these is `nil`, exception is thrown.
@param argument The name of the method argument, part of method selector.
@param types Array of argument types in the form of `NSString` instances or `nil` if not used.
@@ -102,8 +98,7 @@
/** Array of variable arguments termination macros.
- Termination macros array define -(result)arg:(type)var,...*macros* part of method. If argument isn't variable or doesn't have termination macros,
- this is `nil`.
+ Termination macros array define -(result)arg:(type)var,...*macros* part of method. If argument isn't variable or doesn't have termination macros, this is `nil`.
*/
@property (readonly) NSArray *terminationMacros;
View
14 Model/GBMethodsProvider.h
@@ -12,13 +12,9 @@
/** A helper class that unifies methods handling.
- Dividing implementation of methods provider to a separate class allows us to abstract the logic and reuse it within any object
- that needs to handle methods using composition. This breaks down the code into simpler and more managable chunks. It also simplifies
- methods parsing and handling. To use the class, simply "plug" it to the class that needs to handle methods and provide access through
- public interface.
+ Dividing implementation of methods provider to a separate class allows us to abstract the logic and reuse it within any object that needs to handle methods using composition. This breaks down the code into simpler and more managable chunks. It also simplifies methods parsing and handling. To use the class, simply "plug" it to the class that needs to handle methods and provide access through public interface.
- The downside is that querrying code becomes a bit more verbose as another method or property needs to be sent before getting
- access to actual methods data.
+ The downside is that querrying code becomes a bit more verbose as another method or property needs to be sent before getting access to actual methods data.
*/
@interface GBMethodsProvider : NSObject {
@private
@@ -47,8 +43,7 @@
/** Registers the given method to the providers data.
- If provider doesn't yet have the given method instance registered, the object is added to `methods` list. If the same object is already
- registered, nothing happens.
+ If provider doesn't yet have the given method instance registered, the object is added to `methods` list. If the same object is already registered, nothing happens.
@warning *Note:* If another instance of the method with the same selector is registered, an exception is thrown.
@@ -59,8 +54,7 @@
/** Merges data from the given methods provider.
- This copies all unknown methods from the given source to receiver and invokes merging of data for receivers methods
- also found in source. It leaves source data intact.
+ This copies all unknown methods from the given source to receiver and invokes merging of data for receivers methods also found in source. It leaves source data intact.
@param source `GBMethodsProvider` to merge from.
*/
View
4 Model/GBMethodsProvider.m
@@ -42,9 +42,7 @@ - (void)registerMethod:(GBMethodData *)method {
}
- (void)mergeDataFromMethodsProvider:(GBMethodsProvider *)source {
- // If a method with the same selector is found while merging from source, we should check if the type also matches. If so, we can
- // merge the data from the source's method. However if the type doesn't match, we should ignore the method alltogether (ussually this
- // is due to custom property implementation). We should probably deal with this scenario more inteligently, but it seems it works...
+ // If a method with the same selector is found while merging from source, we should check if the type also matches. If so, we can merge the data from the source's method. However if the type doesn't match, we should ignore the method alltogether (ussually this is due to custom property implementation). We should probably deal with this scenario more inteligently, but it seems it works...
if (!source || source == self) return;
GBLogDebug(@"Merging data from implementation...");
for (GBMethodData *sourceMethod in source.methods) {
View
3  Model/GBModelBase.h
@@ -64,8 +64,7 @@
/** Merges all data from the given object.
- Source object is left unchanged. If the same object is passed in, nothing happens. Subclasses should override and
- add their own specifics, however they should send super object the message as well! Here's overriden method example:
+ Source object is left unchanged. If the same object is passed in, nothing happens. Subclasses should override and add their own specifics, however they should send super object the message as well! Here's overriden method example:
- (void)mergeDataFromObject:(GBModelBase *)source {
// source data validation here...
View
9 Model/GBStoreProviding.h
@@ -20,8 +20,7 @@
/** Registers the given class to the providers data.
- If provider doesn't yet have the given class instance registered, the object is added to `classes` list. If the same object is already
- registered, nothing happens.
+ If provider doesn't yet have the given class instance registered, the object is added to `classes` list. If the same object is already registered, nothing happens.
@warning *Note:* If another instance of the class with the same name is registered, an exception is thrown.
@@ -32,8 +31,7 @@
/** Registers the given category to the providers data.
- If provider doesn't yet have the given category instance registered, the object is added to `categories` list. If the same object is
- already registered, nothing happens.
+ If provider doesn't yet have the given category instance registered, the object is added to `categories` list. If the same object is already registered, nothing happens.
@warning *Note:* If another instance of the category with the same name/class name is registered, an exception is thrown.
@@ -44,8 +42,7 @@
/** Registers the given protocol to the providers data.
- If provider doesn't yet have the given protocol instance registered, the object is added to `protocols` list. If the same object is
- already registered, nothing happens.
+ If provider doesn't yet have the given protocol instance registered, the object is added to `protocols` list. If the same object is already registered, nothing happens.
@warning *Note:* If another instance of the protocol with the same name name is registered, an exception is thrown.
View
5 Parsing/GBObjectiveCParser.h
@@ -13,10 +13,7 @@
/** Implements Objective-C source code parser.
- The main responsibility of this class is encapsulation of Objective-C source code parsing into in-memory representation. As we're only
- parsing a small subset of Objective-C and even then we don't need to handle much specifics beyond recognizing different classes, variables,
- methods etc., overall the parsing process is quite simple. Basically we use ParseKit's `PKTokenizer` to split given input string into tokens
- and then traverse the list of tokens to get the data we need.
+ The main responsibility of this class is encapsulation of Objective-C source code parsing into in-memory representation. As we're only parsing a small subset of Objective-C and even then we don't need to handle much specifics beyond recognizing different classes, variables, methods etc., overall the parsing process is quite simple. Basically we use ParseKit's `PKTokenizer` to split given input string into tokens and then traverse the list of tokens to get the data we need.
*/
@interface GBObjectiveCParser : NSObject
View
15 Parsing/GBParser.h
@@ -13,8 +13,7 @@
/** Handles loading class data from source files.
- This is the first phase of appledoc generation process. It walks the given directory hierarchy and loads source files
- data into memory structure prepared for next phases.
+ This is the first phase of appledoc generation process. It walks the given directory hierarchy and loads source files data into memory structure prepared for next phases.
*/
@interface GBParser : NSObject
@@ -38,17 +37,11 @@
/** Scans the given array of paths and parses all code files into in-memory objects.
- This is the main parsing method. It is intended to be invoked from the top level application code. It accepts an
- array of paths - either directories or file names - and parses them for code. If it detects an object within any
- file, it's data is parsed into in-memory representation suited for further processing. Parsed data is available
- through `GBObjectsGraph` shared instance.
+ This is the main parsing method. It is intended to be invoked from the top level application code. It accepts an array of paths - either directories or file names - and parses them for code. If it detects an object within any file, it's data is parsed into in-memory representation suited for further processing. Parsed data is available through `GBObjectsGraph` shared instance.
- If any kind of inconsistency is detected in source code, a warning is logged and parsing continues. This allows us
- to extract as much information as possible, while ignoring problems.
+ If any kind of inconsistency is detected in source code, a warning is logged and parsing continues. This allows us to extract as much information as possible, while ignoring problems.
- @warning *Note:* The method expects the given array contains `NSString`s representing existing directory or file
- names. The method itself doesn't validate this and may result in unpredictable behavior in case an invalid
- path is passed in. The paths don't have to be standardized, expanded or similar though.
+ @warning *Note:* The method expects the given array contains `NSString`s representing existing directory or file names. The method itself doesn't validate this and may result in unpredictable behavior in case an invalid path is passed in. The paths don't have to be standardized, expanded or similar though.
@param paths An array of strings representing paths to parse.
@param store The store to add objects to.
View
37 Parsing/GBTokenizer.h
@@ -11,9 +11,7 @@
/** Provides common methods for tokenizing input source strings.
- Main responsibilities of the class are to split the given source string into tokens and provide simple methods for iterating over
- the tokens stream. It works upon ParseKit framework's `PKTokenizer`. As different parsers require different tokenizers and setups,
- the class itself doesn't create a tokenizer, but instead requires the client to provide one. Here's an example of simple usage:
+ Main responsibilities of the class are to split the given source string into tokens and provide simple methods for iterating over the tokens stream. It works upon ParseKit framework's `PKTokenizer`. As different parsers require different tokenizers and setups, the class itself doesn't create a tokenizer, but instead requires the client to provide one. Here's an example of simple usage:
NSString *input = ...
PKTokenizer *worker = [PKTokenizer tokenizerWithString:input];
@@ -23,16 +21,9 @@
[tokenizer consume:1];
}
- This example simply iterates over all tokens and prints each one to the log. If you want to parse a block of input with known start
- and/or end token, you can use one of the block consuming methods instead.
+ This example simply iterates over all tokens and prints each one to the log. If you want to parse a block of input with known start and/or end token, you can use one of the block consuming methods instead.
- To make comments parsing simpler, `GBTokenizer` automatically enables comment reporting to the underlying `PKTokenizer`, however to
- prevent higher level parsers dealing with complexity of comments, any lookahead and consume method doesn't report them. Instead these
- methods skip all comment tokens, however they do make them accessible through properties, so if the client wants to check whether
- there's any comment associated with current token, it can simply ask by sending `lastCommentString`. This value is automatically
- cleared when another non-comment token is consumed, so make sure to read it before consuming any further token! `GBTokenizer` goes
- even further when dealing with comments - it automatically groups single line comments into a single comment group and removes all
- prefixes and suffixes.
+ To make comments parsing simpler, `GBTokenizer` automatically enables comment reporting to the underlying `PKTokenizer`, however to prevent higher level parsers dealing with complexity of comments, any lookahead and consume method doesn't report them. Instead these methods skip all comment tokens, however they do make them accessible through properties, so if the client wants to check whether there's any comment associated with current token, it can simply ask by sending `lastCommentString`. This value is automatically cleared when another non-comment token is consumed, so make sure to read it before consuming any further token! `GBTokenizer` goes even further when dealing with comments - it automatically groups single line comments into a single comment group and removes all prefixes and suffixes.
*/
@interface GBTokenizer : NSObject
@@ -71,8 +62,7 @@
/** Returns the token by looking ahead the given number of tokens from current position.
- If offset "points" within a valid token, the token is returned, otherwise EOF token is returned. Note that this method automatically
- skips any comment tokens and only counts actual language tokens.
+ If offset "points" within a valid token, the token is returned, otherwise EOF token is returned. Note that this method automatically skips any comment tokens and only counts actual language tokens.
@param offset The offset from the current position.
@return Returns the token at the given offset or EOF token if offset point after EOF.
@@ -82,11 +72,7 @@
/** Consumes the given ammoun of tokens, starting at the current position.
- This effectively "moves" `currentToken` to the new position. If EOF is reached before consuming the given ammount of tokens,
- consuming stops at the end of stream and `currentToken` returns EOF token. If comment tokens are detected while consuming, they
- are not counted and consuming count continues with actual language tokens. However if there is a comment just before the next
- current token (i.e. after the last consumed token), the comment data is saved and is available through `lastCommentString`.
- Otherwise last comment data is cleared, even if a comment was detected in between.
+ This effectively "moves" `currentToken` to the new position. If EOF is reached before consuming the given ammount of tokens, consuming stops at the end of stream and `currentToken` returns EOF token. If comment tokens are detected while consuming, they are not counted and consuming count continues with actual language tokens. However if there is a comment just before the next current token (i.e. after the last consumed token), the comment data is saved and is available through `lastCommentString`. Otherwise last comment data is cleared, even if a comment was detected in between.
@param count The number of tokens to consume.
@see lastCommentString
@@ -95,9 +81,7 @@
/** Enumerates and consumes all tokens starting at current token up until the given end token is detected.
- For each token, the given block is called which gives client a chance to inspect and handle tokens. End token is not reported and
- is automatically consumed after all previous tokens are reported. Sending this message is equivalent to sending `consumeFrom:to:usingBlock:`
- and passing `nil` for start token. Also read `consume:` documentation to understand how comments are dealt with.
+ For each token, the given block is called which gives client a chance to inspect and handle tokens. End token is not reported and is automatically consumed after all previous tokens are reported. Sending this message is equivalent to sending `consumeFrom:to:usingBlock:` and passing `nil` for start token. Also read `consume:` documentation to understand how comments are dealt with.
@param end Ending token.
@param block The block to be called for each token.
@@ -108,10 +92,7 @@
/** Enumerates and consumes all tokens starting at current token up until the given end token is detected.
- For each token, the given block is called which gives client a chance to inspect and handle tokens. If start token is given
- and current token matches it, the token is consumed without reporting it to block. However if the token doesn't match, the
- method returns immediately without doint anything. End token is also not reported and is also automatically consumed after
- all previous tokens are reported. Also read `consume:` documentation to understand how comments are dealt with.
+ For each token, the given block is called which gives client a chance to inspect and handle tokens. If start token is given and current token matches it, the token is consumed without reporting it to block. However if the token doesn't match, the method returns immediately without doint anything. End token is also not reported and is also automatically consumed after all previous tokens are reported. Also read `consume:` documentation to understand how comments are dealt with.
@param start Optional starting token or `nil`.
@param end Ending token.
@@ -133,9 +114,7 @@
/** Returns the last comment string or `nil` if comment is not available.
- This returns the whole last comment string, without prefixes or suffixes. To optimize things a bit, the actual comment string value
- is prepared on the fly, as you send the message, so it's only handled if needed. However you should cache returned value if possible
- to avoid any overhead.
+ This returns the whole last comment string, without prefixes or suffixes. To optimize things a bit, the actual comment string value is prepared on the fly, as you send the message, so it's only handled if needed. However you should cache returned value if possible to avoid any overhead.
If there's no comment available for current token, `nil` is returned.
View
8 Parsing/GBTokenizer.m
@@ -114,10 +114,7 @@ - (BOOL)eof {
#pragma mark Comments handling
- (BOOL)consumeComments {
- // This method checks if current token is a comment and consumes all comments until non-comment token is detected or EOF reached.
- // The result of the method is that current index is positioned on the first non-comment token. If current token is not comment,
- // the method doesn't do anything, but simply returns NO to indicate it didn't find a comment and therefore it didn't move current
- // token. This is also where we do initial comments handling such as removing starting and ending chars etc.
+ // This method checks if current token is a comment and consumes all comments until non-comment token is detected or EOF reached. The result of the method is that current index is positioned on the first non-comment token. If current token is not comment, the method doesn't do anything, but simply returns NO to indicate it didn't find a comment and therefore it didn't move current token. This is also where we do initial comments handling such as removing starting and ending chars etc.
[self.lastComment setString:@""];
if ([self eof]) return NO;
if (![[self currentToken] isComment]) return NO;
@@ -162,8 +159,7 @@ - (NSString *)lastCommentString {
BOOL firstLine = (idx == 0);
BOOL lastLine = (idx == [lines count] - 1);
- // Skip first and last line if we only have some common char in it. This is very basic - it tests if the line
- // only contains a single character and ignores it if so.
+ // Skip first and last line if we only have some common char in it. This is very basic - it tests if the line only contains a single character and ignores it if so.
if (firstLine || lastLine) {
NSString *stripped = [obj stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
if ([stripped length] > 0) {
View
3  Parsing/PKToken+GBToken.h
@@ -28,8 +28,7 @@
/** Determines whether this token is an appledoc comment.
- The method returns `YES` if the token is a comment and it has special appledoc comment prefix which for single line comments is composed
- of three slashes and for multiple line comments from a single slash and two stars.
+ The method returns `YES` if the token is a comment and it has special appledoc comment prefix which for single line comments is composed of three slashes and for multiple line comments from a single slash and two stars.
@return Returns `YES` if the token represents appledoc comment, `NO` otherwise.
*/
View
5 Testing/GBObjectiveCParser-AdoptedProtocolsParsingTesting.m
@@ -10,10 +10,7 @@
#import "GBDataObjects.h"
#import "GBObjectiveCParser.h"
-// Note that we use class for invoking parsing of adopted protocols. Probably not the best option - i.e. we could isolate
-// parsing code altogether and only parse relevant stuff here, but it seemed not much would be gained by doing this.
-// Separating unit tests does avoid repetition in top-level objects testing code - we only need to test specific data
-// there.
+// Note that we use class for invoking parsing of adopted protocols. Probably not the best option - i.e. we could isolate parsing code altogether and only parse relevant stuff here, but it seemed not much would be gained by doing this. Separating unit tests does avoid repetition in top-level objects testing code - we only need to test specific data there.
@interface GBObjectiveCParserAdoptedProtocolsParsingTesting : GBObjectsAssertor
@end
View
3  Testing/GBObjectiveCParser-CategoryParsingTesting.m
@@ -10,8 +10,7 @@
#import "GBDataObjects.h"
#import "GBObjectiveCParser.h"
-// Note that we're only testing category specific stuff here - i.e. all common parsing modules (adopted protocols,
-// methods...) are tested separately to avoid repetition.
+// Note that we're only testing category specific stuff here - i.e. all common parsing modules (adopted protocols, methods...) are tested separately to avoid repetition.
@interface GBObjectiveCParserCategoryParsingTesting : GBObjectsAssertor
@end
View
3  Testing/GBObjectiveCParser-ClassParsingTesting.m
@@ -10,8 +10,7 @@
#import "GBDataObjects.h"
#import "GBObjectiveCParser.h"
-// Note that we're only testing class specific stuff here - i.e. all common parsing modules (adopted protocols,
-// ivars, methods...) are tested separately to avoid repetition.
+// Note that we're only testing class specific stuff here - i.e. all common parsing modules (adopted protocols, ivars, methods...) are tested separately to avoid repetition.
@interface GBObjectiveCParserClassParsingTesting : GBObjectsAssertor
@end
View
5 Testing/GBObjectiveCParser-IvarsParsingTesting.m
@@ -10,10 +10,7 @@
#import "GBDataObjects.h"
#import "GBObjectiveCParser.h"
-// Note that we use class for invoking parsing of ivars. Probably not the best option - i.e. we could isolate ivars
-// parsing code altogether and only parse relevant stuff here, but it seemed not much would be gained by doing this.
-// Separating unit tests does avoid repetition in top-level objects testing code - we only need to test specific data
-// there.
+// Note that we use class for invoking parsing of ivars. Probably not the best option - i.e. we could isolate ivars parsing code altogether and only parse relevant stuff here, but it seemed not much would be gained by doing this. Separating unit tests does avoid repetition in top-level objects testing code - we only need to test specific data there.
@interface GBObjectiveCParserIvarsParsingTesting : GBObjectsAssertor
@end
View
5 Testing/GBObjectiveCParser-MethodsParsingTesting.m
@@ -10,10 +10,7 @@
#import "GBDataObjects.h"
#import "GBObjectiveCParser.h"
-// Note that we use class for invoking parsing of methods. Probably not the best option - i.e. we could isolate method
-// parsing code altogether and only parse relevant stuff here, but it seemed not much would be gained by doing this.
-// Separating unit tests does avoid repetition in top-level objects testing code - we only need to test specific data
-// there.
+// Note that we use class for invoking parsing of methods. Probably not the best option - i.e. we could isolate method parsing code altogether and only parse relevant stuff here, but it seemed not much would be gained by doing this. Separating unit tests does avoid repetition in top-level objects testing code - we only need to test specific data there.
@interface GBObjectiveCParserMethodsParsingTesting : GBObjectsAssertor
@end
View
3  Testing/GBObjectiveCParser-ProtocolParsingTesting.m
@@ -10,8 +10,7 @@
#import "GBDataObjects.h"
#import "GBObjectiveCParser.h"
-// Note that we're only testing protocol specific stuff here - i.e. all common parsing modules (adopted protocols,
-// ivars, methods...) are tested separately to avoid repetition.
+// Note that we're only testing protocol specific stuff here - i.e. all common parsing modules (adopted protocols, ivars, methods...) are tested separately to avoid repetition.
@interface GBObjectiveCParserProtocolsParsingTesting : GBObjectsAssertor
@end
Please sign in to comment.
Something went wrong with that request. Please try again.