![]() | LGSPNode Class |
Namespace: de.unika.ipd.grGen.lgsp
public abstract class LGSPNode : INode, IGraphElement, IAttributeBearer, ITyped, IDeepEqualityComparer, ICallable
The LGSPNode type exposes the following members.
Name | Description | |
---|---|---|
![]() | Incident |
Returns an IEnumerable<IEdge> over all incident edges
|
![]() | Incoming |
Returns an IEnumerable<IEdge> over all incoming edges
|
![]() | Item |
Indexer that gives access to the attributes of the graph element.
|
![]() | Outgoing |
Returns an IEnumerable<IEdge> over all outgoing edges
|
![]() | ReplacedByElement |
The element which replaced this element (Valid is false in this case)
or null, if this element has not been replaced or is still a valid member of a graph.
|
![]() | ReplacedByNode |
The node which replaced this node (Valid is false in this case)
or null, if this node has not been replaced or is still a valid member of a graph.
|
![]() | Type |
The NodeType of the node.
|
![]() | Valid |
This is true, if this node is a valid graph element, i.e. it is part of a graph.
|
Name | Description | |
---|---|---|
![]() | ApplyFunctionMethod |
Executes the function method given by its name.
Throws an exception if the method does not exists or the parameters are of wrong types.
|
![]() | ApplyProcedureMethod |
Executes the procedure method given by its name.
Throws an exception if the method does not exists or the parameters are of wrong types.
|
![]() | Clone |
Creates a shallow clone of this node.
All attributes will be transfered to the new node.
The node will not be associated to a graph, yet.
So it will not have any incident edges nor any assigned variables.
|
![]() | Copy |
Creates a deep copy of this node (i.e. (transient) class objects will be replicated).
All attributes will be transfered to the new node.
The node will not be associated to a graph, yet.
So it will not have any incident edges nor any assigned variables.
|
![]() | GetAttribute |
Returns the graph element attribute with the given attribute name.
If the graph element type doesn't have an attribute with this name, a NullReferenceException is thrown.
|
![]() | GetCompatibleIncident |
Returns an IEnumerable<IEdge> over all incident edges with the same type or a subtype of the given type
|
![]() | GetCompatibleIncoming |
Returns an IEnumerable<IEdge> over all incoming edges with the same type or a subtype of the given type
|
![]() | GetCompatibleOutgoing |
Returns an IEnumerable<IEdge> over all outgoing edges with the same type or a subtype of the given type
|
![]() | GetExactIncident |
Returns an IEnumerable<IEdge> over all incident edges with exactly the given type
|
![]() | GetExactIncoming |
Returns an IEnumerable<IEdge> over all incoming edges with exactly the given type
|
![]() | GetExactOutgoing |
Returns an IEnumerable<IEdge> over all outgoing edges with exactly the given type
|
![]() | InstanceOf |
Returns true, if the typed object is compatible to the given type.
|
![]() | IsDeeplyEqual |
Returns whether this and that are deeply equal,
which means the scalar attributes are equal, the container attributes are memberwise deeply equal, and object attributes are deeply equal.
(If types are unequal the result is false.)
Visited objects are/have to be stored in the visited objects dictionary in order to detect shortcuts and cycles.
|
![]() | MoveInHeadAfter |
Moves the head of the incoming list after the given edge.
Part of the "list trick".
|
![]() | MoveOutHeadAfter |
Moves the head of the outgoing list after the given edge.
Part of the "list trick".
|
![]() | Recycle |
Recycles this node. This may pool the node or just ignore it.
|
![]() | ResetAllAttributes |
Resets all graph element attributes to their initial values.
|
![]() | SetAttribute |
Sets the graph element attribute with the given attribute name to the given value.
If the graph element type doesn't have an attribute with this name, a NullReferenceException is thrown.
|
![]() | ToString |
Returns the name of the type of this node.
(Overrides ObjectToString.) |
Name | Description | |
---|---|---|
![]() | lgspFlags |
contains some booleans coded as bitvector
|
![]() | lgspInhead |
Entry node into the incoming edges list - not of type edge head, real edge or null
|
![]() | lgspOuthead |
Entry node into the outgoing edges list - not of type edge head, real edge or null
|
![]() | lgspType |
The node type of the node.
|
![]() | lgspTypeNext |
Next node in the list containing all the nodes of one type.
See comment for lgspTypePrev (this node has been retyped if typeNext is not null but typePrev is null).
|
![]() | lgspTypePrev |
Previous node in the list containing all the nodes of one type.
The node is not part of a graph, iff typePrev is null.
If typePrev is null and typeNext is not null, this node has been retyped and typeNext
points to the new node.
These special cases are neccessary to handle the following situations:
"delete node + return edge", "hom + delete + return", "hom + retype + return", "hom + retype + delete",
"hom + retype + delete + return".
|