private void AddRelationshipIfNotExists(RelatedSymbolPair relatedSymbolPair) { var sourceNode = CurrentRoslynModel.GetNodeBySymbol(relatedSymbolPair.SourceSymbol); var targetNode = CurrentRoslynModel.GetNodeBySymbol(relatedSymbolPair.TargetSymbol); if (CurrentRoslynModel.RelationshipExists(sourceNode, targetNode, relatedSymbolPair.Stereotype)) { return; } var newRelationship = RoslynModelItemFactory.CreateRoslynRelationship(sourceNode, targetNode, relatedSymbolPair.Stereotype); AddRelationship(newRelationship); }
private IRoslynModelNode GetOrAddNode(ISymbol symbol, IIncrementalProgress progress = null) { progress?.Report(1); var node = CurrentRoslynModel.GetNodeBySymbol(symbol); if (node != null) { return(node); } var newNode = RoslynModelItemFactory.CreateModelNode(symbol); AddNode(newNode); return(newNode); }