Cface__CBuiltinNode.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Tue, 23 Sep 2014 16:52:40 +0100
changeset 32 d7464405cbda
parent 19 1297bf936bfb
child 37 1ad7fb72801a
permissions -rw-r--r--
Package renamed from cvut:fel/cface to jv:cface

"{ Package: 'jv:cface' }"

"{ NameSpace: Cface }"

CTypeNode subclass:#CBuiltinNode
	instanceVariableNames:''
	classVariableNames:''
	poolDictionaries:''
	category:'Cface-C AST'
!


!CBuiltinNode methodsFor:'accessing'!

cByteSize
    "superclass Cface::CTypeNode says that I am responsible to implement this method"

    ^ self shouldImplement
!

ffiPointerTypeSymbol

    ^ (self ffiTypeSymbol , 'Pointer') asSymbol

    "Created: / 18-07-2011 / 16:40:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!

ffiTypeSymbol
    "superclass Cface::CTypeNode says that I am responsible to implement this method"

    ^ self shouldImplement
!

smalltalkName

    ^self subclassResponsibility

    "Created: / 12-02-2008 / 22:06:11 / janfrog"
!

smalltalkName: aSymbol

    ^self shouldNotImplement

    "Created: / 12-02-2008 / 22:05:16 / janfrog"
! !

!CBuiltinNode methodsFor:'printing'!

printOn: stream indent: level

    stream next: level put: Character tab.
    stream nextPutAll: self ffiTypeSymbol.

    "Created: / 18-07-2011 / 16:51:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !

!CBuiltinNode methodsFor:'visiting'!

acceptVisitor:aVisitor 
    "Double dispatch back to the visitor, passing my type encoded in
     the selector (visitor pattern)"

    "stub code automatically generated - please change if required"

    ^ aVisitor visitCBuiltinNode:self
! !

!CBuiltinNode class methodsFor:'documentation'!

version
    ^ '$Id$'
!

version_SVN
    ^ '$Id$'
! !