use of com.icl.saxon.style.XSLParam in project intellij-community by JetBrains.
the class SaxonFrameImpl method addVariables.
void addVariables(StyleElement element, ArrayList<Debugger.Variable> variables, Enumeration enumeration, boolean isGlobal) {
final Context context = myContext;
final StaticContext ctx = context.getStaticContext();
final NamePool pool = element.getNamePool();
final Bindery bindery = context.getBindery();
while (enumeration.hasMoreElements()) {
String name = (String) enumeration.nextElement();
try {
final String[] parts = name.split("\\^");
final String realname = parts[1];
final int fingerprint = ctx != null ? ctx.getFingerprint(realname, false) : pool.getFingerprint(parts[0], realname);
final Binding binding = element.getVariableBinding(fingerprint);
final Debugger.Variable.Kind kind = binding instanceof XSLParam ? Debugger.Variable.Kind.PARAMETER : Debugger.Variable.Kind.VARIABLE;
final com.icl.saxon.expr.Value value = bindery.getValue(binding, myFrameId);
if (binding instanceof XSLGeneralVariable) {
final XSLGeneralVariable v = (XSLGeneralVariable) binding;
final String id = v.getSystemId();
variables.add(new VariableImpl(realname, convertValue(value), isGlobal, kind, id != null ? id.replaceAll(" ", "%20") : null, v.getLineNumber()));
} else {
variables.add(new VariableImpl(realname, convertValue(value), isGlobal, kind, null, -1));
}
} catch (XPathException e) {
// this should never happen I guess...
e.printStackTrace();
}
}
}
Aggregations