The Meta-Environment API

org.meta_environment.rascal.eclipse.library.jdt
Class JDTImporter

java.lang.Object
  extended by org.eclipse.jdt.core.dom.ASTVisitor
      extended by org.meta_environment.rascal.eclipse.library.jdt.JDTImporter

public class JDTImporter
extends org.eclipse.jdt.core.dom.ASTVisitor


Field Summary
private  BindingConverter bindingCache
           
private static org.eclipse.imp.pdb.facts.type.Type bindingTupleType
           
private  org.eclipse.imp.pdb.facts.IRelationWriter calls
           
private  org.eclipse.imp.pdb.facts.IRelationWriter constructorBindings
           
private  org.eclipse.imp.pdb.facts.IRelationWriter declaredFields
           
private  org.eclipse.imp.pdb.facts.IRelationWriter declaredMethods
           
private  org.eclipse.imp.pdb.facts.IRelationWriter declaredSubTypes
           
private  org.eclipse.imp.pdb.facts.ISetWriter declaredTopTypes
           
private static org.eclipse.imp.pdb.facts.type.Type entityTupleType
           
private  org.eclipse.imp.pdb.facts.IRelationWriter extnds
           
private  org.eclipse.imp.pdb.facts.IRelationWriter fieldBindings
           
private  org.eclipse.core.resources.IFile file
           
private  org.eclipse.imp.pdb.facts.IRelationWriter implmnts
           
private  org.eclipse.imp.pdb.facts.ISourceLocation loc
           
private static org.eclipse.imp.pdb.facts.type.Type locType
           
private  org.eclipse.imp.pdb.facts.IRelationWriter methodBindings
           
private  org.eclipse.imp.pdb.facts.IRelationWriter modifiers
           
private static org.eclipse.imp.pdb.facts.type.Type modifierTupleType
           
private  org.eclipse.imp.pdb.facts.IRelationWriter packageBindings
           
private  java.util.Stack<org.eclipse.jdt.core.dom.ASTNode> scopeStack
           
protected static org.eclipse.imp.pdb.facts.type.TypeFactory TF
           
private  org.eclipse.imp.pdb.facts.IRelationWriter typeBindings
           
private  java.util.Stack<org.eclipse.jdt.core.dom.ITypeBinding> typeStack
           
private  org.eclipse.imp.pdb.facts.IRelationWriter variableBindings
           
protected static org.eclipse.imp.pdb.facts.IValueFactory VF
           
 
Constructor Summary
JDTImporter()
           
 
Method Summary
private  void addBinding(org.eclipse.imp.pdb.facts.IRelationWriter rw, org.eclipse.jdt.core.dom.ASTNode n, org.eclipse.imp.pdb.facts.IValue entity)
           
private  org.eclipse.jdt.core.dom.ITypeBinding getBindingOfTypeScope(org.eclipse.jdt.core.dom.ASTNode n)
           
private  org.eclipse.imp.pdb.facts.IValue getEntityOfMethodScope(org.eclipse.jdt.core.dom.ASTNode n)
           
private  void importBindingInfo(org.eclipse.jdt.core.dom.ASTNode n)
           
private  void importCalls(org.eclipse.jdt.core.dom.ASTNode n)
           
 java.util.Map<java.lang.String,org.eclipse.imp.pdb.facts.IValue> importFacts(org.eclipse.imp.pdb.facts.ISourceLocation loc, org.eclipse.core.resources.IFile file)
           
private  void importTypeInfo(org.eclipse.jdt.core.dom.ASTNode n)
           
private  void importTypeInfo(org.eclipse.jdt.core.dom.ITypeBinding tb)
           
private  void manageStacks(org.eclipse.jdt.core.dom.ASTNode n, boolean push)
           
 void postVisit(org.eclipse.jdt.core.dom.ASTNode n)
           
 void preVisit(org.eclipse.jdt.core.dom.ASTNode n)
           
private  void visitCompilationUnit()
           
 
Methods inherited from class org.eclipse.jdt.core.dom.ASTVisitor
endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

VF

protected static final org.eclipse.imp.pdb.facts.IValueFactory VF

TF

protected static final org.eclipse.imp.pdb.facts.type.TypeFactory TF

bindingCache

private BindingConverter bindingCache

typeStack

private java.util.Stack<org.eclipse.jdt.core.dom.ITypeBinding> typeStack

scopeStack

private java.util.Stack<org.eclipse.jdt.core.dom.ASTNode> scopeStack

file

private org.eclipse.core.resources.IFile file

loc

private org.eclipse.imp.pdb.facts.ISourceLocation loc

locType

private static final org.eclipse.imp.pdb.facts.type.Type locType

bindingTupleType

private static final org.eclipse.imp.pdb.facts.type.Type bindingTupleType

typeBindings

private org.eclipse.imp.pdb.facts.IRelationWriter typeBindings

methodBindings

private org.eclipse.imp.pdb.facts.IRelationWriter methodBindings

constructorBindings

private org.eclipse.imp.pdb.facts.IRelationWriter constructorBindings

fieldBindings

private org.eclipse.imp.pdb.facts.IRelationWriter fieldBindings

variableBindings

private org.eclipse.imp.pdb.facts.IRelationWriter variableBindings

packageBindings

private org.eclipse.imp.pdb.facts.IRelationWriter packageBindings

entityTupleType

private static final org.eclipse.imp.pdb.facts.type.Type entityTupleType

modifierTupleType

private static final org.eclipse.imp.pdb.facts.type.Type modifierTupleType

extnds

private org.eclipse.imp.pdb.facts.IRelationWriter extnds

implmnts

private org.eclipse.imp.pdb.facts.IRelationWriter implmnts

declaredMethods

private org.eclipse.imp.pdb.facts.IRelationWriter declaredMethods

declaredFields

private org.eclipse.imp.pdb.facts.IRelationWriter declaredFields

declaredSubTypes

private org.eclipse.imp.pdb.facts.IRelationWriter declaredSubTypes

declaredTopTypes

private org.eclipse.imp.pdb.facts.ISetWriter declaredTopTypes

calls

private org.eclipse.imp.pdb.facts.IRelationWriter calls

modifiers

private org.eclipse.imp.pdb.facts.IRelationWriter modifiers
Constructor Detail

JDTImporter

public JDTImporter()
Method Detail

importFacts

public java.util.Map<java.lang.String,org.eclipse.imp.pdb.facts.IValue> importFacts(org.eclipse.imp.pdb.facts.ISourceLocation loc,
                                                                                    org.eclipse.core.resources.IFile file)

visitCompilationUnit

private void visitCompilationUnit()

preVisit

public void preVisit(org.eclipse.jdt.core.dom.ASTNode n)
Overrides:
preVisit in class org.eclipse.jdt.core.dom.ASTVisitor

postVisit

public void postVisit(org.eclipse.jdt.core.dom.ASTNode n)
Overrides:
postVisit in class org.eclipse.jdt.core.dom.ASTVisitor

manageStacks

private void manageStacks(org.eclipse.jdt.core.dom.ASTNode n,
                          boolean push)

getBindingOfTypeScope

private org.eclipse.jdt.core.dom.ITypeBinding getBindingOfTypeScope(org.eclipse.jdt.core.dom.ASTNode n)

getEntityOfMethodScope

private org.eclipse.imp.pdb.facts.IValue getEntityOfMethodScope(org.eclipse.jdt.core.dom.ASTNode n)

importBindingInfo

private void importBindingInfo(org.eclipse.jdt.core.dom.ASTNode n)

importTypeInfo

private void importTypeInfo(org.eclipse.jdt.core.dom.ASTNode n)

importTypeInfo

private void importTypeInfo(org.eclipse.jdt.core.dom.ITypeBinding tb)

importCalls

private void importCalls(org.eclipse.jdt.core.dom.ASTNode n)

addBinding

private void addBinding(org.eclipse.imp.pdb.facts.IRelationWriter rw,
                        org.eclipse.jdt.core.dom.ASTNode n,
                        org.eclipse.imp.pdb.facts.IValue entity)

The Meta-Environment API