public void Add(IMethodSymbol symbol, Task task) { var existent = tasksByName.Find(task.FullName); if (existent != null) { throw DuplicateTaskException.Create(existent, task); } tasksBySymbol.Add(symbol, task); tasksByName.Add(task.FullName, task); }
public void Add(IMethodSymbol symbol, Task task) { var existent = tasksByName.Find(task.FullName); if (existent != null) { throw DuplicateTaskException.Create(existent, task); } var method = (MethodDeclarationSyntax)symbol.DeclaringSyntaxReferences.First().GetSyntax(); tasksBySyntax.Add(method, task); tasksBySymbol.Add(symbol, task); tasksByName.Add(task.FullName, task); }
public override void VisitMethodDeclaration(MethodDeclarationSyntax node) { var isTask = IsTask(node); var isStep = IsStep(node); if (!isTask && !isStep) { return; } var task = new TaskDeclaration(string.Join(".", scope.Reverse()), node, isStep); if (tasks.ContainsKey(task.FullName)) { throw DuplicateTaskException.Create(tasks[task.FullName], task); } tasks.Add(task.FullName, task); }