Added support for generating classes for typedef'd types.
--- a/Cface__CTypedefNode.st Mon Jul 06 08:03:53 2015 +0100
+++ b/Cface__CTypedefNode.st Mon Jul 06 22:21:35 2015 +0100
@@ -2,8 +2,8 @@
"{ NameSpace: Cface }"
-CTypeNode subclass:#CTypedefNode
- instanceVariableNames:'type foreign'
+CDerivedTypeNode subclass:#CTypedefNode
+ instanceVariableNames:'type'
classVariableNames:''
poolDictionaries:''
category:'Cface-C AST'
@@ -52,18 +52,6 @@
"Created: / 03-07-2008 / 22:40:25 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
-foreign
- ^ foreign
-
- "Created: / 04-07-2008 / 11:46:03 / Jan Vrany <vranyj1@fel.cvut.cz>"
-!
-
-foreign:something
- foreign := something.
-
- "Created: / 04-07-2008 / 11:46:03 / Jan Vrany <vranyj1@fel.cvut.cz>"
-!
-
type
^ type
@@ -124,3 +112,4 @@
version_SVN
^ '$Id$'
! !
+
--- a/Cface__CUserDefinedTypeNode.st Mon Jul 06 08:03:53 2015 +0100
+++ b/Cface__CUserDefinedTypeNode.st Mon Jul 06 22:21:35 2015 +0100
@@ -151,6 +151,30 @@
!CUserDefinedTypeNode methodsFor:'testing'!
+isCEnumNode
+ ^ type isCEnumNode
+
+ "Created: / 06-07-2015 / 17:37:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+isCPointerToCStructure
+ ^type isCPointerToCStructure
+
+ "Created: / 06-07-2015 / 17:38:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+isCStructNode
+ ^ type isCStructNode
+
+ "Created: / 06-07-2015 / 17:37:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+isCUnionNode
+ ^ type isCUnionNode
+
+ "Created: / 06-07-2015 / 17:38:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
isCUserDefinedTypeNode
^ true
! !
@@ -178,3 +202,4 @@
version_SVN
^ '$Id$'
! !
+
--- a/Cface__SmalltalkXGenerator.st Mon Jul 06 08:03:53 2015 +0100
+++ b/Cface__SmalltalkXGenerator.st Mon Jul 06 22:21:35 2015 +0100
@@ -18,6 +18,27 @@
"Created: / 08-02-2008 / 08:55:08 / janfrog"
! !
+!SmalltalkXGenerator methodsFor:'private'!
+
+generateClassForPointerType:cStructNode
+ | smalltalkClass |
+
+ smalltalkClass := Smalltalk at: cStructNode smalltalkClassNameWithNamespace ifAbsent:[nil].
+ smalltalkClass isNil ifTrue:[
+ (changeset add: ClassDefinitionChange new)
+ superClassName: ExternalAddress fullName;
+ nameSpaceName: cStructNode smalltalkNamespace;
+ className: cStructNode smalltalkClassName;
+ category: cStructNode smalltalkCategory;
+ package: cStructNode smalltalkPackage.
+ ] ifFalse:[
+ (smalltalkClass inheritsFrom: ExternalAddress) ifFalse:
+ [self error:'Class ',smalltalkClass fullName,' should inherit from ExternalAddress']
+ ].
+
+ "Modified: / 06-07-2015 / 18:04:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
!SmalltalkXGenerator methodsFor:'processing'!
process: node
@@ -308,9 +329,17 @@
"Modified: / 28-12-2014 / 21:33:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
-visitCTypedefNode: typedefNode
+visitCTypedefNode: cTypedefNode
+ cTypedefNode type isCStructuredNode ifTrue:[
+ self visitCStructuredNode: cTypedefNode.
+ ^ self
+ ].
+ cTypedefNode type isCPointerNode ifTrue:[
+ self generateClassForPointerType: cTypedefNode.
+ ].
"Created: / 03-07-2008 / 22:00:49 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 06-07-2015 / 18:01:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
visitCUnionNode: cStructNode
--- a/Cface__TypeMapper.st Mon Jul 06 08:03:53 2015 +0100
+++ b/Cface__TypeMapper.st Mon Jul 06 22:21:35 2015 +0100
@@ -132,6 +132,22 @@
"Modified: / 22-02-2009 / 22:14:40 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
+visitCTypedefNode:cTypedefNode
+
+ cTypedefNode shouldBeIgnored ifFalse:[
+ cTypedefNode
+ smalltalkNamespace:(mappings smalltalkNamespaceForTypedef: cTypedefNode);
+ smalltalkPackage:(mappings smalltalkPackage);
+ smalltalkClassName:(mappings smalltalkClassNameForTypedef:cTypedefNode);
+ smalltalkCategory: (mappings smalltalkCategoryForTypedef: cTypedefNode)
+ ].
+ super visitCTypedefNode:cTypedefNode.
+ cTypedefNode shouldBeIgnored ifFalse:
+ [cTypedefNode ignore: (mappings shouldIgnoreTypedef: cTypedefNode)].
+
+ "Created: / 06-07-2015 / 11:35:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
visitCUnionNode:cUnion
@@ -159,3 +175,4 @@
version_SVN
^ '$Id$'
! !
+
--- a/Cface__TypeMapping.st Mon Jul 06 08:03:53 2015 +0100
+++ b/Cface__TypeMapping.st Mon Jul 06 22:21:35 2015 +0100
@@ -67,6 +67,13 @@
"Created: / 22-02-2009 / 15:13:24 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
+shouldIgnoreTypedef: cTypedefNode
+
+ ^false
+
+ "Created: / 06-07-2015 / 11:37:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
shouldIgnoreUnion: cUnionNode
^false
@@ -99,6 +106,12 @@
"Modified (comment): / 10-09-2012 / 09:35:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
+smalltalkCategoryForTypedef:cTypedefNode
+ ^ self smalltalkCategoryForDerivedType:cTypedefNode
+
+ "Created: / 06-07-2015 / 11:35:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
smalltalkCategoryForUnion:union
^ self smalltalkCategoryForDerivedType:union
@@ -147,6 +160,14 @@
"Created: / 10-07-2008 / 07:59:08 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
+smalltalkClassNameForTypedef:cTypedefNode
+ ^ self smalltalkClassNameForDerivedType:cTypedefNode
+
+ "Answers class which should contain function call"
+
+ "Created: / 06-07-2015 / 11:35:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
smalltalkClassNameForUnion:union
^ self smalltalkClassNameForDerivedType:union
@@ -222,6 +243,13 @@
"Created: / 10-07-2008 / 20:24:50 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
+smalltalkNamespaceForTypedef: cTypedefNode
+
+ ^self smalltalkNamespaceForDerivedType: cTypedefNode
+
+ "Created: / 06-07-2015 / 11:36:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
smalltalkNamespaceForUnion: cType
^self smalltalkNamespaceForDerivedType: cType
--- a/Make.proto Mon Jul 06 08:03:53 2015 +0100
+++ b/Make.proto Mon Jul 06 22:21:35 2015 +0100
@@ -182,7 +182,6 @@
$(OUTDIR)Cface__CBuiltinNode.$(O) Cface__CBuiltinNode.$(H): Cface__CBuiltinNode.st $(INCLUDE_TOP)/jv/cface/Cface__CDefinitionNode.$(H) $(INCLUDE_TOP)/jv/cface/Cface__CNode.$(H) $(INCLUDE_TOP)/jv/cface/Cface__CTypeNode.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)Cface__CDerivedTypeNode.$(O) Cface__CDerivedTypeNode.$(H): Cface__CDerivedTypeNode.st $(INCLUDE_TOP)/jv/cface/Cface__CDefinitionNode.$(H) $(INCLUDE_TOP)/jv/cface/Cface__CNode.$(H) $(INCLUDE_TOP)/jv/cface/Cface__CTypeNode.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)Cface__CPointerNode.$(O) Cface__CPointerNode.$(H): Cface__CPointerNode.st $(INCLUDE_TOP)/jv/cface/Cface__CDefinitionNode.$(H) $(INCLUDE_TOP)/jv/cface/Cface__CNode.$(H) $(INCLUDE_TOP)/jv/cface/Cface__CTypeNode.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)Cface__CTypedefNode.$(O) Cface__CTypedefNode.$(H): Cface__CTypedefNode.st $(INCLUDE_TOP)/jv/cface/Cface__CDefinitionNode.$(H) $(INCLUDE_TOP)/jv/cface/Cface__CNode.$(H) $(INCLUDE_TOP)/jv/cface/Cface__CTypeNode.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)Cface__CUserDefinedTypeNode.$(O) Cface__CUserDefinedTypeNode.$(H): Cface__CUserDefinedTypeNode.st $(INCLUDE_TOP)/jv/cface/Cface__CDefinitionNode.$(H) $(INCLUDE_TOP)/jv/cface/Cface__CNode.$(H) $(INCLUDE_TOP)/jv/cface/Cface__CTypeNode.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)Cface__CCharNode.$(O) Cface__CCharNode.$(H): Cface__CCharNode.st $(INCLUDE_TOP)/jv/cface/Cface__CBuiltinNode.$(H) $(INCLUDE_TOP)/jv/cface/Cface__CDefinitionNode.$(H) $(INCLUDE_TOP)/jv/cface/Cface__CNode.$(H) $(INCLUDE_TOP)/jv/cface/Cface__CTypeNode.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)Cface__CDoubleNode.$(O) Cface__CDoubleNode.$(H): Cface__CDoubleNode.st $(INCLUDE_TOP)/jv/cface/Cface__CBuiltinNode.$(H) $(INCLUDE_TOP)/jv/cface/Cface__CDefinitionNode.$(H) $(INCLUDE_TOP)/jv/cface/Cface__CNode.$(H) $(INCLUDE_TOP)/jv/cface/Cface__CTypeNode.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
@@ -191,6 +190,7 @@
$(OUTDIR)Cface__CFunctionTypeNode.$(O) Cface__CFunctionTypeNode.$(H): Cface__CFunctionTypeNode.st $(INCLUDE_TOP)/jv/cface/Cface__CDefinitionNode.$(H) $(INCLUDE_TOP)/jv/cface/Cface__CDerivedTypeNode.$(H) $(INCLUDE_TOP)/jv/cface/Cface__CNode.$(H) $(INCLUDE_TOP)/jv/cface/Cface__CTypeNode.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)Cface__CIntNode.$(O) Cface__CIntNode.$(H): Cface__CIntNode.st $(INCLUDE_TOP)/jv/cface/Cface__CBuiltinNode.$(H) $(INCLUDE_TOP)/jv/cface/Cface__CDefinitionNode.$(H) $(INCLUDE_TOP)/jv/cface/Cface__CNode.$(H) $(INCLUDE_TOP)/jv/cface/Cface__CTypeNode.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)Cface__CStructuredNode.$(O) Cface__CStructuredNode.$(H): Cface__CStructuredNode.st $(INCLUDE_TOP)/jv/cface/Cface__CDefinitionNode.$(H) $(INCLUDE_TOP)/jv/cface/Cface__CDerivedTypeNode.$(H) $(INCLUDE_TOP)/jv/cface/Cface__CNode.$(H) $(INCLUDE_TOP)/jv/cface/Cface__CTypeNode.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)Cface__CTypedefNode.$(O) Cface__CTypedefNode.$(H): Cface__CTypedefNode.st $(INCLUDE_TOP)/jv/cface/Cface__CDefinitionNode.$(H) $(INCLUDE_TOP)/jv/cface/Cface__CDerivedTypeNode.$(H) $(INCLUDE_TOP)/jv/cface/Cface__CNode.$(H) $(INCLUDE_TOP)/jv/cface/Cface__CTypeNode.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)Cface__CVoidNode.$(O) Cface__CVoidNode.$(H): Cface__CVoidNode.st $(INCLUDE_TOP)/jv/cface/Cface__CBuiltinNode.$(H) $(INCLUDE_TOP)/jv/cface/Cface__CDefinitionNode.$(H) $(INCLUDE_TOP)/jv/cface/Cface__CNode.$(H) $(INCLUDE_TOP)/jv/cface/Cface__CTypeNode.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)Cface__CWCharNode.$(O) Cface__CWCharNode.$(H): Cface__CWCharNode.st $(INCLUDE_TOP)/jv/cface/Cface__CBuiltinNode.$(H) $(INCLUDE_TOP)/jv/cface/Cface__CDefinitionNode.$(H) $(INCLUDE_TOP)/jv/cface/Cface__CNode.$(H) $(INCLUDE_TOP)/jv/cface/Cface__CTypeNode.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)Cface__CStructNode.$(O) Cface__CStructNode.$(H): Cface__CStructNode.st $(INCLUDE_TOP)/jv/cface/Cface__CDefinitionNode.$(H) $(INCLUDE_TOP)/jv/cface/Cface__CDerivedTypeNode.$(H) $(INCLUDE_TOP)/jv/cface/Cface__CNode.$(H) $(INCLUDE_TOP)/jv/cface/Cface__CStructuredNode.$(H) $(INCLUDE_TOP)/jv/cface/Cface__CTypeNode.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
--- a/Make.spec Mon Jul 06 08:03:53 2015 +0100
+++ b/Make.spec Mon Jul 06 22:21:35 2015 +0100
@@ -86,7 +86,6 @@
Cface::CBuiltinNode \
Cface::CDerivedTypeNode \
Cface::CPointerNode \
- Cface::CTypedefNode \
Cface::CUserDefinedTypeNode \
Cface::CCharNode \
Cface::CDoubleNode \
@@ -95,6 +94,7 @@
Cface::CFunctionTypeNode \
Cface::CIntNode \
Cface::CStructuredNode \
+ Cface::CTypedefNode \
Cface::CVoidNode \
Cface::CWCharNode \
Cface::CStructNode \
@@ -139,7 +139,6 @@
$(OUTDIR_SLASH)Cface__CBuiltinNode.$(O) \
$(OUTDIR_SLASH)Cface__CDerivedTypeNode.$(O) \
$(OUTDIR_SLASH)Cface__CPointerNode.$(O) \
- $(OUTDIR_SLASH)Cface__CTypedefNode.$(O) \
$(OUTDIR_SLASH)Cface__CUserDefinedTypeNode.$(O) \
$(OUTDIR_SLASH)Cface__CCharNode.$(O) \
$(OUTDIR_SLASH)Cface__CDoubleNode.$(O) \
@@ -148,6 +147,7 @@
$(OUTDIR_SLASH)Cface__CFunctionTypeNode.$(O) \
$(OUTDIR_SLASH)Cface__CIntNode.$(O) \
$(OUTDIR_SLASH)Cface__CStructuredNode.$(O) \
+ $(OUTDIR_SLASH)Cface__CTypedefNode.$(O) \
$(OUTDIR_SLASH)Cface__CVoidNode.$(O) \
$(OUTDIR_SLASH)Cface__CWCharNode.$(O) \
$(OUTDIR_SLASH)Cface__CStructNode.$(O) \
--- a/bc.mak Mon Jul 06 08:03:53 2015 +0100
+++ b/bc.mak Mon Jul 06 22:21:35 2015 +0100
@@ -107,7 +107,6 @@
$(OUTDIR)Cface__CBuiltinNode.$(O) Cface__CBuiltinNode.$(H): Cface__CBuiltinNode.st $(INCLUDE_TOP)\jv\cface\Cface__CDefinitionNode.$(H) $(INCLUDE_TOP)\jv\cface\Cface__CNode.$(H) $(INCLUDE_TOP)\jv\cface\Cface__CTypeNode.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)Cface__CDerivedTypeNode.$(O) Cface__CDerivedTypeNode.$(H): Cface__CDerivedTypeNode.st $(INCLUDE_TOP)\jv\cface\Cface__CDefinitionNode.$(H) $(INCLUDE_TOP)\jv\cface\Cface__CNode.$(H) $(INCLUDE_TOP)\jv\cface\Cface__CTypeNode.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)Cface__CPointerNode.$(O) Cface__CPointerNode.$(H): Cface__CPointerNode.st $(INCLUDE_TOP)\jv\cface\Cface__CDefinitionNode.$(H) $(INCLUDE_TOP)\jv\cface\Cface__CNode.$(H) $(INCLUDE_TOP)\jv\cface\Cface__CTypeNode.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)Cface__CTypedefNode.$(O) Cface__CTypedefNode.$(H): Cface__CTypedefNode.st $(INCLUDE_TOP)\jv\cface\Cface__CDefinitionNode.$(H) $(INCLUDE_TOP)\jv\cface\Cface__CNode.$(H) $(INCLUDE_TOP)\jv\cface\Cface__CTypeNode.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)Cface__CUserDefinedTypeNode.$(O) Cface__CUserDefinedTypeNode.$(H): Cface__CUserDefinedTypeNode.st $(INCLUDE_TOP)\jv\cface\Cface__CDefinitionNode.$(H) $(INCLUDE_TOP)\jv\cface\Cface__CNode.$(H) $(INCLUDE_TOP)\jv\cface\Cface__CTypeNode.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)Cface__CCharNode.$(O) Cface__CCharNode.$(H): Cface__CCharNode.st $(INCLUDE_TOP)\jv\cface\Cface__CBuiltinNode.$(H) $(INCLUDE_TOP)\jv\cface\Cface__CDefinitionNode.$(H) $(INCLUDE_TOP)\jv\cface\Cface__CNode.$(H) $(INCLUDE_TOP)\jv\cface\Cface__CTypeNode.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)Cface__CDoubleNode.$(O) Cface__CDoubleNode.$(H): Cface__CDoubleNode.st $(INCLUDE_TOP)\jv\cface\Cface__CBuiltinNode.$(H) $(INCLUDE_TOP)\jv\cface\Cface__CDefinitionNode.$(H) $(INCLUDE_TOP)\jv\cface\Cface__CNode.$(H) $(INCLUDE_TOP)\jv\cface\Cface__CTypeNode.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
@@ -116,6 +115,7 @@
$(OUTDIR)Cface__CFunctionTypeNode.$(O) Cface__CFunctionTypeNode.$(H): Cface__CFunctionTypeNode.st $(INCLUDE_TOP)\jv\cface\Cface__CDefinitionNode.$(H) $(INCLUDE_TOP)\jv\cface\Cface__CDerivedTypeNode.$(H) $(INCLUDE_TOP)\jv\cface\Cface__CNode.$(H) $(INCLUDE_TOP)\jv\cface\Cface__CTypeNode.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)Cface__CIntNode.$(O) Cface__CIntNode.$(H): Cface__CIntNode.st $(INCLUDE_TOP)\jv\cface\Cface__CBuiltinNode.$(H) $(INCLUDE_TOP)\jv\cface\Cface__CDefinitionNode.$(H) $(INCLUDE_TOP)\jv\cface\Cface__CNode.$(H) $(INCLUDE_TOP)\jv\cface\Cface__CTypeNode.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)Cface__CStructuredNode.$(O) Cface__CStructuredNode.$(H): Cface__CStructuredNode.st $(INCLUDE_TOP)\jv\cface\Cface__CDefinitionNode.$(H) $(INCLUDE_TOP)\jv\cface\Cface__CDerivedTypeNode.$(H) $(INCLUDE_TOP)\jv\cface\Cface__CNode.$(H) $(INCLUDE_TOP)\jv\cface\Cface__CTypeNode.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)Cface__CTypedefNode.$(O) Cface__CTypedefNode.$(H): Cface__CTypedefNode.st $(INCLUDE_TOP)\jv\cface\Cface__CDefinitionNode.$(H) $(INCLUDE_TOP)\jv\cface\Cface__CDerivedTypeNode.$(H) $(INCLUDE_TOP)\jv\cface\Cface__CNode.$(H) $(INCLUDE_TOP)\jv\cface\Cface__CTypeNode.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)Cface__CVoidNode.$(O) Cface__CVoidNode.$(H): Cface__CVoidNode.st $(INCLUDE_TOP)\jv\cface\Cface__CBuiltinNode.$(H) $(INCLUDE_TOP)\jv\cface\Cface__CDefinitionNode.$(H) $(INCLUDE_TOP)\jv\cface\Cface__CNode.$(H) $(INCLUDE_TOP)\jv\cface\Cface__CTypeNode.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)Cface__CWCharNode.$(O) Cface__CWCharNode.$(H): Cface__CWCharNode.st $(INCLUDE_TOP)\jv\cface\Cface__CBuiltinNode.$(H) $(INCLUDE_TOP)\jv\cface\Cface__CDefinitionNode.$(H) $(INCLUDE_TOP)\jv\cface\Cface__CNode.$(H) $(INCLUDE_TOP)\jv\cface\Cface__CTypeNode.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)Cface__CStructNode.$(O) Cface__CStructNode.$(H): Cface__CStructNode.st $(INCLUDE_TOP)\jv\cface\Cface__CDefinitionNode.$(H) $(INCLUDE_TOP)\jv\cface\Cface__CDerivedTypeNode.$(H) $(INCLUDE_TOP)\jv\cface\Cface__CNode.$(H) $(INCLUDE_TOP)\jv\cface\Cface__CStructuredNode.$(H) $(INCLUDE_TOP)\jv\cface\Cface__CTypeNode.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
--- a/libInit.cc Mon Jul 06 08:03:53 2015 +0100
+++ b/libInit.cc Mon Jul 06 22:21:35 2015 +0100
@@ -62,7 +62,6 @@
_Cface__CBuiltinNode_Init(pass,__pRT__,snd);
_Cface__CDerivedTypeNode_Init(pass,__pRT__,snd);
_Cface__CPointerNode_Init(pass,__pRT__,snd);
-_Cface__CTypedefNode_Init(pass,__pRT__,snd);
_Cface__CUserDefinedTypeNode_Init(pass,__pRT__,snd);
_Cface__CCharNode_Init(pass,__pRT__,snd);
_Cface__CDoubleNode_Init(pass,__pRT__,snd);
@@ -71,6 +70,7 @@
_Cface__CFunctionTypeNode_Init(pass,__pRT__,snd);
_Cface__CIntNode_Init(pass,__pRT__,snd);
_Cface__CStructuredNode_Init(pass,__pRT__,snd);
+_Cface__CTypedefNode_Init(pass,__pRT__,snd);
_Cface__CVoidNode_Init(pass,__pRT__,snd);
_Cface__CWCharNode_Init(pass,__pRT__,snd);
_Cface__CStructNode_Init(pass,__pRT__,snd);