public WithParam compileWithParam(Expression parent, Compilation exec, ComponentDeclaration decl) throws XPathException { sourceBinding.handleSequenceConstructor(exec, decl); WithParam inst = new WithParam(); inst.setSelectExpression(parent, sourceBinding.getSelectExpression()); inst.setVariableQName(sourceBinding.getVariableQName()); inst.setRequiredType(sourceBinding.getInferredType(true)); return inst; }
public WithParam compileWithParam(Expression parent, Compilation exec, ComponentDeclaration decl) throws XPathException { sourceBinding.handleSequenceConstructor(exec, decl); WithParam inst = new WithParam(); inst.setSelectExpression(parent, sourceBinding.getSelectExpression()); inst.setVariableQName(sourceBinding.getVariableQName()); inst.setRequiredType(sourceBinding.getInferredType(true)); return inst; }
public void validate(ComponentDeclaration decl) throws XPathException { if (sourceBinding.hasProperty(SourceBinding.REQUIRED)) { if (sourceBinding.getSelectExpression() != null) { // NB, we do this test before setting the default select attribute compileError("The select attribute must be absent when required='yes'", "XTSE0010"); } if (hasChildNodes()) { compileError("A parameter specifying required='yes' must have empty content", "XTSE0010"); } Visibility vis = getVisibility(); if (!sourceBinding.isStatic() && !(vis == Visibility.PUBLIC || vis == Visibility.FINAL || vis == Visibility.ABSTRACT)) { compileError("The visibility of a required non-static parameter must be public, final, or abstract", "XTSE3370"); } } super.validate(decl); }
public void validate(ComponentDeclaration decl) throws XPathException { if (sourceBinding.hasProperty(SourceBinding.REQUIRED)) { if (sourceBinding.getSelectExpression() != null) { // NB, we do this test before setting the default select attribute compileError("The select attribute must be absent when required='yes'", "XTSE0010"); } if (hasChildNodes()) { compileError("A parameter specifying required='yes' must have empty content", "XTSE0010"); } Visibility vis = getVisibility(); if (!sourceBinding.isStatic() && !(vis == Visibility.PUBLIC || vis == Visibility.FINAL || vis == Visibility.ABSTRACT)) { compileError("The visibility of a required non-static parameter must be public, final, or abstract", "XTSE3370"); } } super.validate(decl); }
/** * Compile a global xsl:param element: this ensures space is available for local variables declared within * this global variable */ public void compileDeclaration(Compilation compilation, ComponentDeclaration decl) throws XPathException { if (sourceBinding.isStatic()) { super.compileDeclaration(compilation, decl); } else if (!redundant) { sourceBinding.handleSequenceConstructor(compilation, decl); GlobalParam binding = (GlobalParam)compiledVariable; binding.setPackageData(getCompilation().getPackageData()); binding.makeDeclaringComponent(Visibility.PUBLIC, getContainingPackage()); Expression select = sourceBinding.getSelectExpression(); binding.setSelectExpression(select); binding.setVariableQName(sourceBinding.getVariableQName()); initializeBinding(binding); binding.setRequiredType(getRequiredType()); binding.setRequiredParam(sourceBinding.hasProperty(SourceBinding.REQUIRED)); binding.setImplicitlyRequiredParam(sourceBinding.hasProperty(SourceBinding.IMPLICITLY_REQUIRED)); sourceBinding.fixupBinding(binding); //compiledVariable = binding; Component overridden = getOverriddenComponent(); if (overridden != null) { checkCompatibility(overridden); } } }
/** * Compile a global xsl:param element: this ensures space is available for local variables declared within * this global variable */ public void compileDeclaration(Compilation compilation, ComponentDeclaration decl) throws XPathException { if (sourceBinding.isStatic()) { super.compileDeclaration(compilation, decl); } else if (!redundant) { sourceBinding.handleSequenceConstructor(compilation, decl); GlobalParam binding = (GlobalParam)compiledVariable; binding.setPackageData(getCompilation().getPackageData()); binding.makeDeclaringComponent(Visibility.PUBLIC, getContainingPackage()); Expression select = sourceBinding.getSelectExpression(); binding.setSelectExpression(select); binding.setVariableQName(sourceBinding.getVariableQName()); initializeBinding(binding); binding.setRequiredType(getRequiredType()); binding.setRequiredParam(sourceBinding.hasProperty(SourceBinding.REQUIRED)); binding.setImplicitlyRequiredParam(sourceBinding.hasProperty(SourceBinding.IMPLICITLY_REQUIRED)); sourceBinding.fixupBinding(binding); //compiledVariable = binding; Component overridden = getOverriddenComponent(); if (overridden != null) { checkCompatibility(overridden); } } }
if (sourceBinding.getSelectExpression() != null) {
inst.setSelectExpression(select); } else { Expression select = sourceBinding.getSelectExpression(); inst.setSelectExpression(select);
inst.setSelectExpression(select); } else { Expression select = sourceBinding.getSelectExpression(); inst.setSelectExpression(select);
if (sourceBinding.getSelectExpression() != null) {
let.setRequiredType(var.getRequiredType()); let.setVariableQName(sourceBinding.getVariableQName()); let.setSequence(sourceBinding.getSelectExpression()); let.setAction(tail); sourceBinding.fixupBinding(let);
let.setRequiredType(var.getRequiredType()); let.setVariableQName(sourceBinding.getVariableQName()); let.setSequence(sourceBinding.getSelectExpression()); let.setAction(tail); sourceBinding.fixupBinding(let);
binding.setSelectExpression(sourceBinding.getSelectExpression()); binding.setConversion(conversion); binding.setVariableQName(name);
binding.setSelectExpression(sourceBinding.getSelectExpression()); binding.setConversion(conversion); binding.setVariableQName(name);