Cface__CEnumNode.st
changeset 1 b6c0180314d1
child 2 cfd2c393abfe
equal deleted inserted replaced
0:9bbbbb659d8b 1:b6c0180314d1
       
     1 "{ Package: 'cvut:fel/cface' }"
       
     2 
       
     3 "{ NameSpace: Cface }"
       
     4 
       
     5 CDerivedTypeNode subclass:#CEnumNode
       
     6 	instanceVariableNames:'foreign typedef values'
       
     7 	classVariableNames:''
       
     8 	poolDictionaries:''
       
     9 	category:'Cface-C AST'
       
    10 !
       
    11 
       
    12 !CEnumNode class methodsFor:'documentation'!
       
    13 
       
    14 history
       
    15 
       
    16     "Created: / 25-10-2007 / 17:13:30 / haja"
       
    17     "Created: #local / 25-10-2007 / 17:13:34 / haja"
       
    18     "Created: #local: / 25-10-2007 / 17:13:34 / haja"
       
    19     "Created: #name / 25-10-2007 / 17:13:34 / haja"
       
    20     "Created: #name: / 25-10-2007 / 17:13:34 / haja"
       
    21     "Created: #fields / 25-10-2007 / 17:13:34 / haja"
       
    22     "Created: #fields: / 25-10-2007 / 17:13:34 / haja"
       
    23     "Created: #local:name:fields: / 25-10-2007 / 18:15:45 / haja"
       
    24     "Deleted: #local / 25-10-2007 / 18:16:02 / haja"
       
    25     "Deleted: #local: / 25-10-2007 / 18:16:04 / haja"
       
    26     "Created: #name:fields: / 25-10-2007 / 18:16:40 / haja"
       
    27     "Deleted: #local:name:fields: / 25-10-2007 / 18:16:43 / haja"
       
    28     "Created: #acceptVisitor: / 02-11-2007 / 10:43:33 / haja"
       
    29     "Created: #foreign / 19-11-2007 / 09:40:11 / haja"
       
    30     "Created: #foreign: / 19-11-2007 / 09:40:11 / haja"
       
    31     "Created: #name:fields:foreign: / 19-11-2007 / 09:40:37 / haja"
       
    32     "Deleted: #name:fields: / 19-11-2007 / 09:40:40 / haja"
       
    33     "Created: #typedef / 05-12-2007 / 19:39:04 / haja"
       
    34     "Created: #typedef: / 05-12-2007 / 19:39:04 / haja"
       
    35     "Created: #name:fields:foreign:typedef: / 05-12-2007 / 19:39:37 / haja"
       
    36     "Deleted: #name:fields:foreign: / 05-12-2007 / 21:00:50 / haja"
       
    37 ! !
       
    38 
       
    39 !CEnumNode methodsFor:'accessing'!
       
    40 
       
    41 foreign
       
    42     ^ foreign
       
    43 
       
    44     "Created: / 19-11-2007 / 09:40:11 / haja"
       
    45 !
       
    46 
       
    47 foreign:something
       
    48     foreign := something.
       
    49 
       
    50     "Created: / 19-11-2007 / 09:40:11 / haja"
       
    51 !
       
    52 
       
    53 typedef
       
    54     ^ typedef
       
    55 
       
    56     "Created: / 05-12-2007 / 19:39:04 / haja"
       
    57 !
       
    58 
       
    59 typedef:something
       
    60     typedef := something.
       
    61 
       
    62     "Created: / 05-12-2007 / 19:39:04 / haja"
       
    63 !
       
    64 
       
    65 values
       
    66     ^ values
       
    67 
       
    68     "Created: / 12-02-2008 / 22:36:22 / janfrog"
       
    69 !
       
    70 
       
    71 values:something
       
    72     values := something.
       
    73 
       
    74     "Created: / 12-02-2008 / 22:36:22 / janfrog"
       
    75 ! !
       
    76 
       
    77 !CEnumNode methodsFor:'printing'!
       
    78 
       
    79 printOn: stream indent: level
       
    80 
       
    81     super printOn: stream indent: level.
       
    82     stream 
       
    83         nextPutAll:'(enum '; nextPutAll: cName.
       
    84     values do:
       
    85         [:enumValue|
       
    86         stream cr; next: level + 1 put: Character tab.
       
    87         enumValue printOn: stream indent: level + 1].
       
    88     stream space; nextPut: $)
       
    89 
       
    90     "Created: / 17-02-2008 / 18:08:02 / janfrog"
       
    91     "Modified: / 18-02-2008 / 14:33:30 / janfrog"
       
    92 ! !
       
    93 
       
    94 !CEnumNode methodsFor:'testing'!
       
    95 
       
    96 isCEnumNode
       
    97     ^ true
       
    98 
       
    99     "Created: / 17-02-2008 / 21:52:13 / janfrog"
       
   100 ! !
       
   101 
       
   102 !CEnumNode methodsFor:'visiting'!
       
   103 
       
   104 acceptVisitor:aVisitor 
       
   105     "Double dispatch back to the visitor, passing my type encoded in
       
   106      the selector (visitor pattern)"
       
   107     "stub code automatically generated - please change if required"
       
   108     
       
   109     ^ aVisitor visitCEnumNode:self
       
   110 
       
   111     "Created: / 02-11-2007 / 10:43:33 / haja"
       
   112     "Modified: / 10-02-2008 / 10:44:59 / janfrog"
       
   113 ! !
       
   114 
       
   115 !CEnumNode class methodsFor:'documentation'!
       
   116 
       
   117 version
       
   118     ^ '$Header: /opt/data/cvs/cvut-fel/cface/Cface__CEnumNode.st,v 1.1 2008/02/26 16:00:22 vranyj1 Exp $'
       
   119 ! !