mirror of
https://github.com/rojo-rbx/rojo.git
synced 2026-10-21 12:01:38 +00:00
Merge remote-tracking branch 'origin/master' into rojo-open
This commit is contained in:
commit
63a370e624
10 changed files with 4431 additions and 1691 deletions
|
|
@ -304,7 +304,7 @@ fn find_descriptor(
|
|||
return Some(descriptor);
|
||||
}
|
||||
|
||||
current_class_name = class.superclass.as_deref()?;
|
||||
current_class_name = class.superclass?;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -481,7 +481,7 @@ fn get_property_filter(project: &Project, new_inst: &Instance) -> Option<UstrSet
|
|||
}
|
||||
|
||||
let class = database.classes.get(current_class_name)?;
|
||||
if let Some(super_class) = class.superclass.as_ref() {
|
||||
if let Some(super_class) = class.superclass {
|
||||
current_class_name = super_class;
|
||||
} else {
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -101,7 +101,7 @@ fn should_property_serialize(class_name: &str, prop_name: &str) -> bool {
|
|||
}
|
||||
kind => unimplemented!("unknown property kind {kind:?}"),
|
||||
};
|
||||
} else if let Some(super_class) = class_data.superclass.as_ref() {
|
||||
} else if let Some(super_class) = class_data.superclass {
|
||||
current_class_name = super_class;
|
||||
} else {
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -8,10 +8,8 @@ use rbx_dom_weak::{
|
|||
ustr, Instance, Ustr, WeakDom,
|
||||
};
|
||||
|
||||
use crate::{
|
||||
multimap::MultiMap, syncback::snapshot::inst_path, REF_ID_ATTRIBUTE_NAME,
|
||||
REF_POINTER_ATTRIBUTE_PREFIX,
|
||||
};
|
||||
use crate::syncback::snapshot::inst_path;
|
||||
use crate::{multimap::MultiMap, REF_ID_ATTRIBUTE_NAME, REF_POINTER_ATTRIBUTE_PREFIX};
|
||||
|
||||
pub struct RefLinks {
|
||||
/// A map of referents to each of their Ref properties.
|
||||
|
|
|
|||
|
|
@ -222,19 +222,7 @@ pub fn filter_out_property(inst: &Instance, prop_name: &str) -> bool {
|
|||
}
|
||||
|
||||
pub fn inst_path(dom: &WeakDom, referent: Ref) -> String {
|
||||
let mut path = Vec::new();
|
||||
|
||||
let mut inst = dom.get_by_ref(referent);
|
||||
while let Some(instance) = inst {
|
||||
path.push(instance.name.as_str());
|
||||
inst = dom.get_by_ref(instance.parent());
|
||||
}
|
||||
// This is to avoid the root's name from appearing in the path. Not
|
||||
// optimal, but should be fine.
|
||||
path.pop();
|
||||
|
||||
path.reverse();
|
||||
path.join("/")
|
||||
dom.full_path_of(referent, "/")
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue