Revision 9
Added by Willibald K. over 8 years ago
OoaReplaceOpaqueVisitor.java | ||
---|---|---|
43 | 43 |
import org.momut.ooas.ast.types.OpaqueType; |
44 | 44 |
import org.momut.ooas.ast.types.TupleType; |
45 | 45 |
import org.momut.ooas.ast.types.TypeKind; |
46 |
import org.momut.ooas.ast.types.UlyssesType;
|
|
46 |
import org.momut.ooas.ast.types.Type; |
|
47 | 47 |
import org.momut.ooas.parser.ParserState; |
48 | 48 |
import org.momut.ooas.utils.exceptions.NotImplementedException; |
49 | 49 |
|
... | ... | |
61 | 61 |
switch (parent.nodeType()) |
62 | 62 |
{ |
63 | 63 |
case type: |
64 |
ReplaceOpaqueInType((UlyssesType)parent);
|
|
64 |
ReplaceOpaqueInType((Type)parent); |
|
65 | 65 |
break; |
66 | 66 |
case identifier: |
67 | 67 |
ReplaceOpaqueInIdentifier((Identifier)parent); |
... | ... | |
122 | 122 |
} |
123 | 123 |
} |
124 | 124 |
|
125 |
private void ReplaceOpaqueInType(UlyssesType ulyssesType)
|
|
125 |
private void ReplaceOpaqueInType(Type ulyssesType) |
|
126 | 126 |
{ |
127 | 127 |
switch (ulyssesType.kind()) |
128 | 128 |
{ |
... | ... | |
133 | 133 |
|
134 | 134 |
for (int cntr = 0; cntr < func.parameter().size(); cntr ++) |
135 | 135 |
{ |
136 |
UlyssesType t = func.parameter().get(cntr);
|
|
136 |
Type t = func.parameter().get(cntr); |
|
137 | 137 |
if (t.kind() == TypeKind.OpaqueType) |
138 | 138 |
func.parameter().set(cntr, ((OpaqueType)t).resolvedType()); |
139 | 139 |
} |
... | ... | |
156 | 156 |
case TupleType: |
157 | 157 |
TupleType aTuple = (TupleType)ulyssesType; |
158 | 158 |
for (int cntr = 0; cntr < aTuple.innerTypes().size(); cntr ++) { |
159 |
UlyssesType t = aTuple.innerTypes().get(cntr);
|
|
159 |
Type t = aTuple.innerTypes().get(cntr); |
|
160 | 160 |
if (t.kind() == TypeKind.OpaqueType) |
161 | 161 |
aTuple.innerTypes().set(cntr, ((OpaqueType)t).resolvedType()); |
162 | 162 |
} |
... | ... | |
175 | 175 |
to replace.*/ |
176 | 176 |
if ((subElement != null) |
177 | 177 |
&& (subElement.nodeType() == AstNodeTypeEnum.type) |
178 |
&& (((UlyssesType)subElement).kind() == TypeKind.OpaqueType))
|
|
178 |
&& (((Type)subElement).kind() == TypeKind.OpaqueType)) |
|
179 | 179 |
ReplaceOpaque(parent); |
180 | 180 |
} |
181 | 181 |
|
Also available in: Unified diff
remove support for Qualitative Action Systems, rename UlyssesType to Type