Skip to content
Snippets Groups Projects
Select Git revision
  • df4aa861ca109700992af9e6ab9f26e67b395d06
  • master default protected
  • exec_auto_adjust_trace
  • let_variables
  • v1.4.1
  • v1.4.0
  • v1.3.0
  • v1.2.0
  • v1.1.0
  • v1.0.0
10 results

gradlew

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    VOScopeChecker.java 742 B
    package de.prob.voparser;
    
    import de.prob.voparser.analysis.DepthFirstAdapter;
    import de.prob.voparser.node.AIdentifierVo;
    import de.prob.voparser.node.Start;
    
    
    public class VOScopeChecker extends DepthFirstAdapter {
    
    	private final VOParser voParser;
    
    	private boolean error;
    
    	public VOScopeChecker(VOParser voParser) {
    		this.voParser = voParser;
    		this.error = false;
    	}
    
    	public void scopeCheck(Start start) throws VOParseException {
    		start.apply(this);
    		if(error) {
    			throw new VOParseException("Scope error in VO", VOParseException.ErrorType.SCOPING);
    		}
    	}
    
    	@Override
    	public void caseAIdentifierVo(AIdentifierVo node) {
    		if (!voParser.getTasks().containsKey(node.getIdentifierLiteral().getText())) {
    			error = true;
    		}
    	}
    
    }