/* (non-Javadoc)
	 * @see br.ufrj.cos.lens.odyssey.tools.psw.parser.cst.CSTVisitor#visitDefVarExpressionEnd(br.ufrj.cos.lens.odyssey.tools.psw.parser.cst.context.CSTDefVarExpressionCS)
	 */
        public void visitDefVarExpressionEnd(CSTDefVarExpressionCS defVarDeclaration) {
            if (! isOperationContext) {
                Environment currentEnvironment = (Environment) stackOfEnvironments.Peek();
                string varName = defVarDeclaration.getNameAsString();

                checkForFeatureRedefinition(contextClassifier, varName,
                                            defVarDeclaration.getNameNodeCS());

                try {
                    contextClassifier.addDefinedElement(defVarDeclaration.getToken().getFilename(),
                                                        varName,
                                                        defVarDeclaration.getTypeNodeCS().getAst());
                    constraintSourceTracker.addOwnerToSource(defVarDeclaration.getToken().getFilename(), contextClassifier);
                } catch (NameClashException e) {
                    generateSemanticException(defVarDeclaration, e.getMessage());
                }
            }
        }
Exemplo n.º 2
0
 /* (non-Javadoc)
  * @see br.ufrj.cos.lens.odyssey.tools.psw.parser.cst.CSTVisitor#visitDefVarExpressionBegin(br.ufrj.cos.lens.odyssey.tools.psw.parser.cst.context.CSTDefVarExpressionCS)
  */
 public override void visitDefVarExpressionBegin(CSTDefVarExpressionCS defVarDeclaration)
 {
     base.visitDefVarExpressionBegin(defVarDeclaration);
 }