diff --git a/plugins/org.etsi.mts.tdl.common/src/org/etsi/mts/tdl/scoping/TDLScopeProvider.java b/plugins/org.etsi.mts.tdl.common/src/org/etsi/mts/tdl/scoping/TDLScopeProvider.java index 4238bbde71d6991737a309f71c76b61dd121c28f..904cd360a6070482f2556e42a9b3eb858ed41bce 100644 --- a/plugins/org.etsi.mts.tdl.common/src/org/etsi/mts/tdl/scoping/TDLScopeProvider.java +++ b/plugins/org.etsi.mts.tdl.common/src/org/etsi/mts/tdl/scoping/TDLScopeProvider.java @@ -564,8 +564,11 @@ public class TDLScopeProvider extends AbstractDeclarativeScopeProvider { NamedElement dataElement = ((DataElementUse) context.eContainer()).getDataElement(); //TODO: duplicated from above ->extract if (dataElement instanceof org.etsi.mts.tdl.Function) { - IScope scope = Scopes.scopeFor(((org.etsi.mts.tdl.Function)dataElement).getFormalParameter()); - return scope; + DataType returnType = ((org.etsi.mts.tdl.Function)dataElement).getReturnType(); + if (returnType instanceof StructuredDataType) { + IScope scope = Scopes.scopeFor(((StructuredDataType)returnType).allMembers()); + return scope; + } } else if (dataElement instanceof FormalParameter) { IScope scope = Scopes.scopeFor(((StructuredDataType)((FormalParameter) dataElement).getDataType()).allMembers()); return scope;