--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Cface__TypeResolver.st Tue May 27 18:55:24 2008 +0000
@@ -0,0 +1,66 @@
+"{ Package: 'cvut:fel/cface' }"
+
+"{ NameSpace: Cface }"
+
+CNodeVisitor subclass:#TypeResolver
+ instanceVariableNames:'typeMap'
+ classVariableNames:''
+ poolDictionaries:''
+ category:'Cface-Visitors'
+!
+
+
+!TypeResolver methodsFor:'accessing'!
+
+typeMap
+ ^ typeMap
+
+ "Created: / 12-02-2008 / 23:44:35 / janfrog"
+!
+
+typeMap:something
+ typeMap := something.
+
+ "Created: / 12-02-2008 / 23:44:35 / janfrog"
+! !
+
+!TypeResolver methodsFor:'processing'!
+
+process: aCNode
+
+ typeMap := TypeCollector new
+ process: aCNode;
+ typeMap.
+ ^super process: aCNode
+
+ "Created: / 12-02-2008 / 23:48:03 / janfrog"
+! !
+
+!TypeResolver methodsFor:'visiting'!
+
+visit: aCNode
+
+ super visit: aCNode.
+ (aCNode respondsTo: #type) ifTrue:
+ [aCNode type: aCNode type resolved]
+
+ "Created: / 17-02-2008 / 17:56:42 / janfrog"
+!
+
+visitCUserDefinedTypeNode: anObject
+
+ anObject type ifNil:
+ [|type|
+ type := (typeMap at: anObject cName).
+ self visit: type.
+ anObject type: type]
+
+ "Created: / 12-02-2008 / 23:45:17 / janfrog"
+ "Modified: / 17-02-2008 / 18:30:56 / janfrog"
+! !
+
+!TypeResolver class methodsFor:'documentation'!
+
+version
+ ^ '$Header: /opt/data/cvs/cvut-fel/cface/Cface__TypeResolver.st,v 1.1 2008/02/26 16:00:57 vranyj1 Exp $'
+! !