Commit dd87f179 authored by Philip Makedonski's avatar Philip Makedonski
Browse files

* changed semantics of extendsInOverSpecificRunsOn to aliasInOverSpecificRunsOn (#76)

* refactored get intherited members
parent 90a1c940
Loading
Loading
Loading
Loading
+13 −2
Original line number Diff line number Diff line
@@ -1091,8 +1091,10 @@ class CodeStyleValidator extends AbstractDeclarativeValidator {

	private def boolean isReferencedComponentSpec(ComponentDef component, EObject parent) {
		val variables = component.componentMembers
        if (activeProfile.extendsInCheckNoOverSpecificRunsOnClauses) {
		     variables.addAll(component.inheritedComponentMembers)    
        if (activeProfile.aliasInCheckNoOverSpecificRunsOnClauses) {
            if (variables.empty) { //alias
    		    variables.addAll(component.directlyInheritedComponentMembers)    
            }
		}
		
		if (parent.isReferenced2(variables)) {
@@ -1102,6 +1104,15 @@ class CodeStyleValidator extends AbstractDeclarativeValidator {
		}
	}

    private def HashSet<EObject> getDirectlyInheritedComponentMembers(ComponentDef component) {
        val HashSet<EObject> inheritedVariables = Sets.newHashSet
        for (e : component.extends) {
            inheritedVariables.addAll(e.componentMembers)
        }
        return inheritedVariables
    }


    private def HashSet<EObject> getInheritedComponentMembers(ComponentDef component) {
        val HashSet<EObject> inheritedVariables = Sets.newHashSet
        for (e : component.extends) {
+5 −5
Original line number Diff line number Diff line
@@ -35,7 +35,7 @@ public class QualityCheckProfile extends ConfigurationProfile {
	private boolean checkNoInlineTemplates = true;
	private boolean checkNoOverSpecificRunsOnClauses = true;
	boolean recursionInCheckNoOverSpecificRunsOnClauses = true;
	private boolean extendsInCheckNoOverSpecificRunsOnClauses = false;
	private boolean aliasInCheckNoOverSpecificRunsOnClauses = true;
	private boolean checkNoUnusedImports = true;
	private boolean checkNoUnusedFormalParameters = true;
	private boolean checkNoUnusedLocalDefinitions = true;
@@ -603,12 +603,12 @@ public class QualityCheckProfile extends ConfigurationProfile {
		this.checkNoUninitialisedVariablesExclude = checkNoUninitialisedVariablesExclude;
	}

	public boolean isExtendsInCheckNoOverSpecificRunsOnClauses() {
		return extendsInCheckNoOverSpecificRunsOnClauses;
	public boolean isAliasInCheckNoOverSpecificRunsOnClauses() {
		return aliasInCheckNoOverSpecificRunsOnClauses;
	}

	public void setExtendsInCheckNoOverSpecificRunsOnClauses(boolean extendsInCheckNoOverSpecificRunsOnClauses) {
		this.extendsInCheckNoOverSpecificRunsOnClauses = extendsInCheckNoOverSpecificRunsOnClauses;
	public void setAliasInCheckNoOverSpecificRunsOnClauses(boolean aliasInCheckNoOverSpecificRunsOnClauses) {
		this.aliasInCheckNoOverSpecificRunsOnClauses = aliasInCheckNoOverSpecificRunsOnClauses;
	}