Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Source code: org/jext/dawn/array/ElementAtFunction.java


1   /*
2    * ElementAtFunction.java - element at
3    * Copyright (C) 2000 Romain Guy
4    * romain.guy@jext.org
5    * http://www.jext.org
6    *
7    * This program is free software; you can redistribute it and/or
8    * modify it under the terms of the GNU General Public License
9    * as published by the Free Software Foundation; either version 2
10   * of the License, or any later version.
11   *
12   * This program is distributed in the hope that it will be useful,
13   * but WITHOUT ANY WARRANTY; without even the implied warranty of
14   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15   * GNU General Public License for more details.
16   *
17   * You should have received a copy of the GNU General Public License
18   * along with this program; if not, write to the Free Software
19   * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
20   */
21  
22  package org.jext.dawn.array;
23  
24  import org.jext.dawn.*;
25  
26  /**
27   * Returns the element stored at the given index of an array.<br>
28   * Usage:<br>
29   * <code>array index elementAt</code><br>
30   * This function then pushes both the array and the object on the stack.
31   * @author Romain Guy
32   */
33  
34  public class ElementAtFunction extends Function
35  {
36    public ElementAtFunction()
37    {
38      super("elementAt");
39    }
40  
41    public void invoke(DawnParser parser) throws DawnRuntimeException
42    {
43      parser.checkArgsNumber(this, 2);
44      int index = (int) parser.popNumber();
45  
46      try
47      {
48        parser.push(parser.peekArray().elementAt(index));
49      } catch (ArrayIndexOutOfBoundsException aioobe) {
50        throw new DawnRuntimeException(this, parser, "array index " + index + " out of bounds");
51      }
52    }
53  }
54  
55  // End of ElementAtFunction.java