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]

Reply via email to