public IRelatedNodeItemViewModel Create(IModelNode modelNode)
        {
            var symbol = (ISymbol)modelNode.Payload;

            return(new RelatedNodeItemViewModel(
                       modelNode.Id,
                       _roslynSymbolTranslator.GetName(symbol),
                       _roslynSymbolTranslator.GetFullName(symbol),
                       _roslynSymbolTranslator.GetStereotype(symbol),
                       _roslynSymbolTranslator.GetIsStatic(symbol)));
        }
Пример #2
0
 private IModelNode GetOrAddNode([NotNull] ISymbol symbol)
 {
     using (_asyncLock.Lock())
     {
         return(_modelService.LatestModel.TryGetNodeByPayload(symbol).Match(
                    some => some,
                    () => _modelService.AddNode(
                        _roslynSymbolTranslator.GetName(symbol),
                        _roslynSymbolTranslator.GetStereotype(symbol),
                        symbol)));
     }
 }