[BUG]Parser(Object)>>doesNotUnderstand: #bindTemp:in:
Damien Cassou
cassou at iam.unibe.ch
Wed Jul 6 10:03:25 UTC 2005
I'm trying to extract temp variables from a method. I've found
Parser>>parseArgsAndTemps:notifying: but it does not work.
| aMethod sourceString |
aMethod := String methodDict at: #alike: .
sourceString := aMethod getSourceFromFile.
Parser new parseArgsAndTemps: sourceString notifying: nil.
The report follows.
Thank you
6 July 2005 11:55:09 am
VM: Mac OS - a SmalltalkImage
Image: Squeak3.8 [latest update: #6665]
SecurityManager state:
Restricted: false
FileAccess: true
SocketAccess: true
Working Dir OSX:Users:damien:Desktop:Squeak:Squeak3.8-6665-basic
Trusted Dir OSX:Users:damien:Desktop:Squeak:Squeak3.8-6665-basic
Untrusted Dir foobar:tooBar:forSqueak:bogus
Parser(Object)>>doesNotUnderstand: #bindTemp:in:
Receiver: a Parser
Arguments and temporary variables:
aMessage: bindTemp: 'temp1' in: #complicatedFunction:param2:param3:
Receiver's instance variables:
source: a ReadStream 'complicatedFunction: aParam1 param2: aParam2 param3: aPar...etc...
mark: 77
hereChar: $|
aheadChar: $
token: 'temp3'
tokenType: #word
currentComment: nil
buffer: a WriteStream 'temp3'
typeTable: #(#xBinary #xBinary #xBinary #xBinary #xBinary #xBinary #xBinary #xB...etc...
here: 'temp2'
hereType: #word
hereMark: 71
hereEnd: 75
prevMark: 65
prevEnd: 69
encoder: a Parser
requestor: nil
parseNode: nil
failBlock: [] in Parser>>initPattern:notifying:return: {[^ nil]}
requestorOffset: 0
tempsMark: nil
doitFlag: false
Parser>>temporariesIn:
Receiver: a Parser
Arguments and temporary variables:
methodSelector: #complicatedFunction:param2:param3:
vars: an OrderedCollection()
theActualText: nil
Receiver's instance variables:
source: a ReadStream 'complicatedFunction: aParam1 param2: aParam2 param3: aPar...etc...
mark: 77
hereChar: $|
aheadChar: $
token: 'temp3'
tokenType: #word
currentComment: nil
buffer: a WriteStream 'temp3'
typeTable: #(#xBinary #xBinary #xBinary #xBinary #xBinary #xBinary #xBinary #xB...etc...
here: 'temp2'
hereType: #word
hereMark: 71
hereEnd: 75
prevMark: 65
prevEnd: 69
encoder: a Parser
requestor: nil
parseNode: nil
failBlock: [] in Parser>>initPattern:notifying:return: {[^ nil]}
requestorOffset: 0
tempsMark: nil
doitFlag: false
[] in Parser>>parseArgsAndTemps:notifying: {[:pattern | (pattern at: 2) , (self temporariesIn: (pattern at: 1))]}
Arguments and temporary variables:
aString: a Text for 'complicatedFunction: aParam1 param2: aParam2 param3: aPara...etc...
req: nil
pattern: #(#complicatedFunction:param2:param3: an OrderedCollection('aParam1' '...etc...
Parser>>initPattern:notifying:return:
Receiver: a Parser
Arguments and temporary variables:
aString: a Text for 'complicatedFunction: aParam1 param2: aParam2 param3: aPara...etc...
req: nil
aBlock: [] in Parser>>parseArgsAndTemps:notifying: {[:pattern | (pattern at: 2)...etc...
result: nil
Receiver's instance variables:
source: a ReadStream 'complicatedFunction: aParam1 param2: aParam2 param3: aPar...etc...
mark: 77
hereChar: $|
aheadChar: $
token: 'temp3'
tokenType: #word
currentComment: nil
buffer: a WriteStream 'temp3'
typeTable: #(#xBinary #xBinary #xBinary #xBinary #xBinary #xBinary #xBinary #xB...etc...
here: 'temp2'
hereType: #word
hereMark: 71
hereEnd: 75
prevMark: 65
prevEnd: 69
encoder: a Parser
requestor: nil
parseNode: nil
failBlock: [] in Parser>>initPattern:notifying:return: {[^ nil]}
requestorOffset: 0
tempsMark: nil
doitFlag: false
--- The full stack ---
Parser(Object)>>doesNotUnderstand: #bindTemp:in:
Parser>>temporariesIn:
[] in Parser>>parseArgsAndTemps:notifying: {[:pattern | (pattern at: 2) , (self temporariesIn: (pattern at: 1))]}
Parser>>initPattern:notifying:return:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Parser>>parseArgsAndTemps:notifying:
UndefinedObject>>DoIt
Compiler>>evaluate:in:to:notifying:ifFail:logged:
[] in TextMorphForShoutEditor(ParagraphEditor)>>evaluateSelection {[rcvr class evaluatorClass new evaluate: self selectionAsStream in: ctxt...]}
BlockContext>>on:do:
TextMorphForShoutEditor(ParagraphEditor)>>evaluateSelection
TextMorphForShoutEditor(ParagraphEditor)>>doIt
[] in TextMorphForShoutEditor(ParagraphEditor)>>doIt: {[self doIt]}
TextMorphForShoutEditor(Controller)>>terminateAndInitializeAround:
TextMorphForShoutEditor(ParagraphEditor)>>doIt:
TextMorphForShoutEditor(ParagraphEditor)>>dispatchOnCharacter:with:
TextMorphForShoutEditor(TextMorphEditor)>>dispatchOnCharacter:with:
TextMorphForShoutEditor(ParagraphEditor)>>readKeyboard
...etc...
--
Damien
More information about the Squeak-dev
mailing list
|