pub struct ProjectFile<T> {
pub pf_type: PhantomData<T>,
pub path: PathBuf,
pub entities: RefCell<Vec<Entity>>,
}
Fields§
§pf_type: PhantomData<T>
§path: PathBuf
§entities: RefCell<Vec<Entity>>
Implementations§
Source§impl<T> ProjectFile<T>where
T: LanguageType,
Represents a parsed project file.
impl<T> ProjectFile<T>where
T: LanguageType,
Represents a parsed project file.
Sourcepub fn new<S: Into<PathBuf>>(path: S) -> Self
pub fn new<S: Into<PathBuf>>(path: S) -> Self
Creates a new ProjectFile instance.
§Example
use std::path::PathBuf;
use thinlinelib::analysis::ProjectFile;
use thinlinelib::language_type::C;
let project_file: ProjectFile<C> = ProjectFile::new("test/project_file");
assert_eq!(project_file.path, PathBuf::from("test/project_file"));
assert_eq!(project_file.entities().len(), 0);
Sourcepub fn entities(&self) -> Ref<'_, Vec<Entity>>
pub fn entities(&self) -> Ref<'_, Vec<Entity>>
Returns a reference to the entities list.
§Example
use thinlinelib::analysis::ProjectFile;
use thinlinelib::entity::Entity;
use thinlinelib::language_type::C;
let project_file: ProjectFile<C> = ProjectFile::new("test/project_file");
project_file.entities_mut().push(Entity::new("testEntity"));
assert_eq!(project_file.entities().len(), 1);
Sourcepub fn entities_mut(&self) -> RefMut<'_, Vec<Entity>>
pub fn entities_mut(&self) -> RefMut<'_, Vec<Entity>>
Returns a mutable reference to the entities list.
§Example
use thinlinelib::analysis::ProjectFile;
use thinlinelib::entity::Entity;
use thinlinelib::language_type::C;
let project_file: ProjectFile<C> = ProjectFile::new("test/project_file");
project_file.entities_mut().push(Entity::new("testEntity"));
let mut entities = project_file.entities_mut();
assert_eq!(entities.len(), 1);
entities.clear();
assert_eq!(entities.len(), 0);
Trait Implementations§
Source§impl<T: Clone> Clone for ProjectFile<T>
impl<T: Clone> Clone for ProjectFile<T>
Source§fn clone(&self) -> ProjectFile<T>
fn clone(&self) -> ProjectFile<T>
Returns a duplicate of the value. Read more
1.0.0 · Source§const fn clone_from(&mut self, source: &Self)
const fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl<T: Debug> Debug for ProjectFile<T>
impl<T: Debug> Debug for ProjectFile<T>
Source§impl<T: Default> Default for ProjectFile<T>
impl<T: Default> Default for ProjectFile<T>
Source§fn default() -> ProjectFile<T>
fn default() -> ProjectFile<T>
Returns the “default value” for a type. Read more
Source§impl<T> Display for ProjectFile<T>where
T: LanguageType,
impl<T> Display for ProjectFile<T>where
T: LanguageType,
Auto Trait Implementations§
impl<T> !Freeze for ProjectFile<T>
impl<T> !RefUnwindSafe for ProjectFile<T>
impl<T> Send for ProjectFile<T>where
T: Send,
impl<T> !Sync for ProjectFile<T>
impl<T> Unpin for ProjectFile<T>where
T: Unpin,
impl<T> UnwindSafe for ProjectFile<T>where
T: UnwindSafe,
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