Generate comment in FFI callouts
authorJan Vrany <jan.vrany@fit.cvut.cz>
Mon, 06 Jul 2015 07:52:34 +0100
changeset 37 1ad7fb72801a
parent 36 4e586238a9f7
child 38 7654e5bd9818
Generate comment in FFI callouts Specifying the name and types of parameters and the return type.
Cface__CBuiltinNode.st
Cface__CCharNode.st
Cface__CConstNode.st
Cface__CDoubleNode.st
Cface__CFloatNode.st
Cface__CFunctionNode.st
Cface__CIntNode.st
Cface__CLongNode.st
Cface__CPointerNode.st
Cface__CShortNode.st
Cface__CUnsignedNode.st
Cface__CVoidNode.st
Cface__CWCharNode.st
Cface__SmalltalkXGenerator.st
bmake.bat
mingwmake.bat
vcmake.bat
--- a/Cface__CBuiltinNode.st	Mon Jul 06 07:18:24 2015 +0100
+++ b/Cface__CBuiltinNode.st	Mon Jul 06 07:52:34 2015 +0100
@@ -18,6 +18,12 @@
     ^ self shouldImplement
 !
 
+cName
+    ^ self subclassResponsibility
+
+    "Created: / 06-07-2015 / 07:30:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 ffiPointerTypeSymbol
 
     ^ (self ffiTypeSymbol , 'Pointer') asSymbol
@@ -75,3 +81,4 @@
 version_SVN
     ^ '$Id$'
 ! !
+
--- a/Cface__CCharNode.st	Mon Jul 06 07:18:24 2015 +0100
+++ b/Cface__CCharNode.st	Mon Jul 06 07:52:34 2015 +0100
@@ -18,6 +18,14 @@
     ^ self shouldImplement
 !
 
+cName
+    "superclass Cface::CBuiltinNode says that I am responsible to implement this method"
+
+    ^ 'char'
+
+    "Modified: / 06-07-2015 / 07:31:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 ffiTypeSymbol
     "superclass Cface::CTypeNode says that I am responsible to implement this method"
 
@@ -54,3 +62,4 @@
 version_SVN
     ^ '$Id$'
 ! !
+
--- a/Cface__CConstNode.st	Mon Jul 06 07:18:24 2015 +0100
+++ b/Cface__CConstNode.st	Mon Jul 06 07:52:34 2015 +0100
@@ -44,6 +44,12 @@
 
 !CConstNode methodsFor:'accessing'!
 
+cName
+    ^ 'const ', super cName
+
+    "Created: / 06-07-2015 / 07:32:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 ffiPointerTypeSymbol
 
     ^type ffiPointerTypeSymbol
@@ -142,3 +148,4 @@
 version_SVN
     ^ '$Id$'
 ! !
+
--- a/Cface__CDoubleNode.st	Mon Jul 06 07:18:24 2015 +0100
+++ b/Cface__CDoubleNode.st	Mon Jul 06 07:52:34 2015 +0100
@@ -18,6 +18,14 @@
     ^ self shouldImplement
 !
 
+cName
+    "superclass Cface::CBuiltinNode says that I am responsible to implement this method"
+
+    ^ 'double'
+
+    "Modified: / 06-07-2015 / 07:31:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 ffiTypeSymbol
     "superclass Cface::CTypeNode says that I am responsible to implement this method"
 
@@ -62,3 +70,4 @@
 version_SVN
     ^ '$Id$'
 ! !
+
--- a/Cface__CFloatNode.st	Mon Jul 06 07:18:24 2015 +0100
+++ b/Cface__CFloatNode.st	Mon Jul 06 07:52:34 2015 +0100
@@ -18,6 +18,14 @@
     ^ self shouldImplement
 !
 
+cName
+    "superclass Cface::CBuiltinNode says that I am responsible to implement this method"
+
+    ^ 'float'
+
+    "Modified: / 06-07-2015 / 07:31:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 ffiTypeSymbol
     "superclass Cface::CTypeNode says that I am responsible to implement this method"
 
@@ -62,3 +70,4 @@
 version_SVN
     ^ '$Id$'
 ! !
+
--- a/Cface__CFunctionNode.st	Mon Jul 06 07:18:24 2015 +0100
+++ b/Cface__CFunctionNode.st	Mon Jul 06 07:52:34 2015 +0100
@@ -40,6 +40,28 @@
     "Created: / 25-10-2007 / 14:39:35 / haja"
 !
 
+comment
+    "Returns a comment string for given function"
+
+    ^ String streamContents:[ :out|
+        arguments notEmptyOrNil ifTrue:[ 
+            arguments do:[:argument | 
+                out nextPutAll: '@param '.
+                out nextPutAll: argument cName.
+                out nextPutAll: ': '.
+                out nextPutAll: argument type cName.
+                out cr; tab4; space.
+            ].
+        ].
+        out nextPutAll: '@return'.
+        out nextPutAll: ': '.
+        out nextPutAll: return cName.
+        out cr; tab4.
+    ].
+
+    "Created: / 06-07-2015 / 07:29:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 kind
     ^ kind ? #static
 
--- a/Cface__CIntNode.st	Mon Jul 06 07:18:24 2015 +0100
+++ b/Cface__CIntNode.st	Mon Jul 06 07:52:34 2015 +0100
@@ -18,6 +18,14 @@
     ^ self shouldImplement
 !
 
+cName
+    "superclass Cface::CBuiltinNode says that I am responsible to implement this method"
+
+    ^ 'int'
+
+    "Modified: / 06-07-2015 / 07:31:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 ffiTypeSymbol
     "superclass Cface::CTypeNode says that I am responsible to implement this method"
 
@@ -62,3 +70,4 @@
 version_SVN
     ^ '$Id$'
 ! !
+
--- a/Cface__CLongNode.st	Mon Jul 06 07:18:24 2015 +0100
+++ b/Cface__CLongNode.st	Mon Jul 06 07:52:34 2015 +0100
@@ -25,6 +25,12 @@
     "Created: / 09-07-2008 / 19:43:11 / Jan Vrany <vranyj1@fel.cvut.cz>"
 !
 
+cName
+    ^ 'long ', super cName
+
+    "Created: / 06-07-2015 / 07:32:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 ffiPointerTypeSymbol
 
     ^ (self ffiTypeSymbol , 'Pointer') asSymbol
@@ -69,3 +75,4 @@
 version_SVN
     ^ '$Id$'
 ! !
+
--- a/Cface__CPointerNode.st	Mon Jul 06 07:18:24 2015 +0100
+++ b/Cface__CPointerNode.st	Mon Jul 06 07:52:34 2015 +0100
@@ -54,6 +54,12 @@
     ^ self shouldImplement
 !
 
+cName
+    ^ '*', type cName
+
+    "Created: / 06-07-2015 / 07:34:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 ffiTypeSymbol
 
     ^type isCPointerNode 
@@ -113,3 +119,4 @@
 version_SVN
     ^ '$Id$'
 ! !
+
--- a/Cface__CShortNode.st	Mon Jul 06 07:18:24 2015 +0100
+++ b/Cface__CShortNode.st	Mon Jul 06 07:52:34 2015 +0100
@@ -22,6 +22,12 @@
     "Created: / 09-07-2008 / 19:46:10 / Jan Vrany <vranyj1@fel.cvut.cz>"
 !
 
+cName
+    ^ 'short ', super cName
+
+    "Created: / 06-07-2015 / 07:33:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 ffiTypeSymbol
     "superclass Cface::CModifierNode says that I am responsible to implement this method"
 
@@ -44,3 +50,4 @@
 version_SVN
     ^ '$Id$'
 ! !
+
--- a/Cface__CUnsignedNode.st	Mon Jul 06 07:18:24 2015 +0100
+++ b/Cface__CUnsignedNode.st	Mon Jul 06 07:52:34 2015 +0100
@@ -21,6 +21,12 @@
 
 !CUnsignedNode methodsFor:'accessing'!
 
+cName
+    ^ 'unsigned ', super cName
+
+    "Created: / 06-07-2015 / 07:33:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 ffiTypeSymbol
     "Superclass Cface::CModifierNode says that I am responsible to implement this method"
 
@@ -76,6 +82,12 @@
     ^ '$Id$'
 !
 
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
+!
+
 version_SVN
     ^ '$Id$'
 ! !
+
--- a/Cface__CVoidNode.st	Mon Jul 06 07:18:24 2015 +0100
+++ b/Cface__CVoidNode.st	Mon Jul 06 07:52:34 2015 +0100
@@ -18,6 +18,14 @@
     ^ self shouldImplement
 !
 
+cName
+    "superclass Cface::CBuiltinNode says that I am responsible to implement this method"
+
+    ^ 'void'
+
+    "Modified: / 06-07-2015 / 07:31:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 ffiTypeSymbol
     "superclass Cface::CTypeNode says that I am responsible to implement this method"
 
@@ -48,3 +56,4 @@
 version_SVN
     ^ '$Id$'
 ! !
+
--- a/Cface__CWCharNode.st	Mon Jul 06 07:18:24 2015 +0100
+++ b/Cface__CWCharNode.st	Mon Jul 06 07:52:34 2015 +0100
@@ -26,6 +26,14 @@
     "Created: / 09-07-2008 / 19:35:36 / Jan Vrany <vranyj1@fel.cvut.cz>"
 !
 
+cName
+    "superclass Cface::CBuiltinNode says that I am responsible to implement this method"
+
+    ^ 'wchar'
+
+    "Modified: / 06-07-2015 / 07:32:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 ffiTypeSymbol
     "superclass Cface::CTypeNode says that I am responsible to implement this method"
 
@@ -62,3 +70,4 @@
 version_SVN
     ^ '$Id$'
 ! !
+
--- a/Cface__SmalltalkXGenerator.st	Mon Jul 06 07:18:24 2015 +0100
+++ b/Cface__SmalltalkXGenerator.st	Mon Jul 06 07:52:34 2015 +0100
@@ -58,8 +58,9 @@
 sourceForPrimitive:functionNode 
     ^ (String 
         streamContents:[:s | 
-            s nextPutAll:functionNode 
-                        smalltalkPrimitiveSelectorIterlacedWithArgumentNames.
+            s nextPutAll: functionNode smalltalkPrimitiveSelectorIterlacedWithArgumentNames.
+            s cr; tab4.
+            s nextPut: $"; nextPutAll: functionNode comment; nextPut: $".
             s
                 cr;
                 cr;
@@ -90,7 +91,7 @@
         ])
 
     "Created: / 10-07-2008 / 09:00:06 / Jan Vrany <vranyj1@fel.cvut.cz>"
-    "Modified: / 05-09-2012 / 11:48:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 06-07-2015 / 07:35:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 sourceForSizeof: size
--- a/bmake.bat	Mon Jul 06 07:18:24 2015 +0100
+++ b/bmake.bat	Mon Jul 06 07:52:34 2015 +0100
@@ -4,9 +4,7 @@
 @REM do not edit - automatically generated from ProjectDefinition
 @REM -------
 @SET DEFINES=
-@REM Kludge got Mercurial, cannot be implemented in Borland make
-@FOR /F "tokens=*" %%i in ('hg root') do SET HGROOT=%%i
-@IF "%HGROOT%" NEQ "" SET DEFINES=%DEFINES% "-DHGROOT=%HGROOT%"
+
 make.exe -N -f bc.mak  %DEFINES% %*
 
 
--- a/mingwmake.bat	Mon Jul 06 07:18:24 2015 +0100
+++ b/mingwmake.bat	Mon Jul 06 07:52:34 2015 +0100
@@ -4,9 +4,6 @@
 @REM do not edit - automatically generated from ProjectDefinition
 @REM -------
 @SET DEFINES=
-@REM Kludge got Mercurial, cannot be implemented in Borland make
-@FOR /F "tokens=*" %%i in ('hg root') do SET HGROOT=%%i
-@IF "%HGROOT%" NEQ "" SET DEFINES=%DEFINES% "-DHGROOT=%HGROOT%"
 
 @pushd ..\..\stx\rules
 @call find_mingw.bat
--- a/vcmake.bat	Mon Jul 06 07:18:24 2015 +0100
+++ b/vcmake.bat	Mon Jul 06 07:52:34 2015 +0100
@@ -10,11 +10,8 @@
     popd
 )
 @SET DEFINES=
-@REM Kludge got Mercurial, cannot be implemented in Borland make
-@FOR /F "tokens=*" %%i in ('hg root') do SET HGROOT=%%i
-@IF "%HGROOT%" NEQ "" SET DEFINES=%DEFINES% "-DHGROOT=%HGROOT%"
+
 make.exe -N -f bc.mak -DUSEVC=1 %DEFINES% %*
 
 
 
-