|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.xalan.xsltc.compiler.SyntaxTreeNode org.apache.xalan.xsltc.compiler.Expression org.apache.xalan.xsltc.compiler.FunctionCall
class FunctionCall
Nested Class Summary | |
---|---|
(package private) static class |
FunctionCall.JavaType
inner class to used in internal2Java mappings, contains the Java type and the distance between the internal type and the Java type. |
Field Summary | |
---|---|
private java.util.Vector |
_arguments
|
private java.lang.reflect.Constructor |
_chosenConstructor
|
private java.lang.reflect.Method |
_chosenMethod
|
private MethodType |
_chosenMethodType
|
private java.lang.String |
_className
|
private java.lang.Class |
_clazz
|
private static java.util.Hashtable |
_extensionFunctionTable
|
private static java.util.Hashtable |
_extensionNamespaceTable
|
private QName |
_fname
|
private static MultiHashtable |
_internal2Java
|
private boolean |
_isExtConstructor
|
private boolean |
_isStatic
|
private static java.util.Hashtable |
_java2Internal
|
private int |
_namespace_format
|
(package private) Expression |
_thisArgument
Stores reference to object for non-static Java calls |
private static java.util.Vector |
EMPTY_ARG_LIST
|
protected static java.lang.String |
EXSLT_COMMON
|
protected static java.lang.String |
EXSLT_DATETIME
|
protected static java.lang.String |
EXSLT_MATH
|
protected static java.lang.String |
EXSLT_SETS
|
protected static java.lang.String |
EXSLT_STRINGS
|
protected static java.lang.String |
EXT_XALAN
|
protected static java.lang.String |
EXT_XSLTC
|
protected static java.lang.String |
JAVA_EXT_XALAN
|
protected static java.lang.String |
JAVA_EXT_XALAN_OLD
|
protected static java.lang.String |
JAVA_EXT_XSLTC
|
protected static int |
NAMESPACE_FORMAT_CLASS
|
protected static int |
NAMESPACE_FORMAT_CLASS_OR_PACKAGE
|
protected static int |
NAMESPACE_FORMAT_JAVA
|
protected static int |
NAMESPACE_FORMAT_PACKAGE
|
private boolean |
unresolvedExternal
|
Fields inherited from class org.apache.xalan.xsltc.compiler.Expression |
---|
_falseList, _trueList, _type |
Fields inherited from class org.apache.xalan.xsltc.compiler.SyntaxTreeNode |
---|
_attributes, _parent, _qname, Dummy, IndentIncrement, UNKNOWN_STYLESHEET_NODE_ID |
Constructor Summary | |
---|---|
FunctionCall(QName fname)
|
|
FunctionCall(QName fname,
java.util.Vector arguments)
|
Method Summary | |
---|---|
protected Expression |
argument()
|
protected Expression |
argument(int i)
|
protected int |
argumentCount()
|
private java.util.Vector |
findConstructors()
Returns a vector with all constructors named _fname
after stripping its namespace or null
if no such methods exist. |
private java.util.Vector |
findMethods()
Returns a vector with all methods named _fname
after stripping its namespace or null
if no such methods exist. |
java.lang.String |
getClassNameFromUri(java.lang.String uri)
|
private java.lang.String |
getMethodSignature(java.util.Vector argsType)
Return the signature of the current method |
java.lang.String |
getName()
|
(package private) static java.lang.String |
getSignature(java.lang.Class clazz)
Compute the JVM signature for the class. |
(package private) static java.lang.String |
getSignature(java.lang.reflect.Constructor cons)
Compute the JVM constructor descriptor for the constructor. |
(package private) static java.lang.String |
getSignature(java.lang.reflect.Method meth)
Compute the JVM method descriptor for the method. |
boolean |
isExtension()
|
boolean |
isStandard()
|
protected static java.lang.String |
replaceDash(java.lang.String name)
To support EXSLT extensions, convert names with dash to allowable Java names: e.g., convert abc-xyz to abcXyz. |
protected void |
setArgument(int i,
Expression exp)
|
void |
setParser(Parser parser)
Set this node's parser. |
java.lang.String |
toString()
|
void |
translate(ClassGenerator classGen,
MethodGenerator methodGen)
Translate a function call. |
void |
translateDesynthesized(ClassGenerator classGen,
MethodGenerator methodGen)
Compile the function call and treat as an expression Update true/false-lists. |
private void |
translateUnallowedExtension(ConstantPoolGen cpg,
InstructionList il)
Translate code to call the BasisLibrary.unallowed_extensionF(String) method. |
Type |
typeCheck(SymbolTable stable)
Type check a function call. |
java.util.Vector |
typeCheckArgs(SymbolTable stable)
Type check the actual arguments of this function call. |
Type |
typeCheckConstructor(SymbolTable stable)
|
Type |
typeCheckExternal(SymbolTable stable)
Type check a call to an external (Java) method. |
Type |
typeCheckStandard(SymbolTable stable)
Type check a call to a standard function. |
Methods inherited from class org.apache.xalan.xsltc.compiler.Expression |
---|
backPatchFalseList, backPatchTrueList, compile, desynthesize, evaluateAtCompileTime, getFalseList, getTrueList, getType, hasLastCall, hasPositionCall, lookupPrimop, startIterator, synthesize |
Methods inherited from class org.apache.xalan.xsltc.compiler.SyntaxTreeNode |
---|
addAttribute, addElement, addPrefixMapping, compileResultTree, contextDependent, dependentContents, display, displayContents, elementAt, elementCount, elements, getAttribute, getAttribute, getAttributes, getContents, getImportPrecedence, getLineNumber, getNodeIDForStylesheetNSLookup, getParent, getParser, getPrefixMapping, getQName, getStylesheet, getSymbolTable, getTemplate, getXSLTC, hasAttribute, hasContents, indent, isDummy, lastChild, lookupNamespace, lookupPrefix, parseChildren, parseContents, removeElement, reportError, reportWarning, setAttributes, setFirstElement, setLineNumber, setParent, setPrefixMapping, setQName, setQName, translateContents, typeCheckContents, updateScope |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
private QName _fname
private final java.util.Vector _arguments
private static final java.util.Vector EMPTY_ARG_LIST
protected static final java.lang.String EXT_XSLTC
protected static final java.lang.String JAVA_EXT_XSLTC
protected static final java.lang.String EXT_XALAN
protected static final java.lang.String JAVA_EXT_XALAN
protected static final java.lang.String JAVA_EXT_XALAN_OLD
protected static final java.lang.String EXSLT_COMMON
protected static final java.lang.String EXSLT_MATH
protected static final java.lang.String EXSLT_SETS
protected static final java.lang.String EXSLT_DATETIME
protected static final java.lang.String EXSLT_STRINGS
protected static final int NAMESPACE_FORMAT_JAVA
protected static final int NAMESPACE_FORMAT_CLASS
protected static final int NAMESPACE_FORMAT_PACKAGE
protected static final int NAMESPACE_FORMAT_CLASS_OR_PACKAGE
private int _namespace_format
Expression _thisArgument
private java.lang.String _className
private java.lang.Class _clazz
private java.lang.reflect.Method _chosenMethod
private java.lang.reflect.Constructor _chosenConstructor
private MethodType _chosenMethodType
private boolean unresolvedExternal
private boolean _isExtConstructor
private boolean _isStatic
private static final MultiHashtable _internal2Java
private static final java.util.Hashtable _java2Internal
private static final java.util.Hashtable _extensionNamespaceTable
private static final java.util.Hashtable _extensionFunctionTable
Constructor Detail |
---|
public FunctionCall(QName fname, java.util.Vector arguments)
public FunctionCall(QName fname)
Method Detail |
---|
public java.lang.String getName()
public void setParser(Parser parser)
SyntaxTreeNode
setParser
in class SyntaxTreeNode
parser
- The XSLT parser.public java.lang.String getClassNameFromUri(java.lang.String uri)
public Type typeCheck(SymbolTable stable) throws TypeCheckError
typeCheck
in class Expression
stable
- The compiler/parser's symbol table
TypeCheckError
public Type typeCheckStandard(SymbolTable stable) throws TypeCheckError
TypeCheckError
public Type typeCheckConstructor(SymbolTable stable) throws TypeCheckError
TypeCheckError
public Type typeCheckExternal(SymbolTable stable) throws TypeCheckError
_fname
is inspected
as a possible candidate.
TypeCheckError
public java.util.Vector typeCheckArgs(SymbolTable stable) throws TypeCheckError
TypeCheckError
protected final Expression argument(int i)
protected final Expression argument()
protected final int argumentCount()
protected final void setArgument(int i, Expression exp)
public void translateDesynthesized(ClassGenerator classGen, MethodGenerator methodGen)
translateDesynthesized
in class Expression
public void translate(ClassGenerator classGen, MethodGenerator methodGen)
translate
in class Expression
classGen
- BCEL Java class generatormethodGen
- BCEL Java method generatorpublic java.lang.String toString()
toString
in class Expression
public boolean isStandard()
public boolean isExtension()
private java.util.Vector findMethods()
_fname
after stripping its namespace or null
if no such methods exist.
private java.util.Vector findConstructors()
_fname
after stripping its namespace or null
if no such methods exist.
static final java.lang.String getSignature(java.lang.Class clazz)
static final java.lang.String getSignature(java.lang.reflect.Method meth)
static final java.lang.String getSignature(java.lang.reflect.Constructor cons)
private java.lang.String getMethodSignature(java.util.Vector argsType)
protected static java.lang.String replaceDash(java.lang.String name)
private void translateUnallowedExtension(ConstantPoolGen cpg, InstructionList il)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |