protected void Initialise(AbstractReference <T> m_ScriptableReference) { if (m_ScriptableReference != null) { m_ScriptableReference.Set(m_ObjectReference); } }
/// <summary> /// Mark the given reference reachable /// </summary> internal static void MarkReachable(this AbstractReference memberRef, IReachableContext context) { if ((memberRef != null) && (!memberRef.IsReachable)) { memberRef.SetReachable(context); } }
/// <summary> /// Walk the given member. /// </summary> internal static void Walk(ReachableContext context, AbstractReference member) { if (member == null) { return; } ClassFile classFile; FieldDefinition field; MethodDefinition method; TypeReference typeRef; if ((classFile = member as ClassFile) != null) { Walk(context, classFile); } else if ((method = member as MethodDefinition) != null) { Walk(context, method); } else if ((field = member as FieldDefinition) != null) { Walk(context, field); } else if ((typeRef = member as TypeReference) != null) { Walk(context, typeRef); } }
private void AddEdgeToExistingNode(AbstractReference reference, int column, int row) { var placedNode = _graph.Nodes.Find(x => x.Task == reference.Node.Task); _graph.Edges.Add(new PlacementEdge( @from: new Position(column, row), to: placedNode.Position, type: reference.Type )); }
/// <summary> /// Walk over the given member to marks its children reachable. /// </summary> public void Walk(AbstractReference member) { Java.ReachableWalker.Walk(this, member); }