1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 package com.unitesk.atp.treedl;
33
34 import com.unitesk.atp.treedl.TDL.*;
35
36 /***
37 * @author <A href="mailto:demakov@ispras.ru">Alexey Demakov</A>
38 * @author <A href="mailto:ale.petuhov@gmail.com">Alexander Petuhov</A>
39 * @version $Id: Java5TextGenerator.java,v 1.3 2005/11/05 12:26:11 all-x Exp $
40 */
41 public class Java5TextGenerator extends JavaNodeGenerator
42 {
43 public void visitNodeType( NodeType node )
44 {
45 txtif( node.checkCardinality( Cardinality.LIST )
46 , "java.util.List<${type}>"
47 , "${type}"
48 );
49 }
50
51 public void visitPredefinedType( PredefinedType node )
52 {
53 if( JavaLanguageDescription.isPrimitiveType( node ) )
54 {
55 txtif( node.checkCardinality( Cardinality.LIST )
56 , "java.util.List<${ElementObjectType:this}>"
57 , "${PredefinedTypeName:kind}"
58 );
59 } else {
60 txtif( node.checkCardinality( Cardinality.LIST )
61 , "java.util.List<${PredefinedTypeName:kind}>"
62 , "${PredefinedTypeName:kind}"
63 );
64 }
65 }
66
67 public void visitNameType( NameType node )
68 {
69 txtif( node.checkCardinality( Cardinality.LIST )
70 , "java.util.List<"
71
72 + JavaLanguageDescription.normalizeType( node.getName() )
73 + ">"
74 , "${name}"
75 );
76 }
77
78 public void visitTypeRef( TypeRef node )
79 {
80 if( node.getType() == TDL_Module.getRootNodeType() )
81 {
82 txt( "${.Node}" );
83 } else {
84 txtif( node.getModule() != module, "${module.root.name}." );
85
86 ModuleTypeMember type=node.getType();
87 if (type instanceof ConstTypeDecl)
88 {
89 txtif( ((ConstTypeDecl)node.getType()).isFlags()
90 , "java.util.EnumSet<${name}>"
91 , "${name}"
92 );
93 }
94 else
95 {
96 txt( "${name}" );
97 }
98 }
99 }
100 }