block patch

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/steptalk/trunk@20880 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Stefan Urbanek 2005-03-09 21:35:54 +00:00
parent 732057a75f
commit dee34ffd83
2 changed files with 29 additions and 3 deletions

View file

@ -1,3 +1,10 @@
2005 Mar 9 Stefan Urbanek
* Patch by Matthew D Swank: patch that keeps the temp space allocated to a
particular block, while avoiding naming conflicts by storing empty
strings as placeholders _after_ the block has been compiled (and the
names are no longer needed).
2004 Nov 9 Stefan Urbanek
* Remove STMethodSignatureForSelector as it was deprecated because of

View file

@ -645,9 +645,28 @@ extern int STCparse(void *context);
}
/* cleanup unneeded temp variables */
[tempVars removeObjectsInRange:NSMakeRange(tempsSave,
[tempVars count]-tempsSave)];
tempsCount = tempsSave;
//
// [tempVars removeObjectsInRange:NSMakeRange(tempsSave,
// [tempVars count]-tempsSave)];
// tempsCount = tempsSave;
tempsCount = [tempVars count];
if(blockFlag)
{
int i;
/* Need to keep the block parameters allocated until we exit
the method context, but we also need to harvest the names*/
for (i = tempsSave; i < tempsCount; ++i)
[tempVars replaceObjectAtIndex: i withObject:@""];
}
else
{
/* cleanup unneeded temp variables */
[tempVars removeObjectsInRange:NSMakeRange(tempsSave,
tempsCount-tempsSave)];
tempsCount = tempsSave;
}
}
- (void)compilePrimary:(STCPrimary *)primary