1 /* 2 * Javassist, a Java-bytecode translator toolkit. 3 * Copyright (C) 1999- Shigeru Chiba. All Rights Reserved. 4 * 5 * The contents of this file are subject to the Mozilla Public License Version 6 * 1.1 (the "License"); you may not use this file except in compliance with 7 * the License. Alternatively, the contents of this file may be used under 8 * the terms of the GNU Lesser General Public License Version 2.1 or later, 9 * or the Apache License Version 2.0. 10 * 11 * Software distributed under the License is distributed on an "AS IS" basis, 12 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License 13 * for the specific language governing rights and limitations under the 14 * License. 15 */ 16 17 package javassist.compiler.ast; 18 19 import javassist.compiler.CompileError; 20 import javassist.compiler.MemberResolver; 21 import javassist.compiler.TokenId; 22 23 /** 24 * Method call expression. 25 */ 26 public class CallExpr extends Expr { 27 /** default serialVersionUID */ 28 private static final long serialVersionUID = 1L; 29 private MemberResolver.Method method; // cached result of lookupMethod() 30 CallExpr(ASTree _head, ASTList _tail)31 private CallExpr(ASTree _head, ASTList _tail) { 32 super(TokenId.CALL, _head, _tail); 33 method = null; 34 } 35 setMethod(MemberResolver.Method m)36 public void setMethod(MemberResolver.Method m) { 37 method = m; 38 } 39 getMethod()40 public MemberResolver.Method getMethod() { 41 return method; 42 } 43 makeCall(ASTree target, ASTree args)44 public static CallExpr makeCall(ASTree target, ASTree args) { 45 return new CallExpr(target, new ASTList(args)); 46 } 47 48 @Override accept(Visitor v)49 public void accept(Visitor v) throws CompileError { v.atCallExpr(this); } 50 } 51