diff -r 425fc425516b -r 2f66de89a89b MessageNode.st --- a/MessageNode.st Mon Oct 21 18:14:04 1996 +0200 +++ b/MessageNode.st Mon Oct 21 18:15:08 1996 +0200 @@ -1400,6 +1400,11 @@ needLineNr := true. pos := aStream position. + + aCompiler lineNumberInfo == #full ifTrue:[ + ParseNode codeLineNumber:lineNr on:aStream for:aCompiler. + ]. + optByteCode notNil ifTrue:[ theReceiver codeOn:aStream inBlock:b for:aCompiler. theArg notNil ifTrue:[ @@ -1442,22 +1447,20 @@ "/ (tiny loops would not be debuggable with next, since lineNo remains the same) "/ think about it ... "/ -"/ blockExpr := theReceiver simpleSendBlockReceiver. -"/ blockExpr notNil ifTrue:[ -"/ blockExpr isMessage ifTrue:[ -"/ (aCompiler hasLineNumber:(blockExpr selector)) ifTrue:[ -"/ blockExpr lineNumber == lineNr ifTrue:[ -"/ needLineNr := false -"/ ] -"/ ] -"/ ] -"/ ]. + blockExpr := theReceiver simpleSendBlockExpression. + blockExpr notNil ifTrue:[ + blockExpr isMessage ifTrue:[ + (aCompiler hasLineNumber:(blockExpr selector)) ifTrue:[ + blockExpr lineNumber == lineNr ifTrue:[ + needLineNr := false + ] + ] + ] + ]. ]. needLineNr ifTrue:[ - (lineNr between:1 and:255) ifTrue:[ - aStream nextPut:#lineno; nextPut:lineNr. - ] + ParseNode codeLineNumber:lineNr on:aStream for:aCompiler. ]. hasLoopBlock ifFalse:[ @@ -1486,7 +1489,7 @@ valueNeeded ifTrue:[aStream nextPut:#pushNil]. - "Modified: 21.10.1996 / 10:28:39 / cg" + "Modified: 21.10.1996 / 17:05:40 / cg" ! optimizedConditionFor:aReceiver with:aByteCode @@ -1756,5 +1759,5 @@ !MessageNode class methodsFor:'documentation'! version - ^ '$Header: /cvs/stx/stx/libcomp/MessageNode.st,v 1.55 1996-10-21 09:28:59 cg Exp $' + ^ '$Header: /cvs/stx/stx/libcomp/MessageNode.st,v 1.56 1996-10-21 16:15:08 cg Exp $' ! !