org.eclipse.imp.pdb.facts.impl.fast
Class Node
java.lang.Object
org.eclipse.imp.pdb.facts.impl.fast.Node
- All Implemented Interfaces:
- java.lang.Iterable<org.eclipse.imp.pdb.facts.IValue>, org.eclipse.imp.pdb.facts.INode, org.eclipse.imp.pdb.facts.IValue
- Direct Known Subclasses:
- AnnotatedNode, SharedNode
public class Node
- extends java.lang.Object
- implements org.eclipse.imp.pdb.facts.INode
Implementation of INode.
- Author:
- Arnold Lankamp
|
Field Summary |
protected org.eclipse.imp.pdb.facts.IValue[] |
children
|
protected java.lang.String |
name
|
protected static org.eclipse.imp.pdb.facts.type.Type |
NODE_TYPE
|
|
Constructor Summary |
protected |
Node(java.lang.String name,
org.eclipse.imp.pdb.facts.IValue[] children)
|
|
Method Summary |
|
accept(org.eclipse.imp.pdb.facts.visitors.IValueVisitor<T> v)
|
int |
arity()
|
boolean |
equals(java.lang.Object o)
|
org.eclipse.imp.pdb.facts.IValue |
get(int i)
|
org.eclipse.imp.pdb.facts.IValue |
getAnnotation(java.lang.String label)
|
java.util.Map<java.lang.String,org.eclipse.imp.pdb.facts.IValue> |
getAnnotations()
|
java.lang.Iterable<org.eclipse.imp.pdb.facts.IValue> |
getChildren()
|
java.lang.String |
getName()
|
protected ShareableHashMap<java.lang.String,org.eclipse.imp.pdb.facts.IValue> |
getSetAnnotations(java.util.Map<java.lang.String,org.eclipse.imp.pdb.facts.IValue> newAnnos)
|
org.eclipse.imp.pdb.facts.type.Type |
getType()
|
protected ShareableHashMap<java.lang.String,org.eclipse.imp.pdb.facts.IValue> |
getUpdatedAnnotations(java.util.Map<java.lang.String,org.eclipse.imp.pdb.facts.IValue> newAnnos)
|
protected ShareableHashMap<java.lang.String,org.eclipse.imp.pdb.facts.IValue> |
getUpdatedAnnotations(java.lang.String label)
|
protected ShareableHashMap<java.lang.String,org.eclipse.imp.pdb.facts.IValue> |
getUpdatedAnnotations(java.lang.String label,
org.eclipse.imp.pdb.facts.IValue value)
|
boolean |
hasAnnotation(java.lang.String label)
|
boolean |
hasAnnotations()
|
int |
hashCode()
|
boolean |
isEqual(org.eclipse.imp.pdb.facts.IValue value)
|
java.util.Iterator<org.eclipse.imp.pdb.facts.IValue> |
iterator()
|
org.eclipse.imp.pdb.facts.INode |
joinAnnotations(java.util.Map<java.lang.String,org.eclipse.imp.pdb.facts.IValue> newAnnos)
|
org.eclipse.imp.pdb.facts.INode |
removeAnnotation(java.lang.String label)
|
org.eclipse.imp.pdb.facts.INode |
removeAnnotations()
|
org.eclipse.imp.pdb.facts.INode |
set(int i,
org.eclipse.imp.pdb.facts.IValue arg)
|
org.eclipse.imp.pdb.facts.INode |
setAnnotation(java.lang.String label,
org.eclipse.imp.pdb.facts.IValue value)
|
org.eclipse.imp.pdb.facts.INode |
setAnnotations(java.util.Map<java.lang.String,org.eclipse.imp.pdb.facts.IValue> newAnnos)
|
java.lang.String |
toString()
|
| Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
NODE_TYPE
protected static final org.eclipse.imp.pdb.facts.type.Type NODE_TYPE
name
protected final java.lang.String name
children
protected final org.eclipse.imp.pdb.facts.IValue[] children
Node
protected Node(java.lang.String name,
org.eclipse.imp.pdb.facts.IValue[] children)
getType
public org.eclipse.imp.pdb.facts.type.Type getType()
- Specified by:
getType in interface org.eclipse.imp.pdb.facts.IValue
arity
public int arity()
- Specified by:
arity in interface org.eclipse.imp.pdb.facts.INode
get
public org.eclipse.imp.pdb.facts.IValue get(int i)
- Specified by:
get in interface org.eclipse.imp.pdb.facts.INode
getName
public java.lang.String getName()
- Specified by:
getName in interface org.eclipse.imp.pdb.facts.INode
iterator
public java.util.Iterator<org.eclipse.imp.pdb.facts.IValue> iterator()
- Specified by:
iterator in interface java.lang.Iterable<org.eclipse.imp.pdb.facts.IValue>- Specified by:
iterator in interface org.eclipse.imp.pdb.facts.INode
getChildren
public java.lang.Iterable<org.eclipse.imp.pdb.facts.IValue> getChildren()
- Specified by:
getChildren in interface org.eclipse.imp.pdb.facts.INode
set
public org.eclipse.imp.pdb.facts.INode set(int i,
org.eclipse.imp.pdb.facts.IValue arg)
- Specified by:
set in interface org.eclipse.imp.pdb.facts.INode
accept
public <T> T accept(org.eclipse.imp.pdb.facts.visitors.IValueVisitor<T> v)
throws org.eclipse.imp.pdb.facts.visitors.VisitorException
- Specified by:
accept in interface org.eclipse.imp.pdb.facts.IValue
- Throws:
org.eclipse.imp.pdb.facts.visitors.VisitorException
hasAnnotation
public boolean hasAnnotation(java.lang.String label)
- Specified by:
hasAnnotation in interface org.eclipse.imp.pdb.facts.INode
hasAnnotations
public boolean hasAnnotations()
- Specified by:
hasAnnotations in interface org.eclipse.imp.pdb.facts.INode
getAnnotation
public org.eclipse.imp.pdb.facts.IValue getAnnotation(java.lang.String label)
- Specified by:
getAnnotation in interface org.eclipse.imp.pdb.facts.INode
getAnnotations
public java.util.Map<java.lang.String,org.eclipse.imp.pdb.facts.IValue> getAnnotations()
- Specified by:
getAnnotations in interface org.eclipse.imp.pdb.facts.INode
setAnnotation
public org.eclipse.imp.pdb.facts.INode setAnnotation(java.lang.String label,
org.eclipse.imp.pdb.facts.IValue value)
- Specified by:
setAnnotation in interface org.eclipse.imp.pdb.facts.INode
setAnnotations
public org.eclipse.imp.pdb.facts.INode setAnnotations(java.util.Map<java.lang.String,org.eclipse.imp.pdb.facts.IValue> newAnnos)
- Specified by:
setAnnotations in interface org.eclipse.imp.pdb.facts.INode
joinAnnotations
public org.eclipse.imp.pdb.facts.INode joinAnnotations(java.util.Map<java.lang.String,org.eclipse.imp.pdb.facts.IValue> newAnnos)
- Specified by:
joinAnnotations in interface org.eclipse.imp.pdb.facts.INode
removeAnnotation
public org.eclipse.imp.pdb.facts.INode removeAnnotation(java.lang.String label)
- Specified by:
removeAnnotation in interface org.eclipse.imp.pdb.facts.INode
removeAnnotations
public org.eclipse.imp.pdb.facts.INode removeAnnotations()
- Specified by:
removeAnnotations in interface org.eclipse.imp.pdb.facts.INode
getUpdatedAnnotations
protected ShareableHashMap<java.lang.String,org.eclipse.imp.pdb.facts.IValue> getUpdatedAnnotations(java.lang.String label,
org.eclipse.imp.pdb.facts.IValue value)
getUpdatedAnnotations
protected ShareableHashMap<java.lang.String,org.eclipse.imp.pdb.facts.IValue> getUpdatedAnnotations(java.lang.String label)
getUpdatedAnnotations
protected ShareableHashMap<java.lang.String,org.eclipse.imp.pdb.facts.IValue> getUpdatedAnnotations(java.util.Map<java.lang.String,org.eclipse.imp.pdb.facts.IValue> newAnnos)
getSetAnnotations
protected ShareableHashMap<java.lang.String,org.eclipse.imp.pdb.facts.IValue> getSetAnnotations(java.util.Map<java.lang.String,org.eclipse.imp.pdb.facts.IValue> newAnnos)
hashCode
public int hashCode()
- Overrides:
hashCode in class java.lang.Object
equals
public boolean equals(java.lang.Object o)
- Specified by:
equals in interface org.eclipse.imp.pdb.facts.IValue- Overrides:
equals in class java.lang.Object
isEqual
public boolean isEqual(org.eclipse.imp.pdb.facts.IValue value)
- Specified by:
isEqual in interface org.eclipse.imp.pdb.facts.IValue
toString
public java.lang.String toString()
- Specified by:
toString in interface org.eclipse.imp.pdb.facts.IValue- Overrides:
toString in class java.lang.Object