Cface__CLongNode.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Mon, 06 Jul 2015 07:18:24 +0100
changeset 36 4e586238a9f7
parent 32 d7464405cbda
child 37 1ad7fb72801a
permissions -rw-r--r--
Fix in class generator (MethofDefinitionChange>>classVariableNames: now takes collection, not string)

"{ Package: 'jv:cface' }"

"{ NameSpace: Cface }"

CModifierNode subclass:#CLongNode
	instanceVariableNames:''
	classVariableNames:''
	poolDictionaries:''
	category:'Cface-C AST'
!


!CLongNode methodsFor:'accessing'!

cByteSize

    self isCLongIntNode 
        ifTrue:[^self cLongIntByteSize].

    self isCLongIntNode 
        ifTrue:[^self cLongLongIntByteSize].

    self error:'Cannot happen...I hope :-)'

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

ffiPointerTypeSymbol

    ^ (self ffiTypeSymbol , 'Pointer') asSymbol

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

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

    ^ #long

    "Modified: / 12-07-2011 / 16:33:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!

stxStructFieldGetterSelector

    type isCIntNode ifTrue:[
        ^#longLongAt:
    ].

    "/self breakPoint: #jv.

    ^ type stxStructFieldGetterSelector

    "Created: / 30-05-2012 / 21:39:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !

!CLongNode 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 visitCLongNode:self
! !

!CLongNode class methodsFor:'documentation'!

version_SVN
    ^ '$Id$'
! !