Skip to content
Snippets Groups Projects
Select Git revision
  • 70385e28c2c062d69722e4dba0a98ed4da89ebf9
  • develop default protected
  • 0.3.0
  • 0.2.1
  • 0.2.0
  • 0.1.0
6 results

VOScopeChecker.java

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;
    		}
    	}
    
    }