if (references.isEmpty() && !assignable) {
redundant = true;
}
if (!redundant) {
GeneralVariable inst;
if (global) {
inst = new GlobalVariable();
((GlobalVariable)inst).setExecutable(getExecutable());
((GlobalVariable)inst).setHostLanguage(Configuration.XSLT);
if (select != null) {
select.setContainer(((GlobalVariable)inst));
}
initializeInstruction(exec, inst);
inst.setVariableQName(getVariableQName());
inst.setSlotNumber(getSlotNumber());
inst.setRequiredType(getRequiredType());
fixupBinding(inst);
inst.setContainer(((GlobalVariable)inst));
return inst;
} else {
throw new AssertionError("Local variable found when compiling a global variable");
}
}