Cface__CStructFieldNode.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 }"

CDefinitionNode subclass:#CStructFieldNode
	instanceVariableNames:'type offset owner'
	classVariableNames:''
	poolDictionaries:''
	category:'Cface-C AST'
!

!CStructFieldNode class methodsFor:'documentation'!

history

    "Created: / 25-10-2007 / 17:44:38 / haja"
    "Created: #name / 25-10-2007 / 17:44:44 / haja"
    "Created: #name: / 25-10-2007 / 17:44:44 / haja"
    "Created: #id / 25-10-2007 / 17:44:44 / haja"
    "Created: #id: / 25-10-2007 / 17:44:44 / haja"
    "Created: #name:id: / 25-10-2007 / 17:46:03 / haja"
    "Created: #acceptVisitor: / 02-11-2007 / 10:45:15 / haja"
    "Created: #buildTypeDescriptionOn: / 20-12-2007 / 12:19:13 / haja"
! !

!CStructFieldNode class methodsFor:'instance creation'!

cName:aFieldName id:anId 
    |defStructFieldNode|

    defStructFieldNode := self new.
    defStructFieldNode
        name:aFieldName;
        id:anId.
    ^ defStructFieldNode

    "Created: / 10-02-2008 / 19:08:18 / janfrog"
! !

!CStructFieldNode methodsFor:'accessing'!

offset
    ^ offset

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

offset:something
    offset := something.

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

owner
    ^ owner

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

owner:something
    owner := something.

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

stxStructFieldGetterSelector
    ^ type stxStructFieldGetterSelector

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

stxStructFieldSetterSelector
    ^ type stxStructFieldSetterSelector

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

type
    ^ type

    "Created: / 10-02-2008 / 19:28:11 / janfrog"
!

type:something
    type := something.

    "Created: / 10-02-2008 / 19:28:11 / janfrog"
! !

!CStructFieldNode methodsFor:'testing'!

isCStructFieldNode
    ^ true

    "Created: / 17-02-2008 / 21:49:53 / janfrog"
! !

!CStructFieldNode 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 visitCStructFieldNode:self

    "Created: / 02-11-2007 / 10:45:15 / haja"
    "Modified: / 10-02-2008 / 10:45:36 / janfrog"
! !

!CStructFieldNode class methodsFor:'documentation'!

version
    ^ '$Id$'
!

version_SVN
    ^ '$Id$'
! !