Newer
Older
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
//Helper operations
//From standard
//TODO: Implement, originally equivalent
operation Any behaviourFunctionInReferencedTD() : Any {
return self;
}
//TODO: Implement, originally equivalent
operation Any TTCNequivalent() : Any {
return self;
}
//TODO: Implement
operation Any getKind() : Any {
return self;
}
operation Any toLower() : String {
return self.toLowerCase();
}
operation Any TTCNname() : String {
var ttcnName = self.name;
if (qualifiedNaming) {
ttcnName = self.qualifiedName();
}
ttcnName = ttcnName.replace("::","_");
if (ttcnName = "integer"
or ttcnName = "charstring"
or ttcnName = "float") {
ttcnName = "TDL"+ttcnName;
}
return ttcnName;
}
//Aditional
operation TDL!DataInstance isValue() : Boolean {
return self.annotation.exists(a|a.key.name = "Value");
}
operation TDL!Package targetElement() : String {
return self.qualifiedName();
}
operation TDL!Member targetElement() : String {
return self.eContainer.qualifiedName()+"::"+self.name;
}
operation TDL!ElementImport targetElement() : String {
return self.qualifiedName()+"::Import " +self.importedElement.collect(e|e.name).concat(",")+ " from "+self.importedPackage.qualifiedName();
}
operation TDL!MemberAssignment targetElement() : String {
return self.qualifiedName()+self.member.name + " = " +self.memberSpec.targetElement();
}
operation TDL!DataInstanceUse targetElement() : String {
return self.dataInstance.qualifiedName();
}
operation TDL!DataInstance targetElement() : String {
return self.qualifiedName();
}
operation TDL!FunctionCall targetElement() : String {
return self.`function`.qualifiedName();
}
operation TDL!FormalParameterUse targetElement() : String {
return self.parameter.qualifiedName();
}
operation TDL!VariableUse targetElement() : String {
return self.variable.qualifiedName();
}
operation TDL!ParameterBinding targetElement() : String {
return self.parameter.qualifiedName() +" = ?:"+self.dataUse.getDataType().name+ " [Expecting "+self.parameter.dataType.name+"]";
}
operation TDL!AnyValueOrOmit targetElement() : String {
return "*";
}
operation TDL!AnyValue targetElement() : String {
return "?";
}
operation TDL!OmitValue targetElement() : String {
return "omit";
}
operation TDL!TimeLabelUse targetElement() : String {
return self.timeLabel.qualifiedName();
}
operation TDL!ComponentInstance targetElement() : String {
return self.qualifiedName();
}
operation TDL!ComponentType targetElement() : String {
return self.qualifiedName();
}
operation TDL!Comment targetElement() : String {
return self.qualifiedName();
}
operation TDL!Action targetElement() : String {
return self.qualifiedName();
}
operation TDL!AnnotationType targetElement() : String {
return self.qualifiedName();
}
operation TDL!TimeConstraint targetElement() : String {
return 'TimeConstraint';
}
operation TDL!Quiescence targetElement() : String {
return 'Q';
}
operation TDL!Wait targetElement() : String {
return 'W';
}
operation TDL!TimerOperation targetElement() : String {
return self.timer.qualifiedName();
}
operation TDL!GateReference targetElement() : String {
return self.component.qualifiedName()+ "." + self.gate.qualifiedName();
}
operation TDL!Connection targetElement() : String {
return self.endPoint.at(0).targetElement()+ " --- " + self.endPoint.at(1).targetElement();
}
operation TDL!TestConfiguration targetElement() : String {
return self.qualifiedName();
}
operation TDL!Block targetElement() : String {
return self.qualifiedName() + "Block";
}
operation TDL!Behaviour targetElement() : String {
return self.qualifiedName() + self.type().name;
}
operation TDL!Target targetElement() : String {
return self.qualifiedName() + self.type().name;
}
operation TDL!ComponentInstanceBinding targetElement() : String {
return self.qualifiedName() + "Binding";
}
operation TDL!Function targetElement() : String {
return self.qualifiedName();
}
operation Any targetElement() : String {
if (self.isDefined()) {
return "[not implemented "+self+"]";
} else {
return "";
}
}