>From a0218d7afb08ad9c5f9f4a433f3fc2f9e321278c Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Thu, 26 Aug 2010 20:17:23 +0800 Subject: [PATCH 3/3] STClassLoader.st: Handle #classSide to be able to parse PetitParser/Magritte * STLoader.st: Resolve PPFailure classSide properly. #classSide was added in to Squeak in 2004 and is used in packages like PetitParser and Magritte. --- packages/stinst/parser/ChangeLog | 6 ++++++ packages/stinst/parser/STLoader.st | 2 +- 2 files changed, 7 insertions(+), 1 deletions(-) diff --git a/packages/stinst/parser/ChangeLog b/packages/stinst/parser/ChangeLog index 0653b3d..8ffbb43 100644 --- a/packages/stinst/parser/ChangeLog +++ b/packages/stinst/parser/ChangeLog @@ -1,3 +1,9 @@ +2010-08-26 Paolo Bonzini + + * STLoader.st: Resolve PPFailure classSide properly. #classSide was + added in to Squeak in 2004 and is used in packages like PetitParser + and Magritte. + 2010-08-26 Holger Hans Peter Freyther * SqueakParser.st: Handle binary selector with more than two diff --git a/packages/stinst/parser/STLoader.st b/packages/stinst/parser/STLoader.st index 4488a12..cd3014b 100644 --- a/packages/stinst/parser/STLoader.st +++ b/packages/stinst/parser/STLoader.st @@ -341,7 +341,7 @@ doMethodsFor: receiver selector: selector arguments: argumentNodes resolveClass: node | object | - (node isMessage and: [ node selector = #class ]) + (node isMessage and: [ node selector = #class or: [ node selector = #classSide ]]) ifTrue: [ ^(self resolveClass: node receiver) asMetaclass ]. node isLiteral ifTrue: [ "Dictionary cannot have nil as a key, use the entire RBLiteralNode." -- 1.7.2.2