Fixed PPCSetUpBefore...Resource to work on Pharo. Few othr minor Pharo fixes.
--- a/compiler/PPCASTUtilities.st Fri Jul 31 09:35:15 2015 +0100
+++ b/compiler/PPCASTUtilities.st Fri Jul 31 14:07:31 2015 +0100
@@ -28,9 +28,17 @@
allClassVarNames := Set new.
cls := aClaas.
[ cls notNil ] whileTrue:[
- allInstVarNames addAll: cls instanceVariables.
- allClassVarNames addAll: cls classVariables.
- cls := cls superclass.
+ | instanceVariables classVariables |
+
+ instanceVariables := cls instanceVariables.
+ classVariables := cls classVariables.
+ instanceVariables notNil ifTrue:[
+ allInstVarNames addAll: instanceVariables.
+ ].
+ classVariables notNil ifTrue:[
+ allClassVarNames addAll: classVariables.
+ ].
+ cls := cls superclass.
].
self withAllVariableNodesOf: anRBBlockNode do: [ :node |
--- a/compiler/tests/extras/PPCSetUpBeforeTearDownAfterResource.st Fri Jul 31 09:35:15 2015 +0100
+++ b/compiler/tests/extras/PPCSetUpBeforeTearDownAfterResource.st Fri Jul 31 14:07:31 2015 +0100
@@ -67,23 +67,38 @@
!PPCSetUpBeforeTearDownAfterResource class methodsFor:'subclass creation'!
for: aClass
- ^ CachedResources at: aClass ifAbsentPut:[
- | resourceMeta resourceClass |
+ ^ CachedResources at: aClass ifAbsentPut:[
+ | resourceMeta resourceClass |
- resourceMeta := Metaclass new.
- resourceMeta setSuperclass: self class.
- resourceMeta instSize: self class instSize.
- resourceClass := resourceMeta new.
- resourceClass setSuperclass: self.
- resourceClass instSize: self instSize.
- resourceClass testCaseClass: aClass.
- resourceClass
- ]
+ ((Smalltalk respondsTo: #isSmalltalkX) and:[Smalltalk isSmalltalkX]) ifTrue:[
+ resourceMeta := Metaclass new.
+ resourceMeta setSuperclass: self class.
+ resourceMeta instSize: self class instSize.
+ resourceClass := resourceMeta new.
+ resourceClass setSuperclass: self.
+ resourceClass instSize: self instSize.
+ ] ifFalse:[
+ " Assumes Pharo 5.0"
+ resourceMeta := Metaclass new.
+ resourceMeta
+ superclass: self class
+ withLayoutType: FixedLayout
+ slots: #().
+ resourceClass := resourceMeta new.
+ resourceClass superclass: self
+ withLayoutType: FixedLayout
+ slots: #().
+ ].
+ resourceClass testCaseClass: aClass.
+ resourceClass
+ ]
- "Created: / 29-07-2015 / 16:17:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified (format): / 30-07-2015 / 07:48:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Created: / 29-07-2015 / 16:17:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified (format): / 30-07-2015 / 07:48:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+
! !
+
!PPCSetUpBeforeTearDownAfterResource methodsFor:'setup & teardown'!
setUp