Cface__CBuiltinNode.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Mon, 06 Jul 2015 22:28:52 +0100
changeset 40 7d1e77b6115e
parent 37 1ad7fb72801a
permissions -rw-r--r--
Renamed CUserDefinedTypeNode to CUnresolvedTypeNode. This is a preparation for new resolving code.

"{ 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
!

cName
    ^ self subclassResponsibility

    "Created: / 06-07-2015 / 07:30:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!

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$'
! !