Skip to content

Commit

Permalink
Merge branch 'Mocha' of github.com:ccgus/jstalk into Mocha
Browse files Browse the repository at this point in the history
  • Loading branch information
ccgus committed Aug 4, 2012
2 parents b65f27c + b273270 commit 3736a4b
Show file tree
Hide file tree
Showing 43 changed files with 1,607 additions and 1,601 deletions.
6 changes: 0 additions & 6 deletions bin/jstcopyinmocha.sh

This file was deleted.

112 changes: 65 additions & 47 deletions jstalk.xcodeproj/project.pbxproj

Large diffs are not rendered by default.

94 changes: 43 additions & 51 deletions mocha/BridgeSupport/MOBridgeSupportController.m
Expand Up @@ -15,72 +15,64 @@


@implementation MOBridgeSupportController {
NSMutableArray *_loadedURLs;
NSMutableArray *_loadedLibraries;
NSMutableDictionary *_symbols;
MOBridgeSupportParser *_parser;
NSMutableArray *_loadedURLs;
NSMutableArray *_loadedLibraries;
NSMutableDictionary *_symbols;
MOBridgeSupportParser *_parser;
}

+ (MOBridgeSupportController *)sharedController {
static MOBridgeSupportController *sharedController = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
sharedController = [[self alloc] init];
});
return sharedController;
static MOBridgeSupportController *sharedController = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
sharedController = [[self alloc] init];
});
return sharedController;
}

- (id)init {
self = [super init];
if (self) {
_loadedURLs = [[NSMutableArray alloc] init];
_loadedLibraries = [[NSMutableArray alloc] init];
_symbols = [[NSMutableDictionary alloc] init];
_parser = [[MOBridgeSupportParser alloc] init];
}
return self;
}

- (void)dealloc {
[_loadedURLs release];
[_loadedLibraries release];
[_symbols release];
[_parser release];
[super dealloc];
self = [super init];
if (self) {
_loadedURLs = [[NSMutableArray alloc] init];
_loadedLibraries = [[NSMutableArray alloc] init];
_symbols = [[NSMutableDictionary alloc] init];
_parser = [[MOBridgeSupportParser alloc] init];
}
return self;
}


#pragma mark -
#pragma mark Loading

- (BOOL)isBridgeSupportLoadedForURL:(NSURL *)aURL {
return [_loadedURLs containsObject:aURL];
return [_loadedURLs containsObject:aURL];
}

- (BOOL)loadBridgeSupportAtURL:(NSURL *)aURL error:(NSError **)outError {
if ([self isBridgeSupportLoadedForURL:aURL]) {
return YES;
}
MOBridgeSupportLibrary *library = [_parser libraryWithBridgeSupportURL:aURL error:outError];
if (library == nil) {
return NO;
}
[_loadedURLs addObject:aURL];
[_loadedLibraries addObject:library];
for (NSString *name in library.symbols) {
MOBridgeSupportSymbol *symbol = [library.symbols objectForKey:name];
if ([_symbols objectForKey:name] == nil) {
[_symbols setObject:symbol forKey:name];
}
else {
//NSLog(@"Symbol with name \"%@\" is already loaded.", name);
}
}
return YES;
if ([self isBridgeSupportLoadedForURL:aURL]) {
return YES;
}
MOBridgeSupportLibrary *library = [_parser libraryWithBridgeSupportURL:aURL error:outError];
if (library == nil) {
return NO;
}
[_loadedURLs addObject:aURL];
[_loadedLibraries addObject:library];
for (NSString *name in library.symbols) {
MOBridgeSupportSymbol *symbol = [library.symbols objectForKey:name];
if ([_symbols objectForKey:name] == nil) {
[_symbols setObject:symbol forKey:name];
}
else {
//NSLog(@"Symbol with name \"%@\" is already loaded.", name);
}
}
return YES;
}


Expand All @@ -105,7 +97,7 @@ - (NSDictionary *)performQueryForSymbolsOfType:(NSArray *)classes {
}

- (id)performQueryForSymbolName:(NSString *)name {
return [_symbols objectForKey:name];
return [_symbols objectForKey:name];
}

- (id)performQueryForSymbolName:(NSString *)name ofType:(Class)klass {
Expand Down
50 changes: 21 additions & 29 deletions mocha/BridgeSupport/MOBridgeSupportLibrary.m
Expand Up @@ -10,76 +10,68 @@


@implementation MOBridgeSupportLibrary {
NSMutableArray *_dependencies;
NSMutableDictionary *_symbols;
NSMutableArray *_dependencies;
NSMutableDictionary *_symbols;
}

@synthesize name=_name;
@synthesize URL=_URL;

- (id)init {
self = [super init];
if (self) {
_dependencies = [[NSMutableArray alloc] init];
_symbols = [[NSMutableDictionary alloc] init];
}
return self;
}

- (void)dealloc {
[_name release];
[_URL release];
[_dependencies release];
[_symbols release];
[super dealloc];
self = [super init];
if (self) {
_dependencies = [[NSMutableArray alloc] init];
_symbols = [[NSMutableDictionary alloc] init];
}
return self;
}


#pragma mark -
#pragma mark Dependencies

- (NSArray *)dependencies {
return _dependencies;
return _dependencies;
}

- (void)setDependencies:(NSArray *)dependencies {
[_dependencies setArray:dependencies];
[_dependencies setArray:dependencies];
}

- (void)addDependency:(NSString *)dependency {
if (![_dependencies containsObject:dependency]) {
[_dependencies addObject:dependency];
}
if (![_dependencies containsObject:dependency]) {
[_dependencies addObject:dependency];
}
}

- (void)removeDependency:(NSString *)dependency {
if ([_dependencies containsObject:dependency]) {
[_dependencies removeObject:dependency];
}
if ([_dependencies containsObject:dependency]) {
[_dependencies removeObject:dependency];
}
}


#pragma mark -
#pragma mark Symbols

- (NSDictionary *)symbols {
return _symbols;
return _symbols;
}

- (void)setSymbols:(NSDictionary *)symbols {
[_symbols setDictionary:symbols];
[_symbols setDictionary:symbols];
}

- (MOBridgeSupportSymbol *)symbolWithName:(NSString *)name {
return [_symbols objectForKey:name];
return [_symbols objectForKey:name];
}

- (void)setSymbol:(MOBridgeSupportSymbol *)symbol forName:(NSString *)name {
[_symbols setObject:symbol forKey:name];
[_symbols setObject:symbol forKey:name];
}

- (void)removeSymbolForName:(NSString *)name {
[_symbols removeObjectForKey:name];
[_symbols removeObjectForKey:name];
}

@end

0 comments on commit 3736a4b

Please sign in to comment.