package me.tomassetti.turin.compiler;
import me.tomassetti.jvm.JvmType;
import me.tomassetti.turin.parser.ast.Node;
import me.tomassetti.turin.parser.ast.expressions.ActualParam;
import java.util.List;
/**
* A call is ambiguous: we are not able to differentiate between various overloaded methods to invoke.
*/
public class AmbiguousCallException extends RuntimeException {
private Node context;
private String name;
private List<JvmType> actualParamTypes;
private List<ActualParam> actualParams;
public AmbiguousCallException(Node context, List<ActualParam> actualParams, String name) {
this.context = context;
this.actualParams = actualParams;
this.name = name;
}
public AmbiguousCallException(Node context, String name, List<JvmType> actualParamTypes) {
this.context = context;
this.name = name;
this.actualParamTypes = actualParamTypes;
}
public Node getContext() {
return context;
}
public String getName() {
return name;
}
public List<JvmType> getActualParamTypes() {
return actualParamTypes;
}
public List<ActualParam> getActualParams() {
return actualParams;
}
}