001    /*
002     * Licensed to the Apache Software Foundation (ASF) under one
003     * or more contributor license agreements. See the NOTICE file
004     * distributed with this work for additional information
005     * regarding copyright ownership. The ASF licenses this file
006     * to you under the Apache License, Version 2.0 (the  "License");
007     * you may not use this file except in compliance with the License.
008     * You may obtain a copy of the License at
009     *
010     *     http://www.apache.org/licenses/LICENSE-2.0
011     *
012     * Unless required by applicable law or agreed to in writing, software
013     * distributed under the License is distributed on an "AS IS" BASIS,
014     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
015     * See the License for the specific language governing permissions and
016     * limitations under the License.
017     */
018    /*
019     * $Id: OutlineableChunkEnd.java 1225426 2011-12-29 04:13:08Z mrglavas $
020     */
021    
022    package org.apache.xalan.xsltc.compiler.util;
023    
024    import org.apache.bcel.generic.Instruction;
025    
026    /**
027     * <p>Marks the end of a region of byte code that can be copied into a new
028     * method.  See the {@link OutlineableChunkStart} pseudo-instruction for
029     * details.</p>
030     */
031    class OutlineableChunkEnd extends MarkerInstruction {
032        /**
033         * A constant instance of {@link OutlineableChunkEnd}.  As it has no fields,
034         * there should be no need to create an instance of this class. 
035         */
036        public static final Instruction OUTLINEABLECHUNKEND =
037                                                    new OutlineableChunkEnd();
038    
039        /**
040         * Private default constructor.  As it has no fields,
041         * there should be no need to create an instance of this class.  See
042         * {@link OutlineableChunkEnd#OUTLINEABLECHUNKEND}.
043         */
044        private OutlineableChunkEnd() {
045        }
046    
047        /**
048         * Get the name of this instruction.  Used for debugging.
049         * @return the instruction name
050         */
051        public String getName() {
052            return OutlineableChunkEnd.class.getName();
053        }
054    
055        /**
056         * Get the name of this instruction.  Used for debugging.
057         * @return the instruction name
058         */
059        public String toString() {
060            return getName();
061        }
062    
063        /**
064         * Get the name of this instruction.  Used for debugging.
065         * @return the instruction name
066         */
067        public String toString(boolean verbose) {
068            return getName();
069        }
070    }