001    /*
002     *                    BioJava development code
003     *
004     * This code may be freely distributed and modified under the
005     * terms of the GNU Lesser General Public Licence.  This should
006     * be distributed with the code.  If you do not have a copy,
007     * see:
008     *
009     *      http://www.gnu.org/copyleft/lesser.html
010     *
011     * Copyright for this code is held jointly by the individual
012     * authors.  These should be listed in @author doc comments.
013     *
014     * For more information on the BioJava project and its aims,
015     * or to join the biojava-l mailing list, visit the home page
016     * at:
017     *
018     *      http://www.biojava.org/
019     *
020     */
021    package org.biojava.utils.bytecode;
022    
023    import java.util.*;
024    
025    /**
026     * A CodeGenerator that just marks a label that can be used for jumps.
027     *
028     * @author Matthew Pocock
029     */
030    
031    public class MarkLabel implements CodeGenerator {
032      private final Label label;
033      
034      public MarkLabel(Label label) {
035        this.label = label;
036      }
037      
038      public void writeCode(CodeContext ctx) throws CodeException {
039        ctx.markLabel(label);
040      }
041      
042      public int stackDepth() {
043        return 0;
044      }
045      
046      public int stackDelta() {
047        return 0;
048      }
049    }
050