pub struct LspWsFile(/* private fields */);Expand description
Per-file php-lsp input on the converged db: pairs mir’s shared SourceFile
(the text source of truth) with the optional warm-start cached_index
(a FileIndex loaded from the on-disk cache). file_index keys on this so
the cached fast-path survives the merge; an edit updates source’s text and
clears cached_index, both invalidating file_index.
Implementations§
Source§impl LspWsFile
impl LspWsFile
pub fn ingredient(db: &dyn Database) -> &IngredientImpl<Self>
pub fn ingredient_mut( zalsa_mut: &mut Zalsa, ) -> (&mut IngredientImpl<Self>, &mut Runtime)
Source§impl LspWsFile
impl LspWsFile
pub fn new<Db_>( db: &Db_, source: SourceFile, cached_index: Option<Arc<FileIndex>>, ) -> Self
pub fn builder( source: SourceFile, cached_index: Option<Arc<FileIndex>>, ) -> <Self as HasBuilder>::Builder
pub fn source<'db, Db_>(self, db: &'db Db_) -> &'db SourceFile
pub fn cached_index<'db, Db_>(self, db: &'db Db_) -> &'db Option<Arc<FileIndex>>
pub fn set_source<'db, Db_>( self, db: &'db mut Db_, ) -> impl Setter<FieldTy = SourceFile>
pub fn set_cached_index<'db, Db_>( self, db: &'db mut Db_, ) -> impl Setter<FieldTy = Option<Arc<FileIndex>>>
Trait Implementations§
Source§impl Configuration for LspWsFile
impl Configuration for LspWsFile
const LOCATION: Location
const DEBUG_NAME: &'static str = "LspWsFile"
const FIELD_DEBUG_NAMES: &'static [&'static str]
Source§type Fields = (SourceFile, Option<Arc<FileIndex>>)
type Fields = (SourceFile, Option<Arc<FileIndex>>)
A (possibly empty) tuple of the fields for this struct.
type Revisions = [Revision; 2]
type Durabilities = [Durability; 2]
Source§fn serialize<S: Serializer>(
fields: &Self::Fields,
serializer: S,
) -> Result<S::Ok, S::Error>
fn serialize<S: Serializer>( fields: &Self::Fields, serializer: S, ) -> Result<S::Ok, S::Error>
Serialize the fields using
serde. Read moreSource§fn deserialize<'de, D: Deserializer<'de>>(
deserializer: D,
) -> Result<Self::Fields, D::Error>
fn deserialize<'de, D: Deserializer<'de>>( deserializer: D, ) -> Result<Self::Fields, D::Error>
Deserialize the fields using
serde. Read moreimpl Copy for LspWsFile
impl Eq for LspWsFile
Source§impl SalsaStructInDb for LspWsFile
impl SalsaStructInDb for LspWsFile
Source§const LEAF_TYPE_IDS: &'static [ConstTypeId]
const LEAF_TYPE_IDS: &'static [ConstTypeId]
The type IDs of all concrete (leaf) salsa struct types that this type can contain. Read more
type MemoIngredientMap = MemoIngredientSingletonIndex
Source§fn lookup_ingredient_index(aux: &Zalsa) -> IngredientIndices
fn lookup_ingredient_index(aux: &Zalsa) -> IngredientIndices
Lookup or create ingredient indices. Read more
Source§fn entries(zalsa: &Zalsa) -> impl Iterator<Item = DatabaseKeyIndex> + '_
fn entries(zalsa: &Zalsa) -> impl Iterator<Item = DatabaseKeyIndex> + '_
Returns the IDs of any instances of this struct in the database.
impl SalsaValue for LspWsFile
impl StructuralPartialEq for LspWsFile
Auto Trait Implementations§
impl Freeze for LspWsFile
impl RefUnwindSafe for LspWsFile
impl Send for LspWsFile
impl Sync for LspWsFile
impl Unpin for LspWsFile
impl UnsafeUnpin for LspWsFile
impl UnwindSafe for LspWsFile
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> HashEqLike<&T> for T
impl<T> HashEqLike<&T> for T
Source§impl<T> HashEqLike<Cow<'_, T>> for T
impl<T> HashEqLike<Cow<'_, T>> for T
Source§impl<T> HashEqLike<T> for T
impl<T> HashEqLike<T> for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more