Loading de.ugoe.cs.swe.TTCN3/src/de/ugoe/cs/swe/validation/CodeStyleValidator.xtend +43 −26 Original line number Diff line number Diff line Loading @@ -56,6 +56,7 @@ import de.ugoe.cs.swe.tTCN3.TTCN3Reference import de.ugoe.cs.swe.tTCN3.TempVarList import de.ugoe.cs.swe.tTCN3.TemplateDef import de.ugoe.cs.swe.tTCN3.TestcaseDef import de.ugoe.cs.swe.tTCN3.TimerRefOrAny import de.ugoe.cs.swe.tTCN3.Type import de.ugoe.cs.swe.tTCN3.TypeDef import de.ugoe.cs.swe.tTCN3.UnionDefNamed Loading Loading @@ -690,7 +691,8 @@ class CodeStyleValidator extends AbstractDeclarativeValidator { } } private def boolean checkIdentifier(String name, TTCN3Reference definition, HashMap<String, List<TTCN3Reference>> ids) { private def boolean checkIdentifier(String name, TTCN3Reference definition, HashMap<String, List<TTCN3Reference>> ids) { var res = false if (ids.containsKey(name)) { ids.get(name).add(definition) Loading Loading @@ -888,8 +890,6 @@ class CodeStyleValidator extends AbstractDeclarativeValidator { return; } val overSpecifiedFirstLevel = !component.isReferencedComponentSpec(parent) val message = "Definition for \"" + (parent as TTCN3Reference).name + "\" contains an over specific runs on clause!" Loading Loading @@ -1143,8 +1143,25 @@ class CodeStyleValidator extends AbstractDeclarativeValidator { private def checkNoUnusedFormalParameters(EObject parent, ArrayList<TTCN3Reference> params) { val module = parent.findDesiredParent(TTCN3Module) val list = module.eAllOfType(TimerRefOrAny) var referenced = true for (p : params) { referenced = true if (p.isUnreferenced(module, false)) { // TODO: Parameters passed to other functions are not recognized. referenced = false } // hack to find timer references in TimeoutStatement statements // TODO: improve this... for (t : list) { val INode nodeRef = NodeModelUtils.getNode(t) if (p.name.equals(nodeRef.text.trim)) { referenced = true } } if (!referenced) { statistics.incrementCountStyle val message = "Formal parameter \"" + (p as TTCN3Reference).name + "\" in definition for \"" + (parent as TTCN3Reference).name + "\" is never used!" Loading Loading
de.ugoe.cs.swe.TTCN3/src/de/ugoe/cs/swe/validation/CodeStyleValidator.xtend +43 −26 Original line number Diff line number Diff line Loading @@ -56,6 +56,7 @@ import de.ugoe.cs.swe.tTCN3.TTCN3Reference import de.ugoe.cs.swe.tTCN3.TempVarList import de.ugoe.cs.swe.tTCN3.TemplateDef import de.ugoe.cs.swe.tTCN3.TestcaseDef import de.ugoe.cs.swe.tTCN3.TimerRefOrAny import de.ugoe.cs.swe.tTCN3.Type import de.ugoe.cs.swe.tTCN3.TypeDef import de.ugoe.cs.swe.tTCN3.UnionDefNamed Loading Loading @@ -690,7 +691,8 @@ class CodeStyleValidator extends AbstractDeclarativeValidator { } } private def boolean checkIdentifier(String name, TTCN3Reference definition, HashMap<String, List<TTCN3Reference>> ids) { private def boolean checkIdentifier(String name, TTCN3Reference definition, HashMap<String, List<TTCN3Reference>> ids) { var res = false if (ids.containsKey(name)) { ids.get(name).add(definition) Loading Loading @@ -888,8 +890,6 @@ class CodeStyleValidator extends AbstractDeclarativeValidator { return; } val overSpecifiedFirstLevel = !component.isReferencedComponentSpec(parent) val message = "Definition for \"" + (parent as TTCN3Reference).name + "\" contains an over specific runs on clause!" Loading Loading @@ -1143,8 +1143,25 @@ class CodeStyleValidator extends AbstractDeclarativeValidator { private def checkNoUnusedFormalParameters(EObject parent, ArrayList<TTCN3Reference> params) { val module = parent.findDesiredParent(TTCN3Module) val list = module.eAllOfType(TimerRefOrAny) var referenced = true for (p : params) { referenced = true if (p.isUnreferenced(module, false)) { // TODO: Parameters passed to other functions are not recognized. referenced = false } // hack to find timer references in TimeoutStatement statements // TODO: improve this... for (t : list) { val INode nodeRef = NodeModelUtils.getNode(t) if (p.name.equals(nodeRef.text.trim)) { referenced = true } } if (!referenced) { statistics.incrementCountStyle val message = "Formal parameter \"" + (p as TTCN3Reference).name + "\" in definition for \"" + (parent as TTCN3Reference).name + "\" is never used!" Loading