Cface__CArrayNode.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Wed, 12 Aug 2015 07:32:13 +0100
changeset 43 9327987437ae
parent 32 d7464405cbda
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.

"{ Package: 'jv:cface' }"

"{ NameSpace: Cface }"

CTypeNode subclass:#CArrayNode
	instanceVariableNames:'type size'
	classVariableNames:''
	poolDictionaries:''
	category:'Cface-C AST'
!

!CArrayNode class methodsFor:'documentation'!

history

    "Created: / 25-10-2007 / 16:50:37 / haja"
    "Created: #id / 25-10-2007 / 16:50:42 / haja"
    "Created: #id: / 25-10-2007 / 16:50:42 / haja"
    "Created: #size / 25-10-2007 / 16:50:42 / haja"
    "Created: #size: / 25-10-2007 / 16:50:42 / haja"
    "Created: #id:size: / 25-10-2007 / 16:53:04 / haja"
    "Deleted: #acceptVisitor: / 02-11-2007 / 10:39:35 / haja"
    "Created: #acceptVisitor: / 02-11-2007 / 10:39:47 / haja"
    "Created: #buildTypeCheckFor:on: / 19-12-2007 / 15:55:50 / haja"
    "Created: #buildObjectCreationOn: / 19-12-2007 / 16:40:09 / haja"
    "Created: #buildValueExtractionFor:on: / 19-12-2007 / 17:30:51 / haja"
    "Created: #buildObjectCreationFor:on: / 19-12-2007 / 17:39:17 / haja"
    "Deleted: #buildObjectCreationOn: / 19-12-2007 / 17:39:20 / haja"
    "Created: #buildTypeDescriptionOn: / 20-12-2007 / 12:13:36 / haja"
! !

!CArrayNode methodsFor:'accessing'!

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

    ^ self shouldImplement
!

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

    ^ self shouldImplement
!

size
    ^ size
!

size:anInteger
    size := anInteger.
!

type
    ^ type
!

type:aCTypeNode
    type := aCTypeNode.
! !

!CArrayNode methodsFor:'testing'!

isCArrayNode
    ^ true

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

!CArrayNode 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 visitCArrayNode:self
! !

!CArrayNode class methodsFor:'documentation'!

version_SVN
    ^ '$Id$'
! !