protected override void DoRun(IT4AttributeValue element, IHighlightingConsumer consumer) { var attribute = DirectiveAttributeNavigator.GetByValue(element); if (!(DirectiveNavigator.GetByAttribute(attribute) is IT4AssemblyDirective assemblyDirective)) { return; } var path = AssemblyReferenceResolver.Resolve(assemblyDirective); if (path != null) { if (ProjectReferenceResolver.TryResolveProject(path) != null) { return; } if (path.ExistsFile) { return; } } var pathNode = assemblyDirective.GetAttributeValueToken(T4DirectiveInfoManager.Assembly.NameAttribute.Name); if (pathNode == null) { return; } consumer.AddHighlighting(new UnresolvedAssemblyError(pathNode)); }
protected override void DoRun(IT4AttributeValue element, IHighlightingConsumer consumer) { if (!CSharpLexer.IsKeyword(element.GetText())) { return; } consumer.AddHighlighting(new EscapedKeywordWarning(element)); }
protected override void DoRun(IT4AttributeValue element, IHighlightingConsumer consumer) { if (element.GetText() != "VB") { return; } consumer.AddHighlighting(new NoSupportForVBWarning(element)); }
protected override void DoRun(IT4AttributeValue element, IHighlightingConsumer consumer) { var elementStart = element.GetDocumentStartOffset(); string text = element.GetText(); for (int index = 0; index < text.Length; index++) { if (IsLegal(text[index])) { continue; } var range = new DocumentRange(elementStart + index, elementStart + index + 1); var highlighting = new IllegalCharacterError(element, range); consumer.AddHighlighting(highlighting); } }
protected override void DoRun(IT4AttributeValue element, IHighlightingConsumer consumer) { var attribute = DirectiveAttributeNavigator.GetByValue(element); if (!(DirectiveNavigator.GetByAttribute(attribute) is IT4AssemblyDirective assemblyDirective)) { return; } var project = ProjectReferenceResolver.TryResolveProject(assemblyDirective.Path.ResolvePath()); if (project != null) { return; } var path = AssemblyReferenceResolver.Resolve(assemblyDirective); if (path != null && path.ExistsFile) { return; } consumer.AddHighlighting(new UnresolvedAssemblyWarning(assemblyDirective.Name)); }
protected abstract void DoRun( [NotNull] IT4AttributeValue element, [NotNull] IHighlightingConsumer consumer);