Save This Page
Home » cglib-src-2.2 » net.sf.cglib.core » [javadoc | source]
    1   /*
    2    * Copyright 2003 The Apache Software Foundation
    3    *
    4    *  Licensed under the Apache License, Version 2.0 (the "License");
    5    * you may not use this file except in compliance with the License.
    6    * You may obtain a copy of the License at
    7    *
    8    *      http://www.apache.org/licenses/LICENSE-2.0
    9    *
   10    *  Unless required by applicable law or agreed to in writing, software
   11    * distributed under the License is distributed on an "AS IS" BASIS,
   12    * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   13    * See the License for the specific language governing permissions and
   14    * limitations under the License.
   15    */
   16   package net.sf.cglib.core;
   17   
   18   import org.objectweb.asm.Label;
   19   
   20   public class Block
   21   {
   22       private CodeEmitter e;
   23       private Label start;
   24       private Label end;
   25   
   26       public Block(CodeEmitter e) {
   27           this.e = e;
   28           start = e.mark();
   29       }
   30   
   31       public CodeEmitter getCodeEmitter() {
   32           return e;
   33       }
   34   
   35       public void end() {
   36           if (end != null) {
   37               throw new IllegalStateException("end of label already set");
   38           }
   39           end = e.mark();
   40       }
   41       
   42       public Label getStart() {
   43           return start;
   44       }
   45   
   46       public Label getEnd() {
   47           return end;
   48       }
   49   }

Save This Page
Home » cglib-src-2.2 » net.sf.cglib.core » [javadoc | source]