00001 package gov.nasa.arc.ase.jpf.jvm.runtime;
00002
00003 import gov.nasa.arc.ase.jpf.*;
00004 import gov.nasa.arc.ase.jpf.jvm.*;
00005 import java.util.*;
00006 import gov.nasa.arc.ase.util.Debug;
00007
00008 public class LockAccessList{
00009
00010 private List access_list = new ArrayList();
00011
00012
00013 public void addCallChain(ThreadInfo thread){
00014 LockAccess access = new LockAccess(thread);
00015 access_list.add(access);
00016
00017 int idx = thread.depth();
00018 while(idx > 0) {
00019 idx--;
00020
00021 access.addCall(
00022 thread.getCurrentClass(idx).getClassName(),
00023 thread.getCurrentMethod(idx).getMethodName(),
00024 thread.getCurrentLine(idx));
00025 }
00026 }
00027 public void print(){
00028 Iterator access_list_it = access_list.iterator();
00029 while (access_list_it.hasNext())
00030 ((LockAccess)access_list_it.next()).print();
00031 }
00032 }