Cface__CEnumNode.st
changeset 1 b6c0180314d1
child 2 cfd2c393abfe
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Cface__CEnumNode.st	Tue May 27 18:55:24 2008 +0000
@@ -0,0 +1,119 @@
+"{ Package: 'cvut:fel/cface' }"
+
+"{ NameSpace: Cface }"
+
+CDerivedTypeNode subclass:#CEnumNode
+	instanceVariableNames:'foreign typedef values'
+	classVariableNames:''
+	poolDictionaries:''
+	category:'Cface-C AST'
+!
+
+!CEnumNode class methodsFor:'documentation'!
+
+history
+
+    "Created: / 25-10-2007 / 17:13:30 / haja"
+    "Created: #local / 25-10-2007 / 17:13:34 / haja"
+    "Created: #local: / 25-10-2007 / 17:13:34 / haja"
+    "Created: #name / 25-10-2007 / 17:13:34 / haja"
+    "Created: #name: / 25-10-2007 / 17:13:34 / haja"
+    "Created: #fields / 25-10-2007 / 17:13:34 / haja"
+    "Created: #fields: / 25-10-2007 / 17:13:34 / haja"
+    "Created: #local:name:fields: / 25-10-2007 / 18:15:45 / haja"
+    "Deleted: #local / 25-10-2007 / 18:16:02 / haja"
+    "Deleted: #local: / 25-10-2007 / 18:16:04 / haja"
+    "Created: #name:fields: / 25-10-2007 / 18:16:40 / haja"
+    "Deleted: #local:name:fields: / 25-10-2007 / 18:16:43 / haja"
+    "Created: #acceptVisitor: / 02-11-2007 / 10:43:33 / haja"
+    "Created: #foreign / 19-11-2007 / 09:40:11 / haja"
+    "Created: #foreign: / 19-11-2007 / 09:40:11 / haja"
+    "Created: #name:fields:foreign: / 19-11-2007 / 09:40:37 / haja"
+    "Deleted: #name:fields: / 19-11-2007 / 09:40:40 / haja"
+    "Created: #typedef / 05-12-2007 / 19:39:04 / haja"
+    "Created: #typedef: / 05-12-2007 / 19:39:04 / haja"
+    "Created: #name:fields:foreign:typedef: / 05-12-2007 / 19:39:37 / haja"
+    "Deleted: #name:fields:foreign: / 05-12-2007 / 21:00:50 / haja"
+! !
+
+!CEnumNode methodsFor:'accessing'!
+
+foreign
+    ^ foreign
+
+    "Created: / 19-11-2007 / 09:40:11 / haja"
+!
+
+foreign:something
+    foreign := something.
+
+    "Created: / 19-11-2007 / 09:40:11 / haja"
+!
+
+typedef
+    ^ typedef
+
+    "Created: / 05-12-2007 / 19:39:04 / haja"
+!
+
+typedef:something
+    typedef := something.
+
+    "Created: / 05-12-2007 / 19:39:04 / haja"
+!
+
+values
+    ^ values
+
+    "Created: / 12-02-2008 / 22:36:22 / janfrog"
+!
+
+values:something
+    values := something.
+
+    "Created: / 12-02-2008 / 22:36:22 / janfrog"
+! !
+
+!CEnumNode methodsFor:'printing'!
+
+printOn: stream indent: level
+
+    super printOn: stream indent: level.
+    stream 
+        nextPutAll:'(enum '; nextPutAll: cName.
+    values do:
+        [:enumValue|
+        stream cr; next: level + 1 put: Character tab.
+        enumValue printOn: stream indent: level + 1].
+    stream space; nextPut: $)
+
+    "Created: / 17-02-2008 / 18:08:02 / janfrog"
+    "Modified: / 18-02-2008 / 14:33:30 / janfrog"
+! !
+
+!CEnumNode methodsFor:'testing'!
+
+isCEnumNode
+    ^ true
+
+    "Created: / 17-02-2008 / 21:52:13 / janfrog"
+! !
+
+!CEnumNode methodsFor:'visiting'!
+
+acceptVisitor:aVisitor 
+    "Double dispatch back to the visitor, passing my type encoded in
+     the selector (visitor pattern)"
+    "stub code automatically generated - please change if required"
+    
+    ^ aVisitor visitCEnumNode:self
+
+    "Created: / 02-11-2007 / 10:43:33 / haja"
+    "Modified: / 10-02-2008 / 10:44:59 / janfrog"
+! !
+
+!CEnumNode class methodsFor:'documentation'!
+
+version
+    ^ '$Header: /opt/data/cvs/cvut-fel/cface/Cface__CEnumNode.st,v 1.1 2008/02/26 16:00:22 vranyj1 Exp $'
+! !