286N/A * reserved comment block 286N/A * DO NOT REMOVE OR ALTER! 286N/A * Copyright 2001-2004 The Apache Software Foundation. 286N/A * Licensed under the Apache License, Version 2.0 (the "License"); 286N/A * you may not use this file except in compliance with the License. 286N/A * You may obtain a copy of the License at 286N/A * Unless required by applicable law or agreed to in writing, software 286N/A * distributed under the License is distributed on an "AS IS" BASIS, 286N/A * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 286N/A * See the License for the specific language governing permissions and 286N/A * limitations under the License. 286N/A * @author Jacek Ambroziak 286N/A * @author Santiago Pericas-Geertsen 286N/A * @author Morten Jorgensen 286N/A * @author Erwin Bolwidt <ejb@klomp.org> 286N/A * @author John Howard <JohnH@schemasoft.com> 286N/A * True if this Param is declared in a simple named template. 286N/A * This is used to optimize codegen for parameter passing 286N/A * Display variable as single string 286N/A * Set the instruction for loading the value of this variable onto the 286N/A * JVM stack and returns the old instruction. 286N/A * Set the instruction for storing a value from the stack into this 286N/A * variable and returns the old instruction. 286N/A * Display variable in a full AST dump 286N/A * Parse the contents of the <xsl:param> element. This method must read 286N/A * the 'name' (required) and 'select' (optional) attributes. 286N/A // Parse 'name' and 'select' attributes plus parameter contents 286N/A // Add a ref to this param to its enclosing construct 286N/A // Mark this as a global parameter 286N/A // Check if a global variable with this name already exists... 286N/A // ...and if it does we need to check import precedence 286N/A // It is an error if the two have the same import precedence 286N/A // Ignore this if previous definition has higher precedence 286N/A // Add this variable if we have higher precedence 286N/A * Type-checks the parameter. The parameter type is determined by the 286N/A * 'select' expression (if present) or is a result tree if the parameter 286N/A * element has a body and no 'select' expression. 286N/A // This element has no type (the parameter does, but the parameter 286N/A // element itself does not). 286N/A * To fix bug 24518 related to setting parameters of the form 286N/A * {namespaceuri}localName which will get mapped to an instance 286N/A * variable in the class. 286N/A * If simple named template then generate a conditional init of the 286N/A * param using its default value: 286N/A * if (param == null) param = <default-value> 286N/A // Call addParameter() from this class 286N/A // Cache the result of addParameter() in a local variable 286N/A // Call addParameter() from this class 286N/A // Cache the result of addParameter() in a field