pub struct DeclaredParam {
pub name: Name,
pub ty: Option<Arc<Type>>,
pub out_ty: Option<Arc<Type>>,
pub doc_type_raw: Option<Arc<str>>,
pub doc_type_file: Option<Arc<str>>,
pub has_default: bool,
pub is_variadic: bool,
pub is_byref: bool,
pub is_optional: bool,
}Fields§
§name: Name§ty: Option<Arc<Type>>Parameter type. Stored as Option<Arc<Type>> to enable deduplication of
common types across parameters. Many parameters share types like string,
int, bool, etc., so interning via Arc saves allocations.
out_ty: Option<Arc<Type>>Out-type declared via @param-out / @psalm-param-out. When set, this
type is written back to the caller’s argument variable after the call
instead of (or in addition to) the declared in-type.
doc_type_raw: Option<Arc<str>>Raw @param type spelling when ty came from a docblock rather than a
native hint. Preserved so later analysis can resolve ambiguous
pseudo-type aliases (e.g. integer) against same-named classes once the
full symbol table is available.
doc_type_file: Option<Arc<str>>Declaring file for doc_type_raw. Needed because inherited signatures
may be consumed from a different file/namespace than the original
docblock declaration.
has_default: boolWhether this parameter has a default value. During analysis, defaults are never used for their value — only for marking parameters as optional.
is_variadic: bool§is_byref: bool§is_optional: boolTrait Implementations§
Source§impl Clone for DeclaredParam
impl Clone for DeclaredParam
Source§impl Debug for DeclaredParam
impl Debug for DeclaredParam
Source§impl<'de> Deserialize<'de> for DeclaredParam
impl<'de> Deserialize<'de> for DeclaredParam
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for DeclaredParam
Source§impl Hash for DeclaredParam
impl Hash for DeclaredParam
Source§impl PartialEq for DeclaredParam
impl PartialEq for DeclaredParam
Source§impl Serialize for DeclaredParam
impl Serialize for DeclaredParam
impl StructuralPartialEq for DeclaredParam
Auto Trait Implementations§
impl Freeze for DeclaredParam
impl RefUnwindSafe for DeclaredParam
impl Send for DeclaredParam
impl Sync for DeclaredParam
impl Unpin for DeclaredParam
impl UnsafeUnpin for DeclaredParam
impl UnwindSafe for DeclaredParam
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
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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
key and return true if they are equal.