-
Notifications
You must be signed in to change notification settings - Fork 71
/
Oop.class.st
41 lines (32 loc) · 1.07 KB
/
Oop.class.st
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
"
Cooercion specification for Identity coercions:
x asOop: Oop == x
y asValue: Oop == y
"
Class {
#name : #Oop,
#superclass : #Behavior,
#category : #'VMMaker-SmartSyntaxPlugins'
}
{ #category : #'plugin generation' }
Oop class >> ccg: cg generateCoerceToOopFrom: aNode on: aStream [
"N.B. The is used both for generation and simulation so answer the result (for interpretation)"
^cg emitCExpression: aNode on: aStream
]
{ #category : #'plugin generation' }
Oop class >> ccg: cg generateCoerceToValueFrom: aNode on: aStream [
"N.B. The could be used both for generation and simulation so answer the result (for interpretation)"
^cg emitCExpression: aNode on: aStream
]
{ #category : #'plugin generation' }
Oop class >> ccg: cg prolog: aBlock expr: aString index: anInteger [
^cg ccgLoad: aBlock expr: aString asRawOopFrom: anInteger
]
{ #category : #'plugin generation' }
Oop class >> ccgCanConvertFrom: anObject [
^anObject class isImmediateClass not
]
{ #category : #'plugin generation' }
Oop class >> ccgDeclareCForVar: aSymbolOrString [
^'sqInt ', aSymbolOrString
]