Skip to content

Commit

Permalink
Renamed GBDeclaredFileData to GBSourceInfo to better convey the purpo…
Browse files Browse the repository at this point in the history
…se of the class.
  • Loading branch information
tomaz committed Sep 24, 2010
1 parent 6cfd48f commit 0dd2364
Show file tree
Hide file tree
Showing 19 changed files with 98 additions and 98 deletions.
2 changes: 1 addition & 1 deletion Model/GBDataObjects.h
Expand Up @@ -24,7 +24,7 @@
#import "GBMethodData.h"
#import "GBMethodArgument.h"
#import "GBMethodSectionData.h"
#import "GBDeclaredFileData.h"
#import "GBSourceInfo.h"

#import "GBAdoptedProtocolsProvider.h"
#import "GBIvarsProvider.h"
Expand Down
24 changes: 12 additions & 12 deletions Model/GBModelBase.h
Expand Up @@ -9,42 +9,42 @@
#import <Foundation/Foundation.h>

@class GBComment;
@class GBDeclaredFileData;
@class GBSourceInfo;

/** Provides common functionality for model objects. */
@interface GBModelBase : NSObject {
@private
NSMutableSet *_declaredFiles;
NSMutableDictionary *_declaredFilesByFilenames;
NSMutableSet *_sourceInfos;
NSMutableDictionary *_sourceInfosByFilenames;
GBComment *_comment;
}

///---------------------------------------------------------------------------------------
/// @name Declared files handling
///---------------------------------------------------------------------------------------

/** Registers the given `GBDeclaredFileData` to `declaredFiles` list.
/** Registers the given `GBDeclaredFileData` to `sourceInfos` list.
If file data with the same filename already exists in the set, it is replaced with the given one.
@param filename The name of the file to register.
@exception NSException Thrown if the given filename is `nil` or empty.
*/
- (void)registerDeclaredFile:(GBDeclaredFileData *)data;
- (void)registerSourceInfo:(GBSourceInfo *)data;

/** Returns the array of all `declaredFiles` sorted by file name.
/** Returns the array of all `sourceInfos` sorted by file name.
@see declaredFiles
@see registerDeclaredFile:
@see sourceInfos
@see registerSourceInfo:
*/
- (NSArray *)declaredFilesSortedByName;
- (NSArray *)sourceInfosSortedByName;

/** The list of all declared file data as `GBDeclaredFileData` objects.
@see registerDeclaredFile:
@see declaredFilesSortedByName
@see registerSourceInfo:
@see sourceInfosSortedByName
*/
@property (readonly) NSSet *declaredFiles;
@property (readonly) NSSet *sourceInfos;

///---------------------------------------------------------------------------------------
/// @name Comments handling
Expand Down
38 changes: 19 additions & 19 deletions Model/GBModelBase.m
Expand Up @@ -16,8 +16,8 @@ @implementation GBModelBase
- (id)init {
self = [super init];
if (self) {
_declaredFiles = [[NSMutableSet alloc] init];
_declaredFilesByFilenames = [[NSMutableDictionary alloc] init];
_sourceInfos = [[NSMutableSet alloc] init];
_sourceInfosByFilenames = [[NSMutableDictionary alloc] init];
}
return self;
}
Expand All @@ -28,19 +28,19 @@ - (void)mergeDataFromObject:(id)source {
NSParameterAssert([source isKindOfClass:[self class]]);

// Merge declared files.
NSArray *sourceFiles = [[source declaredFiles] allObjects];
for (GBDeclaredFileData *filedata in sourceFiles) {
GBDeclaredFileData *ourfiledata = [_declaredFilesByFilenames objectForKey:filedata.filename];
NSArray *sourceFiles = [[source sourceInfos] allObjects];
for (GBSourceInfo *filedata in sourceFiles) {
GBSourceInfo *ourfiledata = [_sourceInfosByFilenames objectForKey:filedata.filename];
if (ourfiledata) {
if (ourfiledata.lineNumber < filedata.lineNumber) {
[_declaredFilesByFilenames setObject:filedata forKey:filedata.filename];
[_declaredFiles removeObject:ourfiledata];
[_declaredFiles addObject:filedata];
[_sourceInfosByFilenames setObject:filedata forKey:filedata.filename];
[_sourceInfos removeObject:ourfiledata];
[_sourceInfos addObject:filedata];
}
continue;
}
[_declaredFilesByFilenames setObject:filedata forKey:filedata.filename];
[_declaredFiles addObject:filedata];
[_sourceInfosByFilenames setObject:filedata forKey:filedata.filename];
[_sourceInfos addObject:filedata];
}

// Merge comment.
Expand All @@ -54,23 +54,23 @@ - (void)mergeDataFromObject:(id)source {

#pragma mark Declared files handling

- (void)registerDeclaredFile:(GBDeclaredFileData *)data {
- (void)registerSourceInfo:(GBSourceInfo *)data {
NSParameterAssert(data != nil);

// Ignore already registered objects.
if ([_declaredFiles member:data]) return;
if ([_sourceInfos member:data]) return;

// Replace data with same filename.
GBDeclaredFileData *existing = [_declaredFilesByFilenames objectForKey:data.filename];
if (existing) [_declaredFiles removeObject:existing];
GBSourceInfo *existing = [_sourceInfosByFilenames objectForKey:data.filename];
if (existing) [_sourceInfos removeObject:existing];

// Add object.
[_declaredFilesByFilenames setObject:data forKey:data.filename];
[_declaredFiles addObject:data];
[_sourceInfosByFilenames setObject:data forKey:data.filename];
[_sourceInfos addObject:data];
}

- (NSArray *)declaredFilesSortedByName {
return [[self.declaredFiles allObjects] sortedArrayUsingSelector:@selector(compare:)];
- (NSArray *)sourceInfosSortedByName {
return [[self.sourceInfos allObjects] sortedArrayUsingSelector:@selector(compare:)];
}

#pragma mark Comments handling
Expand All @@ -88,7 +88,7 @@ - (void)registerCommentString:(NSString *)value {
#pragma mark Properties

@synthesize comment = _comment;
@synthesize declaredFiles = _declaredFiles;
@synthesize sourceInfos = _sourceInfos;
@synthesize parentObject;

@end
6 changes: 3 additions & 3 deletions Model/GBDeclaredFileData.h → Model/GBSourceInfo.h
@@ -1,5 +1,5 @@
//
// GBDeclaredFileData.h
// GBSourceInfo.h
// appledoc
//
// Created by Tomaz Kragelj on 23.9.10.
Expand All @@ -12,7 +12,7 @@
Declared file provides information about where an object was declared - i.e. source file name and line number. This can be used for generating output and for diagnostics and as debug information.
*/
@interface GBDeclaredFileData : NSObject
@interface GBSourceInfo : NSObject

///---------------------------------------------------------------------------------------
/// @name Initialization & disposal
Expand Down Expand Up @@ -40,7 +40,7 @@
@param data `GBDeclaredFileData` to compare with.
@return `NSOrderedAscending` if the value of _data_ is greater than the receiver, `NSOrderedSame` if they’re equal, and `NSOrderedDescending` if the _data_ is less than the receiver.
*/
- (NSComparisonResult)compare:(GBDeclaredFileData *)data;
- (NSComparisonResult)compare:(GBSourceInfo *)data;

/** The name of the file, without path.
Expand Down
12 changes: 6 additions & 6 deletions Model/GBDeclaredFileData.m → Model/GBSourceInfo.m
@@ -1,14 +1,14 @@
//
// GBDeclaredFileData.m
// GBSourceInfo.m
// appledoc
//
// Created by Tomaz Kragelj on 23.9.10.
// Copyright (C) 2010, Gentle Bytes. All rights reserved.
//

#import "GBDeclaredFileData.h"
#import "GBSourceInfo.h"

@interface GBDeclaredFileData ()
@interface GBSourceInfo ()

@property (readwrite, copy) NSString *filename;
@property (readwrite, assign) NSUInteger lineNumber;
Expand All @@ -17,22 +17,22 @@ @interface GBDeclaredFileData ()

#pragma mark -

@implementation GBDeclaredFileData
@implementation GBSourceInfo

#pragma mark Initialization & disposal

+ (id)fileDataWithFilename:(NSString *)filename lineNumber:(NSUInteger)lineNumber {
NSParameterAssert(filename != nil);
NSParameterAssert([filename length] > 0);
GBDeclaredFileData *result = [[[GBDeclaredFileData alloc] init] autorelease];
GBSourceInfo *result = [[[GBSourceInfo alloc] init] autorelease];
result.filename = filename;
result.lineNumber = lineNumber;
return result;
}

#pragma mark Helper methods

- (NSComparisonResult)compare:(GBDeclaredFileData *)data {
- (NSComparisonResult)compare:(GBSourceInfo *)data {
NSComparisonResult result = [self.filename compare:data.filename];
if (result == NSOrderedSame) {
if (data.lineNumber > self.lineNumber) return NSOrderedAscending;
Expand Down
10 changes: 5 additions & 5 deletions Parsing/GBObjectiveCParser.m
Expand Up @@ -217,7 +217,7 @@ - (BOOL)matchPropertyDefinitionForProvider:(GBMethodsProvider *)provider {
NSString *sectionComment = [[self.tokenizer previousCommentString] copy];
NSString *sectionName = [self sectionNameFromCommentString:sectionComment];
__block BOOL result = NO;
__block GBDeclaredFileData *filedata = nil;
__block GBSourceInfo *filedata = nil;
[self.tokenizer consumeFrom:@"@property" to:@";" usingBlock:^(PKToken *token, BOOL *consume, BOOL *stop) {
if (!filedata) filedata = [self.tokenizer fileDataForToken:token filename:self.filename];

Expand Down Expand Up @@ -245,7 +245,7 @@ - (BOOL)matchPropertyDefinitionForProvider:(GBMethodsProvider *)provider {
// Register property.
GBMethodData *propertyData = [GBMethodData propertyDataWithAttributes:propertyAttributes components:propertyComponents];
GBLogDebug(@"Matched property definition %@.", propertyData);
[propertyData registerDeclaredFile:filedata];
[propertyData registerSourceInfo:filedata];
[propertyData registerCommentString:comment];
[provider registerSectionIfNameIsValid:sectionName];
[provider registerMethod:propertyData];
Expand Down Expand Up @@ -401,7 +401,7 @@ - (BOOL)matchMethodDataForProvider:(GBMethodsProvider *)provider from:(NSString
NSString *sectionComment = [[self.tokenizer previousCommentString] copy];
NSString *sectionName = [self sectionNameFromCommentString:sectionComment];
__block BOOL result = NO;
__block GBDeclaredFileData *filedata = nil;
__block GBSourceInfo *filedata = nil;
GBMethodType methodType = [start isEqualToString:@"-"] ? GBMethodTypeInstance : GBMethodTypeClass;
[self.tokenizer consumeFrom:start to:end usingBlock:^(PKToken *token, BOOL *consume, BOOL *stop) {
if (!filedata) filedata = [self.tokenizer fileDataForToken:token filename:self.filename];
Expand Down Expand Up @@ -468,7 +468,7 @@ - (BOOL)matchMethodDataForProvider:(GBMethodsProvider *)provider from:(NSString
// Create method instance and register it.
GBMethodData *methodData = [GBMethodData methodDataWithType:methodType result:methodResult arguments:methodArgs];
GBLogDebug(@"Matched method %@%@.", start, methodData);
[methodData registerDeclaredFile:filedata];
[methodData registerSourceInfo:filedata];
[methodData registerCommentString:comment];
[provider registerSectionIfNameIsValid:sectionName];
[provider registerMethod:methodData];
Expand All @@ -484,7 +484,7 @@ - (void)registerLastCommentToObject:(GBModelBase *)object {
}

- (void)registerDeclaredDataFromCurrentTokenToObject:(GBModelBase *)object {
[object registerDeclaredFile:[self.tokenizer fileDataForCurrentTokenWithFilename:self.filename]];
[object registerSourceInfo:[self.tokenizer fileDataForCurrentTokenWithFilename:self.filename]];
}

- (NSString *)sectionNameFromCommentString:(NSString *)string {
Expand Down
6 changes: 3 additions & 3 deletions Parsing/GBTokenizer.h
Expand Up @@ -9,7 +9,7 @@
#import <Foundation/Foundation.h>
#import "ParseKit.h"

@class GBDeclaredFileData;
@class GBSourceInfo;

/** Provides common methods for tokenizing input source strings.
Expand Down Expand Up @@ -122,7 +122,7 @@
@return Returns declared file data.
@exception NSException Thrown if current token is `nil` or the given filename is `nil` or empty string.
*/
- (GBDeclaredFileData *)fileDataForCurrentTokenWithFilename:(NSString *)filename;
- (GBSourceInfo *)fileDataForCurrentTokenWithFilename:(NSString *)filename;

/** Returns `GBDeclaredFileData` object describing the given token source information.
Expand All @@ -133,7 +133,7 @@
@return Returns declared file data.
@exception NSException Thrown if the given token is `nil` or the given filename is `nil` or empty string.
*/
- (GBDeclaredFileData *)fileDataForToken:(PKToken *)token filename:(NSString *)filename;
- (GBSourceInfo *)fileDataForToken:(PKToken *)token filename:(NSString *)filename;

///---------------------------------------------------------------------------------------
/// @name Comments handling
Expand Down
6 changes: 3 additions & 3 deletions Parsing/GBTokenizer.m
Expand Up @@ -125,15 +125,15 @@ - (BOOL)eof {

#pragma mark Token information handling

- (GBDeclaredFileData *)fileDataForCurrentTokenWithFilename:(NSString *)filename {
- (GBSourceInfo *)fileDataForCurrentTokenWithFilename:(NSString *)filename {
return [self fileDataForToken:[self currentToken] filename:filename];
}

- (GBDeclaredFileData *)fileDataForToken:(PKToken *)token filename:(NSString *)filename {
- (GBSourceInfo *)fileDataForToken:(PKToken *)token filename:(NSString *)filename {
NSParameterAssert(token != nil);
NSString *substring = [self.input substringToIndex:[token offset]];
NSUInteger lines = [[substring componentsSeparatedByCharactersInSet:[NSCharacterSet newlineCharacterSet]] count];
return [GBDeclaredFileData fileDataWithFilename:filename lineNumber:lines];
return [GBSourceInfo fileDataWithFilename:filename lineNumber:lines];
}

#pragma mark Comments handling
Expand Down
4 changes: 2 additions & 2 deletions Testing/GBCategoryDataTesting.m
Expand Up @@ -30,11 +30,11 @@ - (void)testMergeDataFromObject_shouldMergeImplementationDetails {
// setup
GBCategoryData *original = [GBCategoryData categoryDataWithName:@"MyCategory" className:@"MyClass"];
GBCategoryData *source = [GBCategoryData categoryDataWithName:@"MyCategory" className:@"MyClass"];
[source registerDeclaredFile:[GBDeclaredFileData fileDataWithFilename:@"file" lineNumber:1]];
[source registerSourceInfo:[GBSourceInfo fileDataWithFilename:@"file" lineNumber:1]];
// execute
[original mergeDataFromObject:source];
// verify - simple testing here, fully tested in GBModelBaseTesting!
assertThatInteger([original.declaredFiles count], equalToInteger(1));
assertThatInteger([original.sourceInfos count], equalToInteger(1));
}

#pragma mark Category components merging
Expand Down
4 changes: 2 additions & 2 deletions Testing/GBClassDataTesting.m
Expand Up @@ -19,11 +19,11 @@ - (void)testMergeDataFromObject_shouldMergeImplementationDetails {
//setup
GBClassData *original = [GBClassData classDataWithName:@"MyClass"];
GBClassData *source = [GBClassData classDataWithName:@"MyClass"];
[source registerDeclaredFile:[GBDeclaredFileData fileDataWithFilename:@"file" lineNumber:1]];
[source registerSourceInfo:[GBSourceInfo fileDataWithFilename:@"file" lineNumber:1]];
// execute
[original mergeDataFromObject:source];
// verify - simple testing here, fully tested in GBModelBaseTesting!
assertThatInteger([original.declaredFiles count], equalToInteger(1));
assertThatInteger([original.sourceInfos count], equalToInteger(1));
}

#pragma mark Superclass data merging
Expand Down
4 changes: 2 additions & 2 deletions Testing/GBIvarDataTesting.m
Expand Up @@ -17,11 +17,11 @@ - (void)testMergeDataFromObject_shouldMergeImplementationDetails {
// setup - ivars don't merge any data, except they need to send base class merging message!
GBIvarData *original = [GBTestObjectsRegistry ivarWithComponents:@"int", @"_name", nil];
GBIvarData *source = [GBTestObjectsRegistry ivarWithComponents:@"int", @"_name", nil];
[source registerDeclaredFile:[GBDeclaredFileData fileDataWithFilename:@"file" lineNumber:1]];
[source registerSourceInfo:[GBSourceInfo fileDataWithFilename:@"file" lineNumber:1]];
// execute
[original mergeDataFromObject:source];
// verify - simple testing here, fully tested in GBModelBaseTesting!
assertThatInteger([original.declaredFiles count], equalToInteger(1));
assertThatInteger([original.sourceInfos count], equalToInteger(1));
}

@end
4 changes: 2 additions & 2 deletions Testing/GBMethodDataTesting.m
Expand Up @@ -71,11 +71,11 @@ - (void)testMergeDataFromObject_shouldMergeImplementationDetails {
// setup - methods don't merge any data, except they need to send base class merging message!
GBMethodData *original = [GBTestObjectsRegistry instanceMethodWithNames:@"method", nil];
GBMethodData *source = [GBTestObjectsRegistry instanceMethodWithNames:@"method", nil];
[source registerDeclaredFile:[GBDeclaredFileData fileDataWithFilename:@"file" lineNumber:1]];
[source registerSourceInfo:[GBSourceInfo fileDataWithFilename:@"file" lineNumber:1]];
// execute
[original mergeDataFromObject:source];
// verify - simple testing here, fully tested in GBModelBaseTesting!
assertThatInteger([original.declaredFiles count], equalToInteger(1));
assertThatInteger([original.sourceInfos count], equalToInteger(1));
}

@end

0 comments on commit 0dd2364

Please sign in to comment.