santiagopg 2002/07/30 11:30:29
Modified: java/src/org/apache/xalan/xsltc/compiler FunctionCall.java
java/src/org/apache/xalan/xsltc/compiler/util
ReferenceType.java ResultTreeType.java
Log:
Added type promotion from result-tree to object (used in call to nodeset()).
Revision Changes Path
1.21 +2 -1
xml-xalan/java/src/org/apache/xalan/xsltc/compiler/FunctionCall.java
Index: FunctionCall.java
===================================================================
RCS file:
/home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/FunctionCall.java,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- FunctionCall.java 25 Jul 2002 11:44:19 -0000 1.20
+++ FunctionCall.java 30 Jul 2002 18:30:28 -0000 1.21
@@ -175,6 +175,7 @@
_internal2Java.put(Type.ResultTree, nodeClass);
_internal2Java.put(Type.ResultTree, nodeListClass);
+ _internal2Java.put(Type.ResultTree, objectClass);
_internal2Java.put(Type.Reference, objectClass);
1.11 +2 -3
xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util/ReferenceType.java
Index: ReferenceType.java
===================================================================
RCS file:
/home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util/ReferenceType.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- ReferenceType.java 25 Jul 2002 11:45:28 -0000 1.10
+++ ReferenceType.java 30 Jul 2002 18:30:28 -0000 1.11
@@ -230,7 +230,6 @@
il.append(new INVOKESTATIC(index));
}
-
/**
* Subsume reference into ObjectType.
*
@@ -238,7 +237,7 @@
*/
public void translateTo(ClassGenerator classGen, MethodGenerator
methodGen,
ObjectType type) {
- methodGen.getInstructionList().append(NOP);
+ methodGen.getInstructionList().append(NOP);
}
/**
1.11 +18 -1
xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util/ResultTreeType.java
Index: ResultTreeType.java
===================================================================
RCS file:
/home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util/ResultTreeType.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- ResultTreeType.java 1 Feb 2002 20:08:11 -0000 1.10
+++ ResultTreeType.java 30 Jul 2002 18:30:29 -0000 1.11
@@ -134,6 +134,9 @@
else if (type == Type.Reference) {
translateTo(classGen, methodGen, (ReferenceType)type);
}
+ else if (type == Type.Object) {
+ translateTo(classGen, methodGen, (ObjectType) type);
+ }
else {
ErrorMsg err = new ErrorMsg(ErrorMsg.DATA_CONVERSION_ERR,
toString(), type.toString());
@@ -368,6 +371,16 @@
}
/**
+ * Subsume result tree into ObjectType.
+ *
+ * @see org.apache.xalan.xsltc.compiler.util.Type#translateTo
+ */
+ public void translateTo(ClassGenerator classGen, MethodGenerator
methodGen,
+ ObjectType type) {
+ methodGen.getInstructionList().append(NOP);
+ }
+
+ /**
* Translates a result tree 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.
@@ -417,7 +430,11 @@
MAKE_NODE_LIST_SIG2);
il.append(new INVOKEINTERFACE(index, 2));
}
+ else if (className.equals("java.lang.Object")) {
+ il.append(NOP);
+ }
else {
+System.out.println("ResultTreeType.translateTo()");
ErrorMsg err = new ErrorMsg(ErrorMsg.DATA_CONVERSION_ERR,
toString(), className);
classGen.getParser().reportError(Constants.FATAL, err);
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]