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 package com.sun.org.apache.bcel.internal.generic;
  22 
  23 import com.sun.org.apache.bcel.internal.Const;
  24 
  25 /**
  26  * ASTORE - Store reference into local variable
  27  * <PRE>Stack ..., objectref -&gt; ... </PRE>
  28  *
  29  * @version $Id: ASTORE.java 1747278 2016-06-07 17:28:43Z britter $
  30  */
  31 public class ASTORE extends StoreInstruction {
  32 
  33     /**
  34      * Empty constructor needed for the Class.newInstance() statement in
  35      * Instruction.readInstruction(). Not to be used otherwise.
  36      */
  37     ASTORE() {
  38         super(Const.ASTORE, Const.ASTORE_0);
  39     }
  40 
  41     /**
  42      * Store reference into local variable
  43      *
  44      * @param n index of local variable
  45      */
  46     public ASTORE(final int n) {
  47         super(Const.ASTORE, Const.ASTORE_0, n);
  48     }
  49 
  50     /**
  51      * Call corresponding visitor method(s). The order is: Call visitor methods
  52      * of implemented interfaces first, then call methods according to the class
  53      * hierarchy in descending order, i.e., the most specific visitXXX() call
  54      * comes last.
  55      *
  56      * @param v Visitor object
  57      */
  58     @Override
  59     public void accept(final Visitor v) {
  60         super.accept(v);
  61         v.visitASTORE(this);
  62     }
  63 }