Your browser does not support JavaScript and this site utilizes JavaScript to build content and provide links to additional information. You should either enable JavaScript in your browser settings or use a browser that supports JavaScript in order to take full advantage of this site.

1 /***** BEGIN LICENSE BLOCK *****2 * Version: CPL 1.0/GPL 2.0/LGPL 2.13 *4 * The contents of this file are subject to the Common Public5 * License Version 1.0 (the "License"); you may not use this file6 * except in compliance with the License. You may obtain a copy of7 * the License at http://www.eclipse.org/legal/cpl-v10.html8 *9 * Software distributed under the License is distributed on an "AS10 * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or11 * implied. See the License for the specific language governing12 * rights and limitations under the License.13 *14 * Copyright (C) 2001-2002 Jan Arne Petersen <jpetersen@uni-bonn.de>15 * Copyright (C) 2001-2002 Benoit Cerrina <b.cerrina@wanadoo.fr>16 * Copyright (C) 2002 Anders Bengtsson <ndrsbngtssn@yahoo.se>17 * Copyright (C) 2004 Thomas E Enebo <enebo@acm.org>18 * Copyright (C) 2004 Charles O Nutter <headius@headius.com>19 * 20 * Alternatively, the contents of this file may be used under the terms of21 * either of the GNU General Public License Version 2 or later (the "GPL"),22 * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),23 * in which case the provisions of the GPL or the LGPL are applicable instead24 * of those above. If you wish to allow use of your version of this file only25 * under the terms of either the GPL or the LGPL, and not to allow others to26 * use your version of this file under the terms of the CPL, indicate your27 * decision by deleting the provisions above and replace them with the notice28 * and other provisions required by the GPL or the LGPL. If you do not delete29 * the provisions above, a recipient may use your version of this file under30 * the terms of any one of the CPL, the GPL or the LGPL.31 ***** END LICENSE BLOCK *****/32 package org.jruby.ast;33 34 importjava.io.IOException;35 importjava.util.List;36 37 importorg.jruby.ast.types.INameNode;38 importorg.jruby.ast.visitor.NodeVisitor;39 importorg.jruby.evaluator.Instruction;40 importorg.jruby.lexer.yacc.ISourcePosition;41 42 /**43 * RubyMethod call without any arguments44 *45 * @author jpetersen46 */47 publicclass VCallNode extendsNodeimplementsINameNode {48 staticfinallong serialVersionUID = -7678578490000574578L;49 50 privateString name;51 52 public VCallNode(ISourcePosition position, String name) {53 super(position, NodeTypes.VCALLNODE);54 this.name = name.intern();55 }56 57 privatevoid readObject(java.io.ObjectInputStream in) throwsIOException, ClassNotFoundException {58 in.defaultReadObject();59 60 // deserialized strings are not interned; intern it now61 name = name.intern();62 }63 64 /**65 * Accept for the visitor pattern.66 * @param iVisitor the visitor67 **/68 publicInstruction accept(NodeVisitor iVisitor) {69 return iVisitor.visitVCallNode(this);70 }71 72 /**73 * Gets the methodName.74 * @return Returns a String75 */76 publicString getName() {77 return name;78 }79 80 publicList childNodes() {81 return EMPTY_LIST;82 }83 84 }85