Smalltalk/X generator improvements:
- generate C enums as SharedPools with accessors
- generate externa function calls using FFI. Not yet finished!
- CairoMappings improved.
"{ Package: 'cvut:fel/cface' }"
"{ NameSpace: Cface }"
CTypeNode subclass:#CDerivedTypeNode
instanceVariableNames:'smalltalkNamespace smalltalkPackage smalltalkCategory'
classVariableNames:''
poolDictionaries:''
category:'Cface-C AST'
!
!CDerivedTypeNode methodsFor:'accessing'!
smalltalkCategory
^ smalltalkCategory ifNil:
[self smalltalkNamespace , ' - C Types']
"Created: / 03-07-2008 / 21:10:35 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
smalltalkCategory:something
smalltalkCategory := something.
"Created: / 03-07-2008 / 21:10:35 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
smalltalkClass
^self smalltalkName
"Created: / 17-02-2008 / 20:47:40 / janfrog"
!
smalltalkClass: className
self smalltalkName: className
"Created: / 17-02-2008 / 20:47:32 / janfrog"
!
smalltalkClassNameWithNamespace
^self smalltalkNamespace isNilOrEmptyCollection
ifTrue:[self smalltalkClass]
ifFalse:[self smalltalkNamespace , '::' , self smalltalkClass]
"Created: / 03-07-2008 / 20:29:41 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
smalltalkNamespace
^ smalltalkNamespace
"Created: / 17-02-2008 / 20:47:13 / janfrog"
!
smalltalkNamespace:something
smalltalkNamespace := something.
"Created: / 17-02-2008 / 20:47:13 / janfrog"
!
smalltalkPackage
^ smalltalkPackage
"Created: / 03-07-2008 / 21:10:29 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
smalltalkPackage:something
smalltalkPackage := something.
"Created: / 03-07-2008 / 21:10:29 / Jan Vrany <vranyj1@fel.cvut.cz>"
! !
!CDerivedTypeNode methodsFor:'printing'!
printOn: stream indent: level
self smalltalkNamespace ifNotNil:
[stream nextPutAll:';; Namespace: '; nextPutAll: self smalltalkNamespace; cr; next: level put: Character tab].
self smalltalkClass ifNotNil:
[stream nextPutAll:';; Class: '; nextPutAll: self smalltalkClass; cr; next: level put: Character tab].
"Created: / 18-02-2008 / 14:33:01 / janfrog"
! !
!CDerivedTypeNode methodsFor:'testing'!
isAnonymous
^cName isNil
"Created: / 17-02-2008 / 22:23:25 / janfrog"
! !
!CDerivedTypeNode class methodsFor:'documentation'!
version
^ '$Header: /opt/data/cvs/cvut-fel/cface/Cface__CDerivedTypeNode.st,v 1.1 2008/02/26 15:59:26 vranyj1 Exp $'
! !