Cface__CIntNode.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Thu, 10 Jul 2008 07:31:14 +0000
changeset 5 c110eef5b9ef
parent 2 cfd2c393abfe
child 9 03c7a764d2be
permissions -rw-r--r--
- externalization of libraryName (now supports unix & win32 simultaneously) - basi support for accessing structure fields

"{ Package: 'cvut:fel/cface' }"

"{ NameSpace: Cface }"

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


!CIntNode methodsFor:'accessing'!

cByteSize

    "
        Cface::CIntNode new cByteSize         
    "

    %{
        return __MKSMALLINT(sizeof(int));
    %}.
    ^4

    "Created: / 09-07-2008 / 19:34:10 / Jan Vrany <vranyj1@fel.cvut.cz>"
!

ffiTypeSymbol
    "Superclass Cface::CTypeNode says that I am responsible to implement this method"
    
    ^ #int32

    "Created: / 03-07-2008 / 22:54:39 / Jan Vrany <vranyj1@fel.cvut.cz>"
    "Modified: / 10-07-2008 / 07:55:48 / Jan Vrany <vranyj1@fel.cvut.cz>"
!

smalltalkName
    "Superclass says that I am responsible to implement this method"

    ^#SmallInteger

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

smalltalkxValueExtractionSelector

    ^#doubleWordAt:

    "Created: / 09-07-2008 / 21:45:43 / Jan Vrany <vranyj1@fel.cvut.cz>"
! !

!CIntNode methodsFor:'printing'!

printOn: stream indent: indent

    stream nextPutAll:'int'

    "Created: / 04-03-2008 / 10:57:12 / janfrog"
! !

!CIntNode methodsFor:'testing'!

isCIntNode
    ^ true

    "Created: / 17-02-2008 / 21:50:25 / janfrog"
! !

!CIntNode 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 visitCIntNode:self

    "Created: / 12-02-2008 / 23:03:58 / janfrog"
! !

!CIntNode class methodsFor:'documentation'!

version
    ^ '$Header: /opt/data/cvs/cvut-fel/cface/Cface__CIntNode.st,v 1.1 2008/02/26 16:00:08 vranyj1 Exp $'
! !