From 561a2cf037993ba074ac7abfdc8899401e603c08 Mon Sep 17 00:00:00 2001 From: jjenista Date: Tue, 11 Nov 2008 05:38:34 +0000 Subject: [PATCH] add new class file --- .../OwnershipAnalysis/MethodContext.java | 74 +++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 Robust/src/Analysis/OwnershipAnalysis/MethodContext.java diff --git a/Robust/src/Analysis/OwnershipAnalysis/MethodContext.java b/Robust/src/Analysis/OwnershipAnalysis/MethodContext.java new file mode 100644 index 00000000..19d79922 --- /dev/null +++ b/Robust/src/Analysis/OwnershipAnalysis/MethodContext.java @@ -0,0 +1,74 @@ +package Analysis.OwnershipAnalysis; + +import IR.*; +import IR.Flat.*; +import java.util.*; +import java.io.*; + +public class MethodContext { + + private Descriptor descMethodOrTask; + private Set aliasedParameterIndices; + + public MethodContext( Descriptor d ) { + descMethodOrTask = d; + aliasedParameterIndices = new HashSet(); + } + + public MethodContext( Descriptor d, Set a ) { + descMethodOrTask = d; + aliasedParameterIndices = a; + } + + public boolean equals(Object o) { + if( o == null ) { + return false; + } + + if( !( o instanceof MethodContext) ) { + return false; + } + + MethodContext mc = (MethodContext) o; + + return mc.descMethodOrTask.equals( descMethodOrTask ) && + mc.aliasedParameterIndices.equals( aliasedParameterIndices ); + } + + public int hashCode() { + return descMethodOrTask.hashCode() ^ + aliasedParameterIndices.hashCode(); + } + + public Descriptor getDescriptor() { + return descMethodOrTask; + } + + public Set getAliasedParamIndices() { + return aliasedParameterIndices; + } + + + private String getAliasString() { + if( aliasedParameterIndices.isEmpty() ) { + return ""; + } + + String s = "aliased"; + Iterator i = aliasedParameterIndices.iterator(); + while( i.hasNext() ) { + s += i.next(); + if( i.hasNext() ) { + s += "a"; + } + } + + return s; + } + + public String toString() { + return descMethodOrTask.getSymbol()+ + descMethodOrTask.getNum()+ + getAliasString(); + } +} -- 2.34.1