Commit 0a46c66f authored by Daniel Honsel's avatar Daniel Honsel
Browse files

implemented new check: checkInlineTemplates

parent 5e43d47e
Loading
Loading
Loading
Loading
+16 −6
Original line number Diff line number Diff line
@@ -2,6 +2,7 @@ package de.ugoe.cs.swe.validation

import com.google.common.base.Stopwatch
import com.google.common.base.Strings
import com.google.common.collect.Sets
import com.google.inject.Inject
import de.ugoe.cs.swe.TTCN3Configuration.QualityCheckProfile
import de.ugoe.cs.swe.common.ConfigTools
@@ -59,6 +60,7 @@ import de.ugoe.cs.swe.tTCN3.TypeDef
import de.ugoe.cs.swe.tTCN3.UnionDefNamed
import de.ugoe.cs.swe.tTCN3.VarList
import java.util.ArrayList
import java.util.HashSet
import java.util.List
import java.util.Map
import java.util.Set
@@ -77,9 +79,6 @@ import org.eclipse.xtext.validation.EValidatorRegistrar
import static extension de.ugoe.cs.swe.common.TTCN3ReferenceHelper.*
import static extension de.ugoe.cs.swe.common.TTCN3ScopeHelper.*
import static extension org.eclipse.xtext.EcoreUtil2.*
import de.ugoe.cs.swe.tTCN3.PortInstance
import java.util.HashSet
import com.google.common.collect.Sets

class CheckDefinitionComeFirstParameter {
	public boolean hasOtherDefinitions
@@ -235,10 +234,21 @@ class CodeStyleValidator extends AbstractDeclarativeValidator {
	}

	@Check
	def checkInlineTemplates() {
		// TODO: implement this
	def checkInlineTemplates(InLineTemplate template) {
		if (!activeProfile.checkInlineTemplates)
			return;
		
		statistics.incrementCountStyle
		val message = "In line template is used!"
		val INode node = NodeModelUtils.getNode(template)
		warning(
			message,
			null,
			MessageClass.STYLE.toString,
			node.startLine.toString,
			node.endLine.toString,
			"6.22, " + MiscTools.getMethodName()
		);	
	}

	private def <T extends EObject> int nestingDepth(EObject o, Class<T> t) {
@@ -459,7 +469,7 @@ class CodeStyleValidator extends AbstractDeclarativeValidator {
				val message = "Local definition is not at the beginning!"
				warning(
					message,
					null, // TODO: struct feature
					null,
					MessageClass.STYLE.toString,
					node.startLine.toString,
					node.endLine.toString,