} else if (lt == Token.THIS) {
name = Ast.tokenName(Token.THIS);
} else if (lt == Token.GETPROP || lt == Token.GETELEM) {
child = new GetProp(left);
} else {
throw new WinkUnmanagedSyntaxException("Unknow GetProp Syntax, unexpected: " + Ast.tokenName(lt) + "-" + Ast.tokenName(rt) + " " + Ast.getPositionInfo(n));
}
if (rt == Token.STRING || rt == Token.NAME || rt == Token.GETVAR || rt == Token.NUMBER) {
prop = right.asString();
} else if (rt == Token.SUB || rt == Token.ADD) {
final List<AstNode> rightChilds = right.getChilds();
final String sign = (rt == Token.SUB) ? "-" : "+";
try {
prop = rightChilds.get(0).asString() + sign + rightChilds.get(1).asString();
} catch (final Exception e) {
prop = Ast.tokenName(rt);
}
} else if (rt == Token.GETPROP || rt == Token.GETELEM) {
prop = new GetProp(right).resolveNamespace().toString();
} else {
throw new WinkUnmanagedSyntaxException("Unknow GetProp Syntax, unexpected: " + Ast.tokenName(lt) + "-" + Ast.tokenName(rt) + " " + Ast.getPositionInfo(n));
}
} else {
throw new WinkUnmanagedSyntaxException("Unknow GetProp Syntax, expected: 2 tokens" + " " + Ast.getPositionInfo(n));
}
}