KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > soot > jimple > toolkits > callgraph > ContextSensitiveEdge


1 /* Soot - a J*va Optimization Framework
2  * Copyright (C) 2005 Ondrej Lhotak
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 package soot.jimple.toolkits.callgraph;
21 import soot.*;
22 import soot.jimple.*;
23
24 /** Represents a single context-sensitive edge in a call graph.
25  * @author Ondrej Lhotak
26  */

27 public interface ContextSensitiveEdge
28 {
29     /** The context at the source of the call.
30      */

31     public Context srcCtxt();
32
33     /** The method in which the call occurs; may be null for calls not
34      * occurring in a specific method (eg. implicit calls by the VM)
35      */

36     public SootMethod src();
37
38     /** The unit at which the call occurs; may be null for calls not
39      * occurring at a specific statement (eg. calls in native code)
40      */

41     public Unit srcUnit();
42     public Stmt srcStmt();
43     
44     /** The context at the target of the call.
45      */

46     public Context tgtCtxt();
47
48     /** The target method of the call edge. */
49     public SootMethod tgt();
50
51     /** The kind of edge. Note: kind should not be tested by other classes;
52      * instead, accessors such as isExplicit() should be added.
53      **/

54     public Kind kind();
55 }
56
57
Popular Tags