Class MethodGen

    • Field Detail

      • ATTRIBUTE_METHOD_PREFIX_LENGTH

        private static final int ATTRIBUTE_METHOD_PREFIX_LENGTH
        See Also:
        Constant Field Values
      • methodIndex

        protected int methodIndex
      • realName

        protected java.lang.String realName
      • symbolTable

        protected java.util.Hashtable symbolTable
      • stream

        protected java.io.PrintWriter stream
      • localOptimization

        protected boolean localOptimization
      • isAbstract

        protected boolean isAbstract
    • Constructor Detail

      • MethodGen

        public MethodGen()
        Public zero-argument constructor.
    • Method Detail

      • generate

        public void generate​(java.util.Hashtable symbolTable,
                             MethodEntry m,
                             java.io.PrintWriter stream)
        Method generate() is not used in MethodGen. They are replaced by the more granular interfaceMethod, stub, skeleton, dispatchSkeleton.
        Specified by:
        generate in interface MethodGen
      • interfaceMethod

        protected void interfaceMethod​(java.util.Hashtable symbolTable,
                                       MethodEntry m,
                                       java.io.PrintWriter stream)
      • stub

        protected void stub​(java.lang.String className,
                            boolean isAbstract,
                            java.util.Hashtable symbolTable,
                            MethodEntry m,
                            java.io.PrintWriter stream,
                            int index)
      • localstub

        protected void localstub​(java.util.Hashtable symbolTable,
                                 MethodEntry m,
                                 java.io.PrintWriter stream,
                                 int index,
                                 InterfaceEntry i)
      • skeleton

        protected void skeleton​(java.util.Hashtable symbolTable,
                                MethodEntry m,
                                java.io.PrintWriter stream,
                                int index)
      • dispatchSkeleton

        protected void dispatchSkeleton​(java.util.Hashtable symbolTable,
                                        MethodEntry m,
                                        java.io.PrintWriter stream,
                                        int index)
      • isValueInitializer

        protected boolean isValueInitializer()
        Determine whether method entry m is a valuetype initializer.
        Returns:
        true if is m is valuetype initializer, false otherwise.
      • writeMethodSignature

        protected void writeMethodSignature()
      • writeParmType

        protected void writeParmType​(SymtabEntry parm,
                                     int passType)
      • writeDispatchCall

        protected void writeDispatchCall()
      • writeStubBody

        protected void writeStubBody​(java.lang.String className)
      • writeStubBodyForLocalInvocation

        private void writeStubBodyForLocalInvocation​(java.lang.String className,
                                                     java.lang.String methodName)
        This method writes the else part of the stub method invocation to enable local invocation in case of collocation. NOTE: This will only be invoked from writeStubBody.
      • writeLocalStubBody

        protected void writeLocalStubBody​(InterfaceEntry i)
      • writeInsert

        private void writeInsert​(java.lang.String indent,
                                 java.lang.String target,
                                 java.lang.String source,
                                 SymtabEntry type,
                                 java.io.PrintWriter stream)
      • writeType

        private void writeType​(java.lang.String indent,
                               java.lang.String name,
                               SymtabEntry type,
                               java.io.PrintWriter stream)
      • writeExtract

        private void writeExtract​(java.lang.String indent,
                                  java.lang.String target,
                                  java.lang.String source,
                                  SymtabEntry type,
                                  java.io.PrintWriter stream)
      • writeExtract

        private java.lang.String writeExtract​(java.lang.String source,
                                              SymtabEntry type)
      • writeSkeletonBody

        private void writeSkeletonBody()
      • passType

        protected java.lang.String passType​(int passType)
      • serverMethodName

        protected void serverMethodName​(java.lang.String name)
        This is only used by AttributeGen. The java mapping says the names should be getXXX and setXXX, but CORBA says they should be _get_XXX and _set_XXX. this.name () will be getXXX. realName is set by AttributeGen to _get_XXX.
      • writeOutputStreamWrite

        private void writeOutputStreamWrite​(java.lang.String indent,
                                            java.lang.String oStream,
                                            java.lang.String name,
                                            SymtabEntry type,
                                            java.io.PrintWriter stream)
      • writeInputStreamRead

        private java.lang.String writeInputStreamRead​(java.lang.String source,
                                                      SymtabEntry type)
      • writeMethodCall

        protected void writeMethodCall​(java.lang.String indent)
      • writeCreateReply

        protected void writeCreateReply​(java.lang.String indent)