62 lines
1.6 KiB
Smalltalk
62 lines
1.6 KiB
Smalltalk
Class {
|
|
#name : 'PPCInlinedMethod',
|
|
#superclass : 'PPCMethod',
|
|
#category : 'PetitCompiler-Compiler-Codegen'
|
|
}
|
|
|
|
{ #category : 'code generation - variables' }
|
|
PPCInlinedMethod >> allocateReturnVariable [
|
|
self error: 'return variable must be assigned by the non-inlined method....'
|
|
|
|
"Created: / 23-04-2015 / 21:06:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
|
|
]
|
|
|
|
{ #category : 'code generation - variables' }
|
|
PPCInlinedMethod >> allocateReturnVariableNamed: name [
|
|
self error: 'return variable must be assigned by the non-inlined method....'
|
|
|
|
"Created: / 15-06-2015 / 17:52:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
|
|
]
|
|
|
|
{ #category : 'code generation - variables' }
|
|
PPCInlinedMethod >> allocateTemporaryVariableNamed:aString [
|
|
self error: 'sorry, I can''t allocate variables....'
|
|
|
|
"Created: / 23-04-2015 / 21:06:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
|
|
]
|
|
|
|
{ #category : 'accessing' }
|
|
PPCInlinedMethod >> bridge [
|
|
self error: 'Cannot bridge to the inlined method!'.
|
|
^ super bridge
|
|
]
|
|
|
|
{ #category : 'as yet unclassified' }
|
|
PPCInlinedMethod >> call [
|
|
^ self source
|
|
|
|
"Modified: / 24-07-2015 / 19:45:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
|
|
]
|
|
|
|
{ #category : 'as yet unclassified' }
|
|
PPCInlinedMethod >> callOn: receiver [
|
|
self error: 'are you sure you want to inline code from different receiver? If so, remove me!'.
|
|
^ self code
|
|
]
|
|
|
|
{ #category : 'as yet unclassified' }
|
|
PPCInlinedMethod >> isInline [
|
|
^ true
|
|
]
|
|
|
|
{ #category : 'as yet unclassified' }
|
|
PPCInlinedMethod >> source [
|
|
^ source isString ifTrue:[
|
|
source
|
|
] ifFalse:[
|
|
(String streamContents:[:s | source sourceOn:s ]) trimRight
|
|
].
|
|
|
|
"Created: / 24-07-2015 / 19:46:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
|
|
]
|