public static class MarkupDiagnosticsStable descriptors for everything VXML can complain about. VXML1xxx is syntax — what the lexer and parser report — and VXML2xxx is binding, which is everything structural the parser was happy to accept.
No guide page documents this yet — the page shows what the code says about itself.
Remarks
There is deliberately no VXML3xxx range for type errors. Expressions reach the generated C# verbatim under a #line, so a mistyped one is reported by Roslyn against the .vxml line — a second, worse typechecker is exactly what this design exists to avoid.
Fields and properties (32)
public static readonly DiagnosticDescriptor SyntaxErrorThe token stream did not match the grammar.
public static readonly DiagnosticDescriptor UnclosedElementAn element was opened and the file ended, or an ancestor closed, before it did.
public static readonly DiagnosticDescriptor MismatchedEndTagA closing tag named something other than the element it closed.
public static readonly DiagnosticDescriptor ExpectedExpressionAn @ was followed by something that cannot start an expression.
public static readonly DiagnosticDescriptor UnbalancedDelimiterA brace, paren or bracket run reached the end of the file unbalanced.
public static readonly DiagnosticDescriptor UnclosedStyleBlockA <style> block reached the end of the file without </style>.
public static readonly DiagnosticDescriptor EmptyOutsideLoopAn @empty arm that no @for body ended just before.
public static readonly DiagnosticDescriptor MissingComponentDirectiveThe file has no @component header, so there is nothing to name the class.
public static readonly DiagnosticDescriptor DuplicateAttributeThe same attribute was written twice on one tag.
public static readonly DiagnosticDescriptor ExpectedExpressionValueAn event or binding attribute was given a literal instead of an expression.
public static readonly DiagnosticDescriptor MissingKeyAn element inside an @for body carries no key.
public static readonly DiagnosticDescriptor DuplicateSlotTwo <slot>s claimed the same name.
public static readonly DiagnosticDescriptor UnknownAttributeDirectiveAn attribute used a directive prefix VXML does not define.
public static readonly DiagnosticDescriptor UnknownEventModifierAn event binding carried a modifier that means nothing.
public static readonly DiagnosticDescriptor InvalidParameterNameA component parameter's name could not be a C# identifier.
public static readonly DiagnosticDescriptor EmptyComponentContent was found where a single root element was expected.
public static readonly DiagnosticDescriptor RefInLoopA ref was written inside an @for body.
public static readonly DiagnosticDescriptor ProjectedKeyAn @for key reads a member of the loop variable rather than the variable.
public static readonly DiagnosticDescriptor NamedSlotOnElementA named <slot> in a file that declared @inherits.
public static readonly DiagnosticDescriptor RefsOutsideLoopA refs was written outside an @for body.
public static readonly DiagnosticDescriptor TagOnElementA tag attribute on a lowercase tag.
public static readonly DiagnosticDescriptor MisplacedSelf<self /> somewhere other than the component's top level.
public static readonly DiagnosticDescriptor MisplacedSlotAttributeslot="…" on something that is not a direct child of a capitalised tag.
public static readonly DiagnosticDescriptor SlotFallbackContentContent written inside a <slot>, which nothing would ever draw.
public static readonly DiagnosticDescriptor DynamicSlotNameA slot attribute whose value is an expression rather than one name.
public static readonly DiagnosticDescriptor AliasedStaticImportAn @using static was also given an alias, which C# has no spelling for.
public static readonly DiagnosticDescriptor InertElementAttributeA capitalised attribute on a lowercase tag, which sets no property.
public static readonly DiagnosticDescriptor IncompleteProvideA <provide> missing the half that makes it mean anything.
public static readonly DiagnosticDescriptor InterpolatedProvideTypeA <provide type> written as an expression rather than as a type name.
public static readonly DiagnosticDescriptor ProvideContentA <provide> written with children, which nothing would build.
public static readonly DiagnosticDescriptor ExitOutsideLoopAn exit was written outside an @for body.
public static readonly DiagnosticDescriptor InvalidExitDurationAn exit whose value is not a duration.
Used by (3)
- BinderVixen.Ui.Markup
- VxmlLexerVixen.Ui.Markup
- VxmlParserVixen.Ui.Markup