Skip to content

Commit

Permalink
Merge pull request #6153 from MarcusDenker/ReflectivityAfterOptimized…
Browse files Browse the repository at this point in the history
…Blocks

ReflectivityAfterOptimizedBlocks
  • Loading branch information
MarcusDenker committed Apr 8, 2020
2 parents b890df7 + 25263b0 commit 944aa46
Show file tree
Hide file tree
Showing 6 changed files with 23 additions and 4 deletions.
2 changes: 1 addition & 1 deletion src/Reflectivity-Tests/GlobalForTesting.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,5 @@ I am used for testing
Class {
#name : #GlobalForTesting,
#superclass : #Object,
#category : #'Reflectivity-Tests'
#category : #'Reflectivity-Tests-Data'
}
18 changes: 18 additions & 0 deletions src/Reflectivity-Tests/ReflectivityControlTest.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,24 @@ ReflectivityControlTest >> testAfterBlock [
self assert: (ReflectivityExamples >> #exampleBlock) class equals: CompiledMethod
]

{ #category : #'tests - after' }
ReflectivityControlTest >> testAfterBlockOptimizedIfTrue [
| blockNode |
blockNode := (ReflectivityExamples >> #exampleIfTrueIfFalse) ast blockNodes second.
self assert: blockNode isBlock.
link := MetaLink new
metaObject: self;
selector: #tagExec;
control: #after.
blockNode link: link.
self assert: blockNode hasMetalinkAfter.
self assert: (ReflectivityExamples >> #exampleIfTrueIfFalse) class equals: ReflectiveMethod.
self assert: tag isNil.
self assert: ReflectivityExamples new exampleIfTrueIfFalse identicalTo: 5.
self assert: tag equals: 'yes'.
self assert: (ReflectivityExamples >> #exampleIfTrueIfFalse) class equals: CompiledMethod
]

{ #category : #'tests - after' }
ReflectivityControlTest >> testAfterBlockSequence [
| sequence |
Expand Down
2 changes: 1 addition & 1 deletion src/Reflectivity-Tests/ReflectivityExamples.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Class {
'ClassVar',
'singleton'
],
#category : #'Reflectivity-Tests'
#category : #'Reflectivity-Tests-Data'
}

{ #category : #options }
Expand Down
2 changes: 1 addition & 1 deletion src/Reflectivity-Tests/ReflectivityExamples2.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Class {
#classVars : [
'classVar'
],
#category : #'Reflectivity-Tests'
#category : #'Reflectivity-Tests-Data'
}

{ #category : #example }
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Class {
#name : #ReflectivityExamples2Subclass,
#superclass : #ReflectivityExamples2,
#category : #'Reflectivity-Tests'
#category : #'Reflectivity-Tests-Data'
}

{ #category : #example }
Expand Down
1 change: 1 addition & 0 deletions src/Reflectivity/RFASTTranslator.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -208,6 +208,7 @@ RFASTTranslator >> visitInlinedBlockNode: anOptimizedBlockNode [
self emitPreamble: anOptimizedBlockNode.
self emitMetaLinkBefore: anOptimizedBlockNode.
self visitNode: anOptimizedBlockNode body.
self emitMetaLinkAfterNoEnsure: anOptimizedBlockNode.
]

{ #category : #'visitor-double dispatching' }
Expand Down

0 comments on commit 944aa46

Please sign in to comment.