/* Soot - a J*va Optimization Framework
* Copyright (C) 2011 Richard Xiao
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
package soot.jimple.spark.geom.geomPA;
import java.io.PrintStream;
import java.util.Set;
import java.util.Vector;
import soot.Type;
import soot.jimple.spark.geom.geomPA.CallsiteContextVar;
import soot.jimple.spark.geom.geomPA.GeomPointsTo;
import soot.jimple.spark.geom.geomPA.IVarAbstraction;
import soot.jimple.spark.geom.geomPA.IWorklist;
import soot.jimple.spark.geom.geomPA.PlainConstraint;
import soot.jimple.spark.geom.geomPA.ZArrayNumberer;
import soot.jimple.spark.pag.AllocNode;
import soot.jimple.spark.pag.Node;
/**
* It is used to represent the non-pointer variables (e.g. heap variable) in the encoded PAG.
*
* @author xiao
*
*/
public class DummyNode extends IVarAbstraction
{
public DummyNode(Node thisVarNode)
{
me = thisVarNode;
}
@Override
public boolean add_points_to_3(AllocNode obj, long I1, long I2, long L) {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean add_points_to_4(AllocNode obj, long I1, long I2, long L1,
long L2) {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean add_simple_constraint_3(IVarAbstraction qv, long I1,
long I2, long L) {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean add_simple_constraint_4(IVarAbstraction qv, long I1,
long I2, long L1, long L2) {
// TODO Auto-generated method stub
return false;
}
@Override
public void put_complex_constraint(PlainConstraint cons) {
// TODO Auto-generated method stub
}
@Override
public void reconstruct() {
// TODO Auto-generated method stub
}
@Override
public void do_before_propagation() {
// TODO Auto-generated method stub
}
@Override
public void do_after_propagation() {
// TODO Auto-generated method stub
}
@Override
public void propagate(GeomPointsTo ptAnalyzer, IWorklist worklist) {
// TODO Auto-generated method stub
}
@Override
public void drop_duplicates() {
// TODO Auto-generated method stub
}
@Override
public void remove_points_to(AllocNode obj) {
// TODO Auto-generated method stub
}
@Override
public boolean is_empty() {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean has_new_pts() {
// TODO Auto-generated method stub
return false;
}
@Override
public int num_of_diff_objs() {
// TODO Auto-generated method stub
return 0;
}
@Override
public int num_of_diff_edges() {
// TODO Auto-generated method stub
return 0;
}
@Override
public int count_pts_intervals(AllocNode obj) {
// TODO Auto-generated method stub
return 0;
}
@Override
public int count_new_pts_intervals() {
// TODO Auto-generated method stub
return 0;
}
@Override
public int count_flow_intervals(IVarAbstraction qv) {
// TODO Auto-generated method stub
return 0;
}
@Override
public boolean heap_sensitive_intersection(IVarAbstraction qv) {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean pointer_sensitive_points_to(long context, AllocNode obj) {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean pointer_interval_points_to(long l, long r, AllocNode obj) {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean test_points_to_has_types(Set<Type> types) {
// TODO Auto-generated method stub
return false;
}
@Override
public Set<AllocNode> get_all_points_to_objects() {
// TODO Auto-generated method stub
return null;
}
@Override
public int get_all_context_sensitive_objects(long l, long r,
ZArrayNumberer<CallsiteContextVar> all_objs, Vector<CallsiteContextVar> outList) {
// TODO Auto-generated method stub
return 0;
}
@Override
public void print_context_sensitive_points_to(PrintStream outPrintStream) {
// TODO Auto-generated method stub
}
@Override
public void keepPointsToOnly() {
// TODO Auto-generated method stub
}
@Override
public void injectPts() {
// TODO Auto-generated method stub
}
@Override
public boolean isDeadObject(AllocNode obj) {
// TODO Auto-generated method stub
return false;
}
}