APIdia Launch Partner
Top Fields Constructors Methods
com.sun.org.apache.xalan.internal.xsltc.compiler.util

public final Class NodeSetType

extends Type
Class Inheritance
Imports
com.sun.org.apache.bcel.internal.generic.ALOAD, .ASTORE, .BranchHandle, .ConstantPoolGen, .GOTO, .IFLT, .INVOKEINTERFACE, .INVOKESTATIC, .Instruction, .InstructionList, .PUSH, com.sun.org.apache.xalan.internal.xsltc.compiler.Constants, .FlowList

Authors
Jacek Ambroziak, Santiago Pericas-Geertsen

Field Summary

Inherited from com.sun.org.apache.xalan.internal.xsltc.compiler.util.Type:
AttributeBooleanCommentElementIntNodeNodeSetObjectObjectStringProcessing_InstructionRealReferenceResultTreeRootStringTextVoid

Constructor Summary

AccessConstructor and Description
protected

Method Summary

Modifier and TypeMethod and Description
public String
getClassName()

Overrides com.sun.org.apache.xalan.internal.xsltc.compiler.util.Type.getClassName.

Returns the class name of an internal type's external representation.

private void
getFirstNode(ClassGenerator classGen, MethodGenerator methodGen)

Some type conversions require gettting the first node from the node-set.

public boolean
identicalTo(Type other)

Implements abstract com.sun.org.apache.xalan.internal.xsltc.compiler.util.Type.identicalTo.

Returns true if this and other are identical types.

public Instruction
public Instruction
public Type
public String
toSignature()

Implements abstract com.sun.org.apache.xalan.internal.xsltc.compiler.util.Type.toSignature.

Returns the signature of an internal type's external representation.

public String
toString()

Implements abstract com.sun.org.apache.xalan.internal.xsltc.compiler.util.Type.toString.

Returns a string representation of this type.

public void
translateBox(ClassGenerator classGen, MethodGenerator methodGen)

Overrides com.sun.org.apache.xalan.internal.xsltc.compiler.util.Type.translateBox.

Translates an object of this type to its boxed representation.

public void
translateFrom(ClassGenerator classGen, MethodGenerator methodGen, Class<?> clazz)

Overrides com.sun.org.apache.xalan.internal.xsltc.compiler.util.Type.translateFrom.

Translates an external Java Class into an internal type.

public void
translateTo(ClassGenerator classGen, MethodGenerator methodGen, Type type)

Overrides com.sun.org.apache.xalan.internal.xsltc.compiler.util.Type.translateTo.

Translates a node-set into an object of internal type type.

public void
translateTo(ClassGenerator classGen, MethodGenerator methodGen, BooleanType type)

Translates a node-set into a synthesized boolean.

public void
translateTo(ClassGenerator classGen, MethodGenerator methodGen, StringType type)

Translates a node-set into a string.

public void
translateTo(ClassGenerator classGen, MethodGenerator methodGen, RealType type)

Expects a node-set on the stack and pushes a real.

public void
translateTo(ClassGenerator classGen, MethodGenerator methodGen, NodeType type)

Expects a node-set on the stack and pushes a node.

public void
translateTo(ClassGenerator classGen, MethodGenerator methodGen, ObjectType type)

Subsume node-set into ObjectType.

public void
translateTo(ClassGenerator classGen, MethodGenerator methodGen, ReferenceType type)

Expects a node-set on the stack and pushes a boxed node-set.

public void
translateTo(ClassGenerator classGen, MethodGenerator methodGen, Class<?> clazz)

Overrides com.sun.org.apache.xalan.internal.xsltc.compiler.util.Type.translateTo.

Translates a node-set into the Java type denoted by clazz.

public FlowList
public void
translateUnBox(ClassGenerator classGen, MethodGenerator methodGen)

Overrides com.sun.org.apache.xalan.internal.xsltc.compiler.util.Type.translateUnBox.

Translates an object of this type to its unboxed representation.

Inherited from com.sun.org.apache.xalan.internal.xsltc.compiler.util.Type:
ADDCMPdistanceToDIVDUPGEGTimplementedAsMethodisNumberisSimpleLELTMULNEGnewObjectTypenewObjectTypePOPREMSUBtranslateToDesynthesized

Constructor Detail

NodeSetTypeback to summary
protected NodeSetType()

Method Detail

getClassNameback to summary
public String getClassName()

Overrides com.sun.org.apache.xalan.internal.xsltc.compiler.util.Type.getClassName.

Returns the class name of an internal type's external representation.

getFirstNodeback to summary
private void getFirstNode(ClassGenerator classGen, MethodGenerator methodGen)

Some type conversions require gettting the first node from the node-set. This function is defined to avoid code repetition.

identicalToback to summary
public boolean identicalTo(Type other)

Implements abstract com.sun.org.apache.xalan.internal.xsltc.compiler.util.Type.identicalTo.

Doc from com.sun.org.apache.xalan.internal.xsltc.compiler.util.Type.identicalTo.

Returns true if this and other are identical types.

LOADback to summary
public Instruction LOAD(int slot)

Overrides com.sun.org.apache.xalan.internal.xsltc.compiler.util.Type.LOAD.

STOREback to summary
public Instruction STORE(int slot)

Overrides com.sun.org.apache.xalan.internal.xsltc.compiler.util.Type.STORE.

toJCTypeback to summary
public Type toJCType()

Implements abstract com.sun.org.apache.xalan.internal.xsltc.compiler.util.Type.toJCType.

toSignatureback to summary
public String toSignature()

Implements abstract com.sun.org.apache.xalan.internal.xsltc.compiler.util.Type.toSignature.

Doc from com.sun.org.apache.xalan.internal.xsltc.compiler.util.Type.toSignature.

Returns the signature of an internal type's external representation.

toStringback to summary
public String toString()

Implements abstract com.sun.org.apache.xalan.internal.xsltc.compiler.util.Type.toString.

Doc from com.sun.org.apache.xalan.internal.xsltc.compiler.util.Type.toString.

Returns a string representation of this type.

translateBoxback to summary
public void translateBox(ClassGenerator classGen, MethodGenerator methodGen)

Overrides com.sun.org.apache.xalan.internal.xsltc.compiler.util.Type.translateBox.

Translates an object of this type to its boxed representation.

translateFromback to summary
public void translateFrom(ClassGenerator classGen, MethodGenerator methodGen, Class<?> clazz)

Overrides com.sun.org.apache.xalan.internal.xsltc.compiler.util.Type.translateFrom.

Translates an external Java Class into an internal type. Expects the Java object on the stack, pushes the internal type

translateToback to summary
public void translateTo(ClassGenerator classGen, MethodGenerator methodGen, Type type)

Overrides com.sun.org.apache.xalan.internal.xsltc.compiler.util.Type.translateTo.

Translates a node-set into an object of internal type type. The translation to int is undefined since node-sets are always converted to reals in arithmetic expressions.

See Also
com.sun.org.apache.xalan.internal.xsltc.compiler.util.Type#translateTo
translateToback to summary
public void translateTo(ClassGenerator classGen, MethodGenerator methodGen, BooleanType type)

Translates a node-set into a synthesized boolean. The boolean value of a node-set is "true" if non-empty and "false" otherwise. Notice that the function getFirstNode() is called in translateToDesynthesized().

See Also
com.sun.org.apache.xalan.internal.xsltc.compiler.util.Type#translateTo
translateToback to summary
public void translateTo(ClassGenerator classGen, MethodGenerator methodGen, StringType type)

Translates a node-set into a string. The string value of a node-set is value of its first element.

See Also
com.sun.org.apache.xalan.internal.xsltc.compiler.util.Type#translateTo
translateToback to summary
public void translateTo(ClassGenerator classGen, MethodGenerator methodGen, RealType type)

Expects a node-set on the stack and pushes a real. First the node-set is converted to string, and from string to real.

See Also
com.sun.org.apache.xalan.internal.xsltc.compiler.util.Type#translateTo
translateToback to summary
public void translateTo(ClassGenerator classGen, MethodGenerator methodGen, NodeType type)

Expects a node-set on the stack and pushes a node.

See Also
com.sun.org.apache.xalan.internal.xsltc.compiler.util.Type#translateTo
translateToback to summary
public void translateTo(ClassGenerator classGen, MethodGenerator methodGen, ObjectType type)

Subsume node-set into ObjectType.

See Also
com.sun.org.apache.xalan.internal.xsltc.compiler.util.Type#translateTo
translateToback to summary
public void translateTo(ClassGenerator classGen, MethodGenerator methodGen, ReferenceType type)

Expects a node-set on the stack and pushes a boxed node-set. Node sets are already boxed so the translation is just a NOP.

See Also
com.sun.org.apache.xalan.internal.xsltc.compiler.util.Type#translateTo
translateToback to summary
public void translateTo(ClassGenerator classGen, MethodGenerator methodGen, Class<?> clazz)

Overrides com.sun.org.apache.xalan.internal.xsltc.compiler.util.Type.translateTo.

Translates a node-set into the Java type denoted by clazz. Expects a node-set on the stack and pushes an object of the appropriate type after coercion.

translateToDesynthesizedback to summary
public FlowList translateToDesynthesized(ClassGenerator classGen, MethodGenerator methodGen, BooleanType type)

Overrides com.sun.org.apache.xalan.internal.xsltc.compiler.util.Type.translateToDesynthesized.

Translates a node-set into a non-synthesized boolean. It does not push a 0 or a 1 but instead returns branchhandle list to be appended to the false list.

See Also
com.sun.org.apache.xalan.internal.xsltc.compiler.util.Type#translateToDesynthesized
translateUnBoxback to summary
public void translateUnBox(ClassGenerator classGen, MethodGenerator methodGen)

Overrides com.sun.org.apache.xalan.internal.xsltc.compiler.util.Type.translateUnBox.

Translates an object of this type to its unboxed representation.