--- a/Cface__CDerivedTypeNode.st Tue Jul 12 15:38:42 2011 +0000
+++ b/Cface__CDerivedTypeNode.st Mon Jul 18 15:31:42 2011 +0000
@@ -51,10 +51,14 @@
!
smalltalkClassName
- ^ self smalltalkName asSymbol
+
+ | nm |
+ nm := self smalltalkName.
+ ^nm notNil ifTrue:[nm asSymbol] ifFalse:[nil].
"Created: / 10-07-2008 / 08:01:16 / Jan Vrany <vranyj1@fel.cvut.cz>"
"Modified: / 09-09-2008 / 20:15:46 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 18-07-2011 / 16:19:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
smalltalkClassName:className
@@ -64,12 +68,16 @@
!
smalltalkClassNameWithNamespace
- ^ self smalltalkNamespace isNilOrEmptyCollection
+
+ self smalltalkClassName isNil ifTrue:[^nil].
+
+ ^ self smalltalkNamespace isEmptyOrNil
ifTrue:[ self smalltalkClassName asSymbol ]
ifFalse:[ (self smalltalkNamespace , '::' , self smalltalkClassName) asSymbol ]
"Created: / 03-07-2008 / 20:29:41 / Jan Vrany <vranyj1@fel.cvut.cz>"
"Modified: / 09-09-2008 / 20:16:03 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 18-07-2011 / 16:17:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
smalltalkNamespace
--- a/Cface__CFunctionTypeNode.st Tue Jul 12 15:38:42 2011 +0000
+++ b/Cface__CFunctionTypeNode.st Mon Jul 18 15:31:42 2011 +0000
@@ -34,7 +34,9 @@
ffiTypeSymbol
"superclass Cface::CTypeNode says that I am responsible to implement this method"
- ^ self shouldImplement
+ ^ #pointer
+
+ "Modified: / 18-07-2011 / 16:16:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
return
--- a/Cface__CPointerNode.st Tue Jul 12 15:38:42 2011 +0000
+++ b/Cface__CPointerNode.st Mon Jul 18 15:31:42 2011 +0000
@@ -56,8 +56,11 @@
ffiTypeSymbol
+ | clsName |
+
^type isCStructuredNode ifTrue:[
- type smalltalkClassNameWithNamespace
+ clsName := type smalltalkClassNameWithNamespace.
+ clsName isNil ifTrue:[#pointer] ifFalse:[clsName].
] ifFalse:[
(type ffiTypeSymbol , 'Pointer') asSymbol
]