package me.august.lumen.resolve;
import me.august.lumen.compile.parser.ast.ImportNode;
import me.august.lumen.compile.parser.ast.stmt.VarStmt;
import me.august.lumen.compile.resolve.ResolvingVisitor;
import me.august.lumen.compile.resolve.impl.NameResolver;
import me.august.lumen.compile.resolve.type.UnresolvedType;
import org.junit.Assert;
import org.junit.Test;
public class NameResolutionTest {
@Test
public void testTypeResolution() {
String path = "foo.bar";
String className = "Baz";
String qualified = path + '.' + className;
ImportNode[] imports = new ImportNode[]{new ImportNode(path, className)};
NameResolver resolver = new NameResolver(imports);
ResolvingVisitor visitor = new ResolvingVisitor(resolver);
UnresolvedType type = new UnresolvedType("Baz");
VarStmt var = new VarStmt("x", type);
visitor.visitType(var);
Assert.assertEquals(qualified, var.getResolvedType().getClassName());
}
}