Skip to content

Commit

Permalink
Added isInstanceMethod().
Browse files Browse the repository at this point in the history
  • Loading branch information
joakimk committed May 8, 2012
1 parent 470c576 commit a4d82f3
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 1 deletion.
7 changes: 7 additions & 0 deletions spec/declaration_spec.coffee
Expand Up @@ -7,3 +7,10 @@ describe "Declaration", ->
dec = new Declaration("- (NSData *)dataUsingEncoding:(NSStringEncoding)encoding allowLossyConversion:(BOOL)flag)")
expect(dec.methodName()).toEqual("dataUsingEncoding")

it "can parse method type", ->
dec = new Declaration("- (NSData *)dataUsingEncoding:(NSStringEncoding)encoding allowLossyConversion:(BOOL)flag)")
expect(dec.isInstanceMethod()).toEqual(true)

dec = new Declaration("+ (id)stringWithContentsOfFile:(NSString *)path usedEncoding:(NSStringEncoding *)enc error:(NSError **)error")
expect(dec.isInstanceMethod()).toEqual(false)

9 changes: 8 additions & 1 deletion spec/declaration_spec.js
Expand Up @@ -4,9 +4,16 @@ describe("Declaration", function() {
dec = new Declaration("- (NSData *)dataUsingEncoding:(NSStringEncoding)encoding allowLossyConversion:(BOOL)flag)");
return expect(dec.returnType()).toEqual("NSData *");
});
return it("can parse method name", function() {
it("can parse method name", function() {
var dec;
dec = new Declaration("- (NSData *)dataUsingEncoding:(NSStringEncoding)encoding allowLossyConversion:(BOOL)flag)");
return expect(dec.methodName()).toEqual("dataUsingEncoding");
});
return it("can parse method type", function() {
var dec;
dec = new Declaration("- (NSData *)dataUsingEncoding:(NSStringEncoding)encoding allowLossyConversion:(BOOL)flag)");
expect(dec.isInstanceMethod()).toEqual(true);
dec = new Declaration("+ (id)stringWithContentsOfFile:(NSString *)path usedEncoding:(NSStringEncoding *)enc error:(NSError **)error");
return expect(dec.isInstanceMethod()).toEqual(false);
});
});
5 changes: 5 additions & 0 deletions src/declaration.coffee
Expand Up @@ -13,3 +13,8 @@ class Declaration
///
@declaration.match(pattern)[1]

isInstanceMethod: ->
pattern = ///
-.+ # Does it start with "-" ?
///
!!@declaration.match(pattern)
5 changes: 5 additions & 0 deletions src/declaration.js
Expand Up @@ -13,5 +13,10 @@ Declaration = (function() {
pattern = /.+?\)(.+?):/;
return this.declaration.match(pattern)[1];
};
Declaration.prototype.isInstanceMethod = function() {
var pattern;
pattern = /-.+/;
return !!this.declaration.match(pattern);
};
return Declaration;
})();

0 comments on commit a4d82f3

Please sign in to comment.