Commit c148ef6e authored by Daniel Honsel's avatar Daniel Honsel
Browse files

fixed issues reported by Carlos

parent 7ab36a6c
Loading
Loading
Loading
Loading
+43 −26
Original line number Diff line number Diff line
@@ -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
@@ -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)
@@ -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!"
@@ -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!"