1 /* Soot - a J*va Optimization Framework 2 * Copyright (C) 1999 Patrick Lam 3 * 4 * This library is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU Lesser General Public 6 * License as published by the Free Software Foundation; either 7 * version 2.1 of the License, or (at your option) any later version. 8 * 9 * This library is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 * Lesser General Public License for more details. 13 * 14 * You should have received a copy of the GNU Lesser General Public 15 * License along with this library; if not, write to the 16 * Free Software Foundation, Inc., 59 Temple Place - Suite 330, 17 * Boston, MA 02111-1307, USA. 18 */ 19 20 /* 21 * Modified by the Sable Research Group and others 1997-1999. 22 * See the 'credits' file distributed with Soot for the complete list of 23 * contributors. (Soot is distributed at http://www.sable.mcgill.ca/soot) 24 */ 25 package org.kit.furia.fragment.soot.representation.internal; 26 27 import soot.*; 28 import org.kit.furia.fragment.soot.representation.*; 29 import soot.jimple.internal.*; 30 import java.util.*; 31 32 public class FInstanceOfExpr extends AbstractInstanceOfExpr implements Qable, SpecialConstructContainer 33 { 34 /** 35 * 36 */ 37 private static final long serialVersionUID = -4599175706033830077L; 38 39 public FInstanceOfExpr(Value op, Type checkType) 40 { 41 super(Frimp.v().newObjExprBox(op), checkType); 42 } 43 44 public Object clone() // NOPMD by amuller on 11/16/06 4:12 PM 45 { 46 return new FInstanceOfExpr(Frimp.cloneIfNecessary(getOp()), getCheckType()); 47 } 48 49 50 public String toQ() throws Exception { 51 52 return FuriaConstructDefinitions.FURIA_finstanceof + "(" + Frimp.toQ(getOp()) + "," + Frimp.toQ(getCheckType()) + ")"; 53 } 54 55 public List getContainedSpecialConstructs() { 56 List res = new LinkedList(); 57 res.add(getCheckType()); 58 return res; 59 } 60 61 62 63 } 64