Skip to main content

Parser

Struct Parser 

Source
pub struct Parser { /* private fields */ }

Implementations§

Source§

impl Parser

Source§

impl Parser

Source

pub fn copy_bytes(&mut self, data: &[u8]) -> AstArray<c_char>

Source§

impl Parser

Source

pub fn copy_t_usize<T: Clone>( &mut self, data: *const T, size: usize, ) -> AstArray<T>

Source§

impl Parser

Source

pub fn copy_temp_vector_t<'a, T: Clone>( &mut self, data: &TempVector<'a, T>, ) -> AstArray<T>

Source§

impl Parser

Source

pub fn copy_initializer_list_t<T: Clone>(&mut self, data: &[T]) -> AstArray<T>

Source§

impl Parser

Source

pub fn copy_string(&mut self, data: &String) -> AstArray<c_char>

Source§

impl Parser

Source

pub fn expect_and_consume_fail(&mut self, type_: Type, context: &str)

Source§

impl Parser

Source

pub fn expect_and_consume_char(&mut self, value: char, context: &str) -> bool

Source§

impl Parser

Source

pub fn expect_and_consume_type(&mut self, type_: Type, context: &str) -> bool

Source§

impl Parser

Source

pub fn expect_match_and_consume( &mut self, value: char, begin: &MatchLexeme, search_for_missing: bool, ) -> bool

Source§

impl Parser

Source

pub fn expect_match_and_consume_fail( &mut self, type_: Type, begin: &MatchLexeme, extra: Option<&str>, )

Source§

impl Parser

Source§

impl Parser

Source

pub fn increment_recursion_counter(&mut self, context: &str)

Source§

impl Parser

Source

pub fn next_lexeme(&mut self)

Source§

impl Parser

Source

pub fn parse( buffer: &str, buffer_size: usize, names: &mut AstNameTable, allocator: &mut Allocator, options: ParseOptions, ) -> ParseResult

Source§

impl Parser

Source§

impl Parser

Source

pub fn parse_assignment(&mut self, initial: *mut AstExpr) -> *mut AstStat

Source§

impl Parser

Source

pub fn parse_attribute(&mut self, attributes: &mut TempVector<'_, *mut AstAttr>)

Source§

impl Parser

Source§

impl Parser

Source§

impl Parser

Source

pub fn parse_binding(&mut self, is_const: bool) -> Binding

Source§

impl Parser

Source§

impl Parser

Source§

impl Parser

Source§

impl Parser

Source

pub fn parse_call_list( &mut self, comma_positions: *mut TempVector<'_, Position>, ) -> (AstArray<*mut AstExpr>, Location, Location)

Source§

impl Parser

Source§

impl Parser

Source

pub fn parse_class_stat( &mut self, start: &Location, exported: bool, ) -> *mut AstStat

Source§

impl Parser

Source§

impl Parser

Source

pub fn parser_parse_continue(&mut self, start: &Location) -> *mut AstStat

Source§

impl Parser

Source

pub fn parse_declaration( &mut self, start: &Location, attributes: &AstArray<*mut AstAttr>, ) -> *mut AstStat

Source§

impl Parser

Source§

impl Parser

Source

pub fn parse_do(&mut self) -> *mut AstStat

Source§

impl Parser

Source

pub fn parse_explicit_type_instantiation_expr( &mut self, start: Position, based_on_expr: &mut AstExpr, ) -> *mut AstExpr

Source§

impl Parser

Source

pub fn parse_export_value( &mut self, start: &Location, keyword_position: Position, attributes: &AstArray<*mut AstAttr>, ) -> *mut AstStat

Source§

impl Parser

Source

pub fn parse_expr_list( &mut self, result: &mut TempVector<'_, *mut AstExpr>, comma_positions: Option<&mut TempVector<'_, Position>>, )

Source§

impl Parser

Source§

impl Parser

Source

pub fn parse_expr_i32(&mut self, limit: u32) -> *mut AstExpr

Source§

impl Parser

Source

pub fn parse_for(&mut self) -> *mut AstStat

Source§

impl Parser

Source

pub fn parse_function_args( &mut self, func: *mut AstExpr, self_: bool, ) -> *mut AstExpr

Source§

impl Parser

Source

pub fn parse_function_body( &mut self, hasself: bool, match_function: &Lexeme, debugname: &AstName, local_name: Option<&Name>, attributes: &AstArray<*mut AstAttr>, is_const: bool, ) -> (*mut AstExprFunction, *mut AstLocal)

Source§

impl Parser

Source

pub fn parse_function_name( &mut self, hasself: &mut bool, debugname: &mut AstName, ) -> *mut AstExpr

Source§

impl Parser

Source§

impl Parser

Source

pub fn parse_function_type( &mut self, allow_pack: bool, attributes: &AstArray<*mut AstAttr>, ) -> AstTypeOrPack

Source§

impl Parser

Source

pub fn parse_function_type_tail( &mut self, begin: &Lexeme, attributes: AstArray<*mut AstAttr>, generics: AstArray<*mut AstGenericType>, generic_packs: AstArray<*mut AstGenericTypePack>, params: AstArray<*mut AstType>, param_names: AstArray<Option<AstArgumentName>>, vararg_annotation: *mut AstTypePack, ) -> *mut AstType

Source§

impl Parser

Source

pub fn parse_generic_type_list( &mut self, with_default_values: bool, open_position: Option<&mut Position>, comma_positions: Option<&mut TempVector<'_, Position>>, close_position: Option<&mut Position>, ) -> (AstArray<*mut AstGenericType>, AstArray<*mut AstGenericTypePack>)

Source§

impl Parser

Source

pub fn parse_if(&mut self) -> *mut AstStat

Source§

impl Parser

Source

pub fn parse_index_name(&mut self, context: &str, previous: &Position) -> Name

Source§

impl Parser

Source§

impl Parser

Source

pub fn parse_local( &mut self, start: Location, keyword_position: Position, attributes: &AstArray<*mut AstAttr>, is_const: bool, ) -> *mut AstStat

Source§

impl Parser

Source

pub fn parseLocal_DEPRECATED( &mut self, attributes: &AstArray<*mut AstAttr>, ) -> *mut AstStat

Source§

impl Parser

Source

pub fn parse_method_call( &mut self, start: Position, expr: *mut AstExpr, ) -> *mut AstExpr

Source§

impl Parser

Source

pub fn parse_name(&mut self, context: &str) -> Name

Source§

impl Parser

Source

pub fn parse_name_expr(&mut self, context: &str) -> *mut AstExpr

Source§

impl Parser

Source

pub fn parse_name_opt(&mut self, context: &str) -> Option<Name>

Source§

impl Parser

Source

pub fn parse_number(&mut self) -> *mut AstExpr

Source§

impl Parser

Source

pub fn parse_optional_return_type( &mut self, return_specifier_position: Option<&mut Position>, ) -> *mut AstTypePack

Source§

impl Parser

Source§

impl Parser

Source§

impl Parser

Source

pub fn parse_primary_expr(&mut self, as_statement: bool) -> *mut AstExpr

Source§

impl Parser

Source

pub fn parse_repeat(&mut self) -> *mut AstStat

Source§

impl Parser

Source

pub fn parse_return(&mut self) -> *mut AstStat

Source§

impl Parser

Source§

impl Parser

Source§

impl Parser

Source

pub fn parse_simple_type( &mut self, allow_pack: bool, in_declaration_context: bool, ) -> AstTypeOrPack

Source§

impl Parser

Source§

impl Parser

Source

pub fn parse_stat(&mut self) -> *mut AstStat

Source§

impl Parser

Source

pub fn parse_string(&mut self) -> *mut AstExpr

Source§

impl Parser

Source§

impl Parser

Source

pub fn parse_table_indexer( &mut self, access: AstTableAccess, access_location: Option<Location>, begin: Lexeme, ) -> TableIndexerResult

Source§

impl Parser

Source

pub fn parse_table_type(&mut self, in_declaration_context: bool) -> *mut AstType

Source§

impl Parser

Source

pub fn parse_type_alias( &mut self, start: &Location, exported: bool, type_keyword_position: Position, ) -> *mut AstStat

Source§

impl Parser

Source

pub fn parse_type_function( &mut self, start: &Location, exported: bool, type_keyword_position: Position, ) -> *mut AstStat

Source§

impl Parser

Source

pub fn parse_type_instantiation_expr( &mut self, cst_node_out: *mut CstTypeInstantiation, end_location_out: Option<&mut Location>, ) -> AstArray<AstTypeOrPack>

Source§

impl Parser

Source

pub fn parse_type_list( &mut self, result: &mut TempVector<'_, *mut AstType>, result_names: &mut TempVector<'_, Option<AstArgumentName>>, comma_positions: *mut TempVector<'_, Position>, name_colon_positions: *mut TempVector<'_, Position>, ) -> *mut AstTypePack

Source§

impl Parser

Source§

impl Parser

Source

pub fn parse_type_params( &mut self, opening_position: Option<&mut Position>, comma_positions: Option<&mut TempVector<'_, Position>>, closing_position: Option<&mut Position>, ) -> AstArray<AstTypeOrPack>

Source§

impl Parser

Source§

impl Parser

Source

pub fn parse_type_bool(&mut self, in_declaration_context: bool) -> *mut AstType

Source§

impl Parser

Source

pub fn parse_type_suffix( &mut self, type_: *mut AstType, begin: &Location, ) -> *mut AstType

Source§

impl Parser

Source§

impl Parser

Source

pub fn parse_while(&mut self) -> *mut AstStat

Source§

impl Parser

Source

pub fn new( buffer: &str, names: &mut AstNameTable, allocator: *mut Allocator, options: ParseOptions, ) -> Self

Source§

impl Parser

Source

pub fn prepare_function_arguments( &mut self, start: &Location, hasself: bool, args: &TempVector<'_, Binding>, ) -> (*mut AstLocal, AstArray<*mut AstLocal>)

Source§

impl Parser

Source

pub fn push_local(&mut self, binding: &Binding) -> *mut AstLocal

Source§

impl Parser

Source§

impl Parser

Source

pub fn report_expr_error( &mut self, location: Location, expressions: AstArray<*mut AstExpr>, format: Arguments<'_>, ) -> *mut AstExprError

Source§

impl Parser

Source

pub fn report_function_args_error( &mut self, func: *mut AstExpr, self_flag: bool, ) -> *mut AstExpr

Source§

impl Parser

Source§

impl Parser

Source

pub fn report_missing_type_error( &mut self, parse_error_location: Location, ast_error_location: Location, format: Arguments<'_>, ) -> *mut AstTypeError

Source§

impl Parser

Source

pub fn report_name_error(&mut self, context: &str)

Source§

impl Parser

Source

pub fn report_location_c_char_item( &mut self, location: Location, format: Arguments<'_>, )

Source§

impl Parser

Source

pub fn report_stat_error( &mut self, location: Location, expressions: AstArray<*mut AstExpr>, statements: AstArray<*mut AstStat>, format: Arguments<'_>, ) -> *mut AstStatError

Source§

impl Parser

Source

pub fn report_type_error( &mut self, location: Location, types: AstArray<*mut AstType>, args: Arguments<'_>, ) -> *mut AstTypeError

Source§

impl Parser

Source

pub fn restore_locals(&mut self, offset: u32)

Source§

impl Parser

Source

pub fn run_parse<Node, F>( buffer: &str, buffer_size: usize, names: &mut AstNameTable, allocator: &mut Allocator, options: ParseOptions, f: F, ) -> ParseNodeResult<Node>
where F: FnOnce(&mut Parser) -> *mut Node,

Source§

impl Parser

Source

pub fn save_locals(&self) -> u32

Source§

impl Parser

Source

pub fn table_separator(&mut self) -> Separator

Source§

impl Parser

Source

pub fn parse_binding_list( &mut self, result: &mut TempVector<'_, Binding>, allow_dot_3: bool, comma_positions: *mut AstArray<Position>, initial_comma_position: *mut Position, vararg_annotation_colon_position: *mut Position, is_const: bool, ) -> (bool, Location, *mut AstTypePack)

Trait Implementations§

Source§

impl Debug for Parser

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

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, 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.