add / fix some docs

git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3803 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
This commit is contained in:
msridhar1 2010-02-21 23:09:28 +00:00
parent cea1d68710
commit 9e95053a59
2 changed files with 13 additions and 3 deletions

View File

@ -28,8 +28,15 @@ import com.ibm.wala.ipa.callgraph.propagation.PropagationCallGraphBuilder;
import com.ibm.wala.types.TypeReference;
import com.ibm.wala.util.collections.HashSetFactory;
/**
* An {@link InstanceKeyFactory} that returns {@link ScopeMappingInstanceKey}s as necessary to handle interprocedural lexical
* scoping
*/
abstract public class ScopeMappingInstanceKeys implements InstanceKeyFactory {
/**
* return all {@link LexicalParent}s of methods that can be invoked on base. (Is this right? --MS)
*/
protected abstract LexicalParent[] getParents(InstanceKey base);
protected abstract boolean needsScopeMappingKey(InstanceKey base);
@ -41,11 +48,14 @@ abstract public class ScopeMappingInstanceKeys implements InstanceKeyFactory {
public class ScopeMappingInstanceKey implements InstanceKey {
private final InstanceKey base;
/**
* the node in which this is allocated
*/
private final CGNode creator;
private final ScopeMap map;
private class ScopeMap extends HashMap<String,CGNode> {
private class ScopeMap extends HashMap<String, CGNode> {
private static final long serialVersionUID = 3645910671551712906L;
@ -72,7 +82,7 @@ abstract public class ScopeMappingInstanceKeys implements InstanceKeyFactory {
put(parents[i].getName(), node);
if (AstTranslator.DEBUG_LEXICAL)
System.err.println((level + ": Adding lexical parent " + parents[i].getName() + " for " + base + " at " + creator
+ "(toDo is now " + toDo + ")"));
+ "(toDo is now " + toDo + ")"));
}
toDo--;

View File

@ -17,7 +17,7 @@ import java.util.Map;
/**
* The assumption is that abstract syntax trees pertain to particular
* programming language constructs, such as classes, methods, programs
* and the like. Thus, the expectation is that users of CAPA AST will
* and the like. Thus, the expectation is that users of CAst will
* typically be communicating such entities, and this interface is
* meant to give them a mechanism to do this.
*