pub struct PgExtern { /* private fields */ }Expand description
A parsed #[pg_extern] item.
It should be used with syn::parse::Parse functions.
Using quote::ToTokens will output the declaration for a PgExternEntity.
use syn::{Macro, parse::Parse, parse_quote, parse};
use quote::{quote, ToTokens};
use pgx_utils::sql_entity_graph::PgExtern;
let parsed: PgExtern = parse_quote! {
fn example(x: Option<str>) -> Option<&'a str> {
unimplemented!()
}
};
let sql_graph_entity_tokens = parsed.to_token_stream();Implementations§
Source§impl PgExtern
impl PgExtern
pub fn new(attr: TokenStream2, item: TokenStream2) -> Result<Self, Error>
pub fn extern_attrs(&self) -> &[Attribute]
pub fn wrapper_func(&self) -> TokenStream2
Trait Implementations§
Source§impl ToTokens for PgExtern
impl ToTokens for PgExtern
Source§fn to_tokens(&self, tokens: &mut TokenStream2)
fn to_tokens(&self, tokens: &mut TokenStream2)
Source§fn to_token_stream(&self) -> TokenStream
fn to_token_stream(&self) -> TokenStream
Source§fn into_token_stream(self) -> TokenStreamwhere
Self: Sized,
fn into_token_stream(self) -> TokenStreamwhere
Self: Sized,
Auto Trait Implementations§
impl Freeze for PgExtern
impl RefUnwindSafe for PgExtern
impl !Send for PgExtern
impl !Sync for PgExtern
impl Unpin for PgExtern
impl UnsafeUnpin for PgExtern
impl UnwindSafe for PgExtern
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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> Spanned for Twhere
T: Spanned + ?Sized,
impl<T> Spanned for Twhere
T: Spanned + ?Sized,
Source§fn span(&self) -> Span
fn span(&self) -> Span
Returns a
Span covering the complete contents of this syntax tree
node, or Span::call_site() if this node is empty.