Cface__CBuiltinNode.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Wed, 12 Aug 2015 07:32:13 +0100
changeset 43 9327987437ae
parent 37 1ad7fb72801a
permissions -rw-r--r--
Added mappings for LLVM C and LLVM C Extensions These are used to generate C callouts for jv:llvm_s project.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
32
d7464405cbda Package renamed from cvut:fel/cface to jv:cface
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 19
diff changeset
     1
"{ Package: 'jv:cface' }"
1
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
"{ NameSpace: Cface }"
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
CTypeNode subclass:#CBuiltinNode
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
	instanceVariableNames:''
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
	classVariableNames:''
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
	poolDictionaries:''
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
	category:'Cface-C AST'
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
!
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
!CBuiltinNode methodsFor:'accessing'!
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
16
ffcbe7184a53 Fixes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    15
cByteSize
ffcbe7184a53 Fixes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    16
    "superclass Cface::CTypeNode says that I am responsible to implement this method"
ffcbe7184a53 Fixes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    17
ffcbe7184a53 Fixes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    18
    ^ self shouldImplement
ffcbe7184a53 Fixes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    19
!
ffcbe7184a53 Fixes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    20
37
1ad7fb72801a Generate comment in FFI callouts
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 32
diff changeset
    21
cName
1ad7fb72801a Generate comment in FFI callouts
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 32
diff changeset
    22
    ^ self subclassResponsibility
1ad7fb72801a Generate comment in FFI callouts
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 32
diff changeset
    23
1ad7fb72801a Generate comment in FFI callouts
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 32
diff changeset
    24
    "Created: / 06-07-2015 / 07:30:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1ad7fb72801a Generate comment in FFI callouts
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 32
diff changeset
    25
!
1ad7fb72801a Generate comment in FFI callouts
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 32
diff changeset
    26
18
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
    27
ffiPointerTypeSymbol
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
    28
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
    29
    ^ (self ffiTypeSymbol , 'Pointer') asSymbol
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
    30
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
    31
    "Created: / 18-07-2011 / 16:40:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
    32
!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
    33
16
ffcbe7184a53 Fixes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    34
ffiTypeSymbol
ffcbe7184a53 Fixes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    35
    "superclass Cface::CTypeNode says that I am responsible to implement this method"
ffcbe7184a53 Fixes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    36
ffcbe7184a53 Fixes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    37
    ^ self shouldImplement
ffcbe7184a53 Fixes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    38
!
ffcbe7184a53 Fixes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    39
1
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    40
smalltalkName
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    41
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    42
    ^self subclassResponsibility
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    43
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    44
    "Created: / 12-02-2008 / 22:06:11 / janfrog"
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    45
!
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    46
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    47
smalltalkName: aSymbol
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    48
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    49
    ^self shouldNotImplement
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    50
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    51
    "Created: / 12-02-2008 / 22:05:16 / janfrog"
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    52
! !
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    53
18
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
    54
!CBuiltinNode methodsFor:'printing'!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
    55
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
    56
printOn: stream indent: level
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
    57
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
    58
    stream next: level put: Character tab.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
    59
    stream nextPutAll: self ffiTypeSymbol.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
    60
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
    61
    "Created: / 18-07-2011 / 16:51:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
    62
! !
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
    63
16
ffcbe7184a53 Fixes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    64
!CBuiltinNode methodsFor:'visiting'!
ffcbe7184a53 Fixes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    65
ffcbe7184a53 Fixes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    66
acceptVisitor:aVisitor 
ffcbe7184a53 Fixes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    67
    "Double dispatch back to the visitor, passing my type encoded in
ffcbe7184a53 Fixes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    68
     the selector (visitor pattern)"
ffcbe7184a53 Fixes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    69
ffcbe7184a53 Fixes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    70
    "stub code automatically generated - please change if required"
ffcbe7184a53 Fixes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    71
ffcbe7184a53 Fixes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    72
    ^ aVisitor visitCBuiltinNode:self
ffcbe7184a53 Fixes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    73
! !
ffcbe7184a53 Fixes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    74
1
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    75
!CBuiltinNode class methodsFor:'documentation'!
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    76
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    77
version
19
1297bf936bfb Some fixes for modern GCC XML
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
    78
    ^ '$Id$'
14
1f730d82496e Added version_SVN methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    79
!
1f730d82496e Added version_SVN methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    80
1f730d82496e Added version_SVN methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    81
version_SVN
1f730d82496e Added version_SVN methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    82
    ^ '$Id$'
1
b6c0180314d1 Initial import
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    83
! !
37
1ad7fb72801a Generate comment in FFI callouts
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 32
diff changeset
    84