Loading de.ugoe.cs.swe.TTCN3/src/de/ugoe/cs/swe/common/TTCN3ScopeHelper.xtend +12 −0 Original line number Diff line number Diff line Loading @@ -54,6 +54,7 @@ import de.ugoe.cs.swe.tTCN3.FunctionDef import static org.eclipse.xtext.scoping.Scopes.* import de.ugoe.cs.swe.tTCN3.TestcaseDef import de.ugoe.cs.swe.tTCN3.InLineTemplate class TTCN3ScopeHelper { Loading Loading @@ -367,6 +368,17 @@ class TTCN3ScopeHelper { } } def static void templateFieldScope(InLineTemplate template, ArrayList<EObject> list) { val type = template.type if (type != null && type.ref != null && typeof(RecordDefNamed).isAssignableFrom(type.ref.class)) { list.addAll((type.ref as RecordDefNamed).body.defs) } if (type != null && type.ref != null && typeof(SignatureDef).isAssignableFrom(type.ref.class)) { list.addAll((type.ref as SignatureDef).paramList.params) } } def static void componentScopePorts(ComponentDef component, ArrayList<EObject> list) { for (ComponentDefList l : component.defs.filter[it.element.port != null]) { for (PortElement e : l.element.port.instances) { Loading de.ugoe.cs.swe.TTCN3/src/de/ugoe/cs/swe/scoping/TTCN3ScopeProvider.xtend +7 −0 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ import static org.eclipse.xtext.scoping.Scopes.* import static extension de.ugoe.cs.swe.common.TTCN3ScopeHelper.* import static extension org.eclipse.xtext.EcoreUtil2.* import de.ugoe.cs.swe.tTCN3.InLineTemplate class TTCN3ScopeProvider extends AbstractDeclarativeScopeProvider { Loading @@ -44,6 +45,7 @@ class TTCN3ScopeProvider extends AbstractDeclarativeScopeProvider { } def IScope scope_FieldSpec_ref(FieldSpec spec, EReference ref) { val inlineTemplate = spec.findDesiredParent(InLineTemplate) val template = spec.findDesiredParent(TemplateDef) val variable = spec.findDesiredParent(VarInstance) val field = spec.findDesiredParent(FieldSpec) Loading @@ -60,6 +62,8 @@ class TTCN3ScopeProvider extends AbstractDeclarativeScopeProvider { fieldRef.type.ref.scopeReferencedFields(list) } } } else if (inlineTemplate != null) { inlineTemplate.templateFieldScope(list) } else if (template != null) { template.templateFieldScope(list) } else if (variable != null && variable.type.ref != null) { Loading @@ -69,6 +73,7 @@ class TTCN3ScopeProvider extends AbstractDeclarativeScopeProvider { } def IScope scope_FieldExpressionSpec_fieldRef(FieldExpressionSpec field, EReference ref) { val inlineTemplate = field.findDesiredParent(InLineTemplate) val template = field.findDesiredParent(TemplateDef) val variable = field.findDesiredParent(VarInstance) val cField = field.findDesiredParent(FieldExpressionSpec) Loading @@ -85,6 +90,8 @@ class TTCN3ScopeProvider extends AbstractDeclarativeScopeProvider { fieldRef.type.ref.scopeReferencedFields(list) } } } else if (inlineTemplate != null) { inlineTemplate.templateFieldScope(list) } else if (template != null) { template.templateFieldScope(list) } else if (variable != null && variable.type.ref != null) { Loading Loading
de.ugoe.cs.swe.TTCN3/src/de/ugoe/cs/swe/common/TTCN3ScopeHelper.xtend +12 −0 Original line number Diff line number Diff line Loading @@ -54,6 +54,7 @@ import de.ugoe.cs.swe.tTCN3.FunctionDef import static org.eclipse.xtext.scoping.Scopes.* import de.ugoe.cs.swe.tTCN3.TestcaseDef import de.ugoe.cs.swe.tTCN3.InLineTemplate class TTCN3ScopeHelper { Loading Loading @@ -367,6 +368,17 @@ class TTCN3ScopeHelper { } } def static void templateFieldScope(InLineTemplate template, ArrayList<EObject> list) { val type = template.type if (type != null && type.ref != null && typeof(RecordDefNamed).isAssignableFrom(type.ref.class)) { list.addAll((type.ref as RecordDefNamed).body.defs) } if (type != null && type.ref != null && typeof(SignatureDef).isAssignableFrom(type.ref.class)) { list.addAll((type.ref as SignatureDef).paramList.params) } } def static void componentScopePorts(ComponentDef component, ArrayList<EObject> list) { for (ComponentDefList l : component.defs.filter[it.element.port != null]) { for (PortElement e : l.element.port.instances) { Loading
de.ugoe.cs.swe.TTCN3/src/de/ugoe/cs/swe/scoping/TTCN3ScopeProvider.xtend +7 −0 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ import static org.eclipse.xtext.scoping.Scopes.* import static extension de.ugoe.cs.swe.common.TTCN3ScopeHelper.* import static extension org.eclipse.xtext.EcoreUtil2.* import de.ugoe.cs.swe.tTCN3.InLineTemplate class TTCN3ScopeProvider extends AbstractDeclarativeScopeProvider { Loading @@ -44,6 +45,7 @@ class TTCN3ScopeProvider extends AbstractDeclarativeScopeProvider { } def IScope scope_FieldSpec_ref(FieldSpec spec, EReference ref) { val inlineTemplate = spec.findDesiredParent(InLineTemplate) val template = spec.findDesiredParent(TemplateDef) val variable = spec.findDesiredParent(VarInstance) val field = spec.findDesiredParent(FieldSpec) Loading @@ -60,6 +62,8 @@ class TTCN3ScopeProvider extends AbstractDeclarativeScopeProvider { fieldRef.type.ref.scopeReferencedFields(list) } } } else if (inlineTemplate != null) { inlineTemplate.templateFieldScope(list) } else if (template != null) { template.templateFieldScope(list) } else if (variable != null && variable.type.ref != null) { Loading @@ -69,6 +73,7 @@ class TTCN3ScopeProvider extends AbstractDeclarativeScopeProvider { } def IScope scope_FieldExpressionSpec_fieldRef(FieldExpressionSpec field, EReference ref) { val inlineTemplate = field.findDesiredParent(InLineTemplate) val template = field.findDesiredParent(TemplateDef) val variable = field.findDesiredParent(VarInstance) val cField = field.findDesiredParent(FieldExpressionSpec) Loading @@ -85,6 +90,8 @@ class TTCN3ScopeProvider extends AbstractDeclarativeScopeProvider { fieldRef.type.ref.scopeReferencedFields(list) } } } else if (inlineTemplate != null) { inlineTemplate.templateFieldScope(list) } else if (template != null) { template.templateFieldScope(list) } else if (variable != null && variable.type.ref != null) { Loading