private void compileGetVariableProperty(FunctionCallExpr c)
throws CompilationException{
List params = c.getParameters();
if (params.size() != 2) {
throw new CompilationException(
__msgs.errInvalidNumberOfArguments(Constants.EXT_FUNCTION_GETVARIABLEPROPRTY));
}
String varName = getLiteralFromExpression((Expr)params.get(0));
OScope.Variable v = _cctx.resolveVariable(varName);
_out.vars.put(varName, v);
String propName = getLiteralFromExpression((Expr)params.get(1));
QName qname = _nsContext.derefQName(propName);
if (qname == null)
throw new CompilationException(
__msgs.errInvalidQName(propName));
OProcess.OProperty property = _cctx.resolveProperty(qname);
// Make sure we can...
_cctx.resolvePropertyAlias(v, qname);