1 /*
   2  * reserved comment block
   3  * DO NOT REMOVE OR ALTER!
   4  */
   5 /*
   6  * Licensed to the Apache Software Foundation (ASF) under one or more
   7  * contributor license agreements.  See the NOTICE file distributed with
   8  * this work for additional information regarding copyright ownership.
   9  * The ASF licenses this file to You under the Apache License, Version 2.0
  10  * (the "License"); you may not use this file except in compliance with
  11  * the License.  You may obtain a copy of the License at
  12  *
  13  *      http://www.apache.org/licenses/LICENSE-2.0
  14  *
  15  * Unless required by applicable law or agreed to in writing, software
  16  * distributed under the License is distributed on an "AS IS" BASIS,
  17  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  18  * See the License for the specific language governing permissions and
  19  * limitations under the License.
  20  */
  21 
  22 package com.sun.org.apache.bcel.internal.generic;
  23 
  24 /**
  25  * Super class for the IFxxx family of instructions.
  26  *
  27  * @version $Id: IfInstruction.java 1747278 2016-06-07 17:28:43Z britter $
  28  */
  29 public abstract class IfInstruction extends BranchInstruction implements StackConsumer {
  30 
  31     /**
  32      * Empty constructor needed for the Class.newInstance() statement in
  33      * Instruction.readInstruction(). Not to be used otherwise.
  34      */
  35     IfInstruction() {
  36     }
  37 
  38 
  39     /**
  40      * @param opcode opcode of instruction
  41      * @param target Target instruction to branch to
  42      */
  43     protected IfInstruction(final short opcode, final InstructionHandle target) {
  44         super(opcode, target);
  45     }
  46 
  47 
  48     /**
  49      * @return negation of instruction, e.g. IFEQ.negate() == IFNE
  50      */
  51     public abstract IfInstruction negate();
  52 }