mirror of
https://github.com/gnustep/apps-gorm.git
synced 2025-04-22 22:20:44 +00:00
Further improvments to the class parser.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/apps/gorm/trunk@20412 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
122766b676
commit
935fba9568
2 changed files with 35 additions and 24 deletions
|
@ -1,3 +1,9 @@
|
|||
2004-12-02 06:20 Gregory John Casamento <greg_casamento@yahoo.com>
|
||||
|
||||
* GormObjCHeaderParser/OCClass.m: [OCClass parse] added
|
||||
a check to determine if the string is nil before loading it
|
||||
into the scanner.
|
||||
|
||||
2004-12-02 06:20 Gregory John Casamento <greg_casamento@yahoo.com>
|
||||
|
||||
* GormObjCHeaderParser/OCClass.m: added code in parse method
|
||||
|
|
|
@ -138,7 +138,6 @@
|
|||
NSString *interfaceLine = nil;
|
||||
NSString *methodsString = nil;
|
||||
NSString *ivarsString = nil;
|
||||
NSScanner *methodScan = nil;
|
||||
NSRange range;
|
||||
NSRange notFound = NSMakeRange(NSNotFound,0);
|
||||
NSCharacterSet *wsnl = [NSCharacterSet whitespaceAndNewlineCharacterSet];
|
||||
|
@ -194,22 +193,25 @@
|
|||
[scanner scanUpToString: @"}" intoString: &ivarsString];
|
||||
[scanner scanString: @"}" intoString: NULL];
|
||||
|
||||
// scan each ivar...
|
||||
ivarScan = [NSScanner scannerWithString: ivarsString];
|
||||
while(![ivarScan isAtEnd])
|
||||
if(ivarsString != nil)
|
||||
{
|
||||
NSString *ivarLine = nil;
|
||||
OCIVarDecl *ivarDecl = nil;
|
||||
|
||||
[ivarScan scanUpToString: @";" intoString: &ivarLine];
|
||||
[ivarScan scanString: @";" intoString: NULL];
|
||||
ivarDecl = AUTORELEASE([[OCIVarDecl alloc] initWithString: ivarLine]);
|
||||
[ivarDecl parse];
|
||||
[ivars addObjectsFromArray: [ivarDecl ivars]];
|
||||
// scan each ivar...
|
||||
ivarScan = [NSScanner scannerWithString: ivarsString];
|
||||
while(![ivarScan isAtEnd])
|
||||
{
|
||||
NSString *ivarLine = nil;
|
||||
OCIVarDecl *ivarDecl = nil;
|
||||
|
||||
[ivarScan scanUpToString: @";" intoString: &ivarLine];
|
||||
[ivarScan scanString: @";" intoString: NULL];
|
||||
ivarDecl = AUTORELEASE([[OCIVarDecl alloc] initWithString: ivarLine]);
|
||||
[ivarDecl parse];
|
||||
[ivars addObjectsFromArray: [ivarDecl ivars]];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// put the methods into a a string...
|
||||
|
||||
// put the methods into a string...
|
||||
if(ivarsString != nil)
|
||||
{
|
||||
[scanner scanUpToString: @"@end" intoString: &methodsString];
|
||||
|
@ -222,17 +224,20 @@
|
|||
}
|
||||
|
||||
// scan each method...
|
||||
methodScan = [NSScanner scannerWithString: methodsString];
|
||||
while(![methodScan isAtEnd])
|
||||
if(methodsString != nil)
|
||||
{
|
||||
NSString *methodLine = nil;
|
||||
OCMethod *method = nil;
|
||||
|
||||
[methodScan scanUpToString: @";" intoString: &methodLine];
|
||||
[methodScan scanString: @";" intoString: NULL];
|
||||
method = AUTORELEASE([[OCMethod alloc] initWithString: methodLine]);
|
||||
[method parse];
|
||||
[methods addObject: method];
|
||||
NSScanner *methodScan = [NSScanner scannerWithString: methodsString];
|
||||
while(![methodScan isAtEnd])
|
||||
{
|
||||
NSString *methodLine = nil;
|
||||
OCMethod *method = nil;
|
||||
|
||||
[methodScan scanUpToString: @";" intoString: &methodLine];
|
||||
[methodScan scanString: @";" intoString: NULL];
|
||||
method = AUTORELEASE([[OCMethod alloc] initWithString: methodLine]);
|
||||
[method parse];
|
||||
[methods addObject: method];
|
||||
}
|
||||
}
|
||||
}
|
||||
@end
|
||||
|
|
Loading…
Reference in a new issue