use of org.abs_models.frontend.ast.VarUse in project abstools by abstools.
the class VarResolutionTest method testPatternVar.
@Test
public void testPatternVar() {
Model m = assertParse(" def Bool f(Bool b) = case b { True => False; x => !x; };");
NegExp ne = (NegExp) getSecondCaseExpr(m);
VarUse v = (VarUse) ne.getOperand();
PatternVarDecl decl = (PatternVarDecl) v.getDecl();
assertEquals("x", decl.getName());
}
use of org.abs_models.frontend.ast.VarUse in project abstools by abstools.
the class VarResolutionTest method testLetExp.
@Test
public void testLetExp() {
Model m = assertParse(" def Bool f(Bool b) = let (Bool x) = b in x;");
LetExp e = (LetExp) getFirstFunctionExpr(m);
VarOrFieldDecl decl = e.getVar();
VarUse u = (VarUse) e.getExp();
assertEquals(decl, u.getDecl());
}
use of org.abs_models.frontend.ast.VarUse in project abstools by abstools.
the class VarResolutionTest method testNestedLetExp.
@Test
public void testNestedLetExp() {
Model m = assertParse(" def Bool f(Bool b) = let (Bool x) = let (Bool y) = b in y in x;");
LetExp e = (LetExp) getFirstFunctionExpr(m);
VarOrFieldDecl decl = e.getVar();
VarUse u = (VarUse) e.getExp();
assertEquals(decl, u.getDecl());
}
Aggregations