Commit 274a93db authored by Miklos Magyari's avatar Miklos Magyari
Browse files

OOP: fixed type reference for classes


Signed-off-by: Miklos Magyari's avatarMiklos Magyari <miklos.magyari@sigmatechnology.se>
parent f018ae26
...@@ -65,6 +65,7 @@ import org.eclipse.titan.designer.AST.TTCN3.types.Array_Type; ...@@ -65,6 +65,7 @@ import org.eclipse.titan.designer.AST.TTCN3.types.Array_Type;
import org.eclipse.titan.designer.AST.TTCN3.types.BitString_Type; import org.eclipse.titan.designer.AST.TTCN3.types.BitString_Type;
import org.eclipse.titan.designer.AST.TTCN3.types.CharString_Type; import org.eclipse.titan.designer.AST.TTCN3.types.CharString_Type;
import org.eclipse.titan.designer.AST.TTCN3.types.CharString_Type.CharCoding; import org.eclipse.titan.designer.AST.TTCN3.types.CharString_Type.CharCoding;
import org.eclipse.titan.designer.AST.TTCN3.types.Class_Type;
import org.eclipse.titan.designer.AST.TTCN3.types.CompField; import org.eclipse.titan.designer.AST.TTCN3.types.CompField;
import org.eclipse.titan.designer.AST.TTCN3.types.Function_Type; import org.eclipse.titan.designer.AST.TTCN3.types.Function_Type;
import org.eclipse.titan.designer.AST.TTCN3.types.OctetString_Type; import org.eclipse.titan.designer.AST.TTCN3.types.OctetString_Type;
...@@ -1820,7 +1821,16 @@ public abstract class Type extends Governor implements IType, IIncrementallyUpda ...@@ -1820,7 +1821,16 @@ public abstract class Type extends Governor implements IType, IIncrementallyUpda
if (governor == null) { if (governor == null) {
final IType type = assignment.getType(timestamp); final IType type = assignment.getType(timestamp);
if (type != null) { if (type != null) {
governor = type.getFieldType(timestamp, reference, 1, expectedValue, referenceChain, false); if (type instanceof Referenced_Type) {
Referenced_Type rt = (Referenced_Type)type;
IType refdtype = rt.getTypeRefd(timestamp, referenceChain);
if (refdtype instanceof Class_Type) {
governor = ((Class_Type)refdtype).getFieldType(timestamp, reference, 1, expectedValue, referenceChain, false);
}
}
if (governor == null) {
governor = type.getFieldType(timestamp, reference, 1, expectedValue, referenceChain, false);
}
} }
} }
if (governor == null) { if (governor == null) {
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment