morten      01/11/22 06:41:59

  Modified:    java/src/org/apache/xalan/xsltc/compiler Message.java
  Log:
  A cleanup in the Message class. Making way for a fix for 4874
  Submitted by: [EMAIL PROTECTED]
  Reviewed by:  [EMAIL PROTECTED]
  
  Revision  Changes    Path
  1.4       +11 -24    
xml-xalan/java/src/org/apache/xalan/xsltc/compiler/Message.java
  
  Index: Message.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/Message.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- Message.java      2001/06/06 10:45:14     1.3
  +++ Message.java      2001/11/22 14:41:59     1.4
  @@ -1,5 +1,5 @@
   /*
  - * @(#)$Id: Message.java,v 1.3 2001/06/06 10:45:14 morten Exp $
  + * @(#)$Id: Message.java,v 1.4 2001/11/22 14:41:59 morten Exp $
    *
    * The Apache Software License, Version 1.1
    *
  @@ -90,28 +90,18 @@
       public void translate(ClassGenerator classGen, MethodGenerator 
methodGen) {
        final ConstantPoolGen cpg = classGen.getConstantPool();
        final InstructionList il = methodGen.getInstructionList();
  -     
  -     // Save the current handler base on the stack
  -     il.append(methodGen.loadHandler());
  -     // Get the translet's StringValueHandler
  -     il.append(classGen.loadTranslet());
  -     il.append(new GETFIELD(cpg.addFieldref(TRANSLET_CLASS,
  -                                            "stringValueHandler",
  -                                            STRING_VALUE_HANDLER_SIG)));
  -     il.append(DUP);
  -     il.append(methodGen.storeHandler());
  -
  -     // Translate contents with substituted handler
  -     translateContents(classGen, methodGen);
  -
  -     // Get string from all children from the handler
  -     il.append(new INVOKEVIRTUAL(cpg.addMethodref(STRING_VALUE_HANDLER,
  -                                                  "getValue",
  -                                                  "()" + STRING_SIG)));
  -     // Push the this pointer on the stack
  +
  +     // Load the translet (for call to displayMessage() function)
        il.append(classGen.loadTranslet());
  -     il.append(SWAP);
   
  +     // Get the contents of the message
  +     compileResultTree(classGen, methodGen);
  +     // Convert the 
  +     final int toStr = cpg.addInterfaceMethodref(DOM_INTF,
  +                                                 "getStringValue",
  +                                                 "()"+STRING_SIG);
  +     il.append(new INVOKEINTERFACE(toStr, 1));
  +
        // Send the resulting string to the message handling method
        il.append(new INVOKEVIRTUAL(cpg.addMethodref(TRANSLET_CLASS,
                                                     "displayMessage",
  @@ -131,9 +121,6 @@
            il.append(new INVOKESPECIAL(einit));
            il.append(ATHROW);
        }
  -
  -     // Clean up: Restore/pop old handler base from stack
  -     il.append(methodGen.storeHandler());
       }
       
   }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to