public Call(final AstNode n) throws WinkUnmanagedSyntaxException {
super(n);
parameters = Common.newArrayList(1);
final AstNode callnode = n;
final List<AstNode> childsCall = callnode.getChilds();
final AstNode c0 = childsCall.get(0);
int type = c0.getType();
if (type == Token.NAME) {
namespace = new Namespace();
namespace.addName(c0.asString());
} else if (type == Token.GETPROP) {
final Namespace ns = new GetProp(c0).resolveNamespace();
namespace = new Namespace();
namespace.appendNamespace(ns);
} else if (type == Token.FUNCTION) {
function = new Function(c0);
namespace = new Namespace();
namespace.addName(function.getNode().getFunctionName());
} else {
throw new WinkUnmanagedSyntaxException("Unknow Call Syntax, unexpected(0): " + Ast.tokenName(type) + " " + Ast.getPositionInfo(n));
}
for (int i = 1; i < childsCall.size(); i++) {
final AstNode ci = childsCall.get(i);
type = ci.getType();
if (type == Token.NAME || type == Token.STRING || type == Token.GETVAR || type == Token.NUMBER) {
final Namespace ns = new Namespace();
ns.addName(ci.asString());
parameters.add(ns);
} else if (type == Token.GETPROP) {
final Namespace ns = new GetProp(ci).resolveNamespace();
parameters.add(ns);
} else {