Skip to main content

DiagnosticBuilder

Struct DiagnosticBuilder 

Source
pub struct DiagnosticBuilder<'a> { /* private fields */ }
Expand description

Builder for creating type error diagnostics.

Implementations§

Source§

impl<'a> DiagnosticBuilder<'a>

Source

pub fn new(interner: &'a dyn TypeDatabase) -> Self

Source

pub fn with_symbols( interner: &'a dyn TypeDatabase, symbol_arena: &'a SymbolArena, ) -> Self

Create a diagnostic builder with access to symbol names.

This prevents “Ref(N)” fallback strings in diagnostic messages by resolving symbol references to their actual names.

Source

pub fn with_def_store(self, def_store: &'a DefinitionStore) -> Self

Create a diagnostic builder with access to definition store.

This prevents “Lazy(N)” fallback strings in diagnostic messages by resolving DefIds to their type names.

Source

pub fn type_not_assignable( &mut self, source: TypeId, target: TypeId, ) -> TypeDiagnostic

Create a “Type X is not assignable to type Y” diagnostic.

Source

pub fn property_missing( &mut self, prop_name: &str, source: TypeId, target: TypeId, ) -> TypeDiagnostic

Create a “Property X is missing in type Y” diagnostic.

Source

pub fn property_not_exist( &mut self, prop_name: &str, type_id: TypeId, ) -> TypeDiagnostic

Create a “Property X does not exist on type Y” diagnostic.

Source

pub fn property_not_exist_did_you_mean( &mut self, prop_name: &str, type_id: TypeId, suggestion: &str, ) -> TypeDiagnostic

Create a “Property X does not exist on type Y. Did you mean Z?” diagnostic (TS2551).

Source

pub fn argument_not_assignable( &mut self, arg_type: TypeId, param_type: TypeId, ) -> TypeDiagnostic

Create an “Argument not assignable” diagnostic.

Source

pub fn cannot_find_name(&mut self, name: &str) -> TypeDiagnostic

Create a “Cannot find name” diagnostic.

Source

pub fn not_callable(&mut self, type_id: TypeId) -> TypeDiagnostic

Create a “Type X is not callable” diagnostic.

Source

pub fn this_type_mismatch( &mut self, expected_this: TypeId, actual_this: TypeId, ) -> TypeDiagnostic

Source

pub fn argument_count_mismatch( &mut self, expected: usize, got: usize, ) -> TypeDiagnostic

Create an “Expected N arguments but got M” diagnostic.

Source

pub fn readonly_property(&mut self, prop_name: &str) -> TypeDiagnostic

Create a “Cannot assign to readonly property” diagnostic.

Source

pub fn excess_property( &mut self, prop_name: &str, target: TypeId, ) -> TypeDiagnostic

Create an “Excess property” diagnostic.

Source

pub fn implicit_any_parameter(&mut self, param_name: &str) -> TypeDiagnostic

Create a “Parameter implicitly has an ‘any’ type” diagnostic (TS7006).

Source

pub fn implicit_any_parameter_with_type( &mut self, param_name: &str, implicit_type: TypeId, ) -> TypeDiagnostic

Create a “Parameter implicitly has a specific type” diagnostic (TS7006 variant).

Source

pub fn implicit_any_member(&mut self, member_name: &str) -> TypeDiagnostic

Create a “Member implicitly has an ‘any’ type” diagnostic (TS7008).

Source

pub fn implicit_any_variable( &mut self, var_name: &str, var_type: TypeId, ) -> TypeDiagnostic

Create a “Variable implicitly has an ‘any’ type” diagnostic (TS7005).

Source

pub fn implicit_any_return( &mut self, func_name: &str, return_type: TypeId, ) -> TypeDiagnostic

Create an “implicitly has an ‘any’ return type” diagnostic (TS7010).

Source

pub fn implicit_any_return_function_expression( &mut self, return_type: TypeId, ) -> TypeDiagnostic

Create a “Function expression implicitly has an ‘any’ return type” diagnostic (TS7011).

Auto Trait Implementations§

§

impl<'a> Freeze for DiagnosticBuilder<'a>

§

impl<'a> !RefUnwindSafe for DiagnosticBuilder<'a>

§

impl<'a> !Send for DiagnosticBuilder<'a>

§

impl<'a> !Sync for DiagnosticBuilder<'a>

§

impl<'a> Unpin for DiagnosticBuilder<'a>

§

impl<'a> UnsafeUnpin for DiagnosticBuilder<'a>

§

impl<'a> !UnwindSafe for DiagnosticBuilder<'a>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<S, T> Upcast<T> for S
where T: UpcastFrom<S> + ?Sized, S: ?Sized,

Source§

fn upcast(&self) -> &T
where Self: ErasableGeneric, T: ErasableGeneric<Repr = Self::Repr>,

Perform a zero-cost type-safe upcast to a wider ref type within the Wasm bindgen generics type system. Read more
Source§

fn upcast_into(self) -> T
where Self: Sized + ErasableGeneric, T: ErasableGeneric<Repr = Self::Repr>,

Perform a zero-cost type-safe upcast to a wider type within the Wasm bindgen generics type system. Read more
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more