pub struct ShaderModuleParser { /* private fields */ }Implementations§
Source§impl ShaderModuleParser
impl ShaderModuleParser
pub fn glsl() -> Self
pub fn hlsl() -> Self
pub fn wgsl() -> Self
Sourcepub fn from_shading_language(shading_language: ShadingLanguage) -> Self
pub fn from_shading_language(shading_language: ShadingLanguage) -> Self
Examples found in repository?
examples/main.rs (line 31)
29fn query_all_symbol<T: ShadingLanguageTag>(shader_path: &Path, shader_content: &str) {
30 // SymbolProvider intended to gather file symbol at runtime by inspecting the AST.
31 let mut shader_module_parser = ShaderModuleParser::from_shading_language(T::get_language());
32 let symbol_provider = SymbolProvider::from_shading_language(T::get_language());
33 match shader_module_parser.create_module(shader_path, shader_content) {
34 Ok(shader_module) => {
35 let symbols = symbol_provider
36 .query_symbols(
37 &shader_module,
38 ShaderParams::default(),
39 &mut default_include_callback::<T>,
40 None,
41 )
42 .unwrap();
43 let symbol_list = symbols.get_all_symbols();
44 println!("Found symbols: {:#?}", symbol_list);
45 }
46 Err(err) => println!("Failed to create ast: {:#?}", err),
47 }
48}Sourcepub fn create_module(
&mut self,
file_path: &Path,
shader_content: &str,
) -> Result<ShaderModule, ShaderError>
pub fn create_module( &mut self, file_path: &Path, shader_content: &str, ) -> Result<ShaderModule, ShaderError>
Examples found in repository?
examples/main.rs (line 33)
29fn query_all_symbol<T: ShadingLanguageTag>(shader_path: &Path, shader_content: &str) {
30 // SymbolProvider intended to gather file symbol at runtime by inspecting the AST.
31 let mut shader_module_parser = ShaderModuleParser::from_shading_language(T::get_language());
32 let symbol_provider = SymbolProvider::from_shading_language(T::get_language());
33 match shader_module_parser.create_module(shader_path, shader_content) {
34 Ok(shader_module) => {
35 let symbols = symbol_provider
36 .query_symbols(
37 &shader_module,
38 ShaderParams::default(),
39 &mut default_include_callback::<T>,
40 None,
41 )
42 .unwrap();
43 let symbol_list = symbols.get_all_symbols();
44 println!("Found symbols: {:#?}", symbol_list);
45 }
46 Err(err) => println!("Failed to create ast: {:#?}", err),
47 }
48}pub fn update_module( &mut self, module: &mut ShaderModule, new_text: &String, ) -> Result<(), ShaderError>
pub fn update_module_partial( &mut self, module: &mut ShaderModule, old_range: &ShaderRange, new_text: &String, ) -> Result<(), ShaderError>
Auto Trait Implementations§
impl Freeze for ShaderModuleParser
impl RefUnwindSafe for ShaderModuleParser
impl Send for ShaderModuleParser
impl Sync for ShaderModuleParser
impl Unpin for ShaderModuleParser
impl UnwindSafe for ShaderModuleParser
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