Rename special to indexing

This commit is contained in:
Anton Danilkin 2018-08-07 00:06:04 +03:00
parent ef3f086102
commit e70c9015ff
7 changed files with 51 additions and 51 deletions

View File

@ -107,9 +107,9 @@ pub enum OperationKind {
Regular,
Getter(Option<Ident>),
Setter(Option<Ident>),
SpecialGetter,
SpecialSetter,
SpecialDeleter,
IndexingGetter,
IndexingSetter,
IndexingDeleter,
}
#[cfg_attr(feature = "extra-traits", derive(Debug, PartialEq, Eq))]
@ -372,9 +372,9 @@ impl ImportFunction {
s.unwrap_or_else(|| self.infer_setter_property()),
)
}
OperationKind::SpecialGetter => shared::OperationKind::SpecialGetter,
OperationKind::SpecialSetter => shared::OperationKind::SpecialSetter,
OperationKind::SpecialDeleter => shared::OperationKind::SpecialDeleter,
OperationKind::IndexingGetter => shared::OperationKind::IndexingGetter,
OperationKind::IndexingSetter => shared::OperationKind::IndexingSetter,
OperationKind::IndexingDeleter => shared::OperationKind::IndexingDeleter,
};
shared::MethodKind::Operation(shared::Operation { is_static, kind })
}

View File

@ -1841,19 +1841,19 @@ impl<'a, 'b> SubContext<'a, 'b> {
}}",
location, s
),
shared::OperationKind::SpecialGetter => format!(
shared::OperationKind::IndexingGetter => format!(
"function(y) {{
return {}[y];
}}",
location
),
shared::OperationKind::SpecialSetter => format!(
shared::OperationKind::IndexingSetter => format!(
"function(y, z) {{
{}[y] = z;
}}",
location
),
shared::OperationKind::SpecialDeleter => format!(
shared::OperationKind::IndexingDeleter => format!(
"function(y) {{
delete {}[y];
}}",
@ -1881,9 +1881,9 @@ impl<'a, 'b> SubContext<'a, 'b> {
class, location, s,
)
}
shared::OperationKind::SpecialGetter => panic!("getter should be structural"),
shared::OperationKind::SpecialSetter => panic!("setter should be structural"),
shared::OperationKind::SpecialDeleter => panic!("deleter should be structural"),
shared::OperationKind::IndexingGetter => panic!("getter should be structural"),
shared::OperationKind::IndexingSetter => panic!("setter should be structural"),
shared::OperationKind::IndexingDeleter => panic!("deleter should be structural"),
}
};

View File

@ -122,25 +122,25 @@ impl BindgenAttrs {
}
/// Whether the special getter attributes is present
fn special_getter(&self) -> bool {
fn indexing_getter(&self) -> bool {
self.attrs.iter().any(|a| match *a {
BindgenAttr::SpecialGetter => true,
BindgenAttr::IndexingGetter => true,
_ => false,
})
}
/// Whether the special setter attributes is present
fn special_setter(&self) -> bool {
fn indexing_setter(&self) -> bool {
self.attrs.iter().any(|a| match *a {
BindgenAttr::SpecialSetter => true,
BindgenAttr::IndexingSetter => true,
_ => false,
})
}
/// Whether the special deleter attributes is present
fn special_deleter(&self) -> bool {
fn indexing_deleter(&self) -> bool {
self.attrs.iter().any(|a| match *a {
BindgenAttr::SpecialDeleter => true,
BindgenAttr::IndexingDeleter => true,
_ => false,
})
}
@ -210,9 +210,9 @@ pub enum BindgenAttr {
Module(String),
Getter(Option<Ident>),
Setter(Option<Ident>),
SpecialGetter,
SpecialSetter,
SpecialDeleter,
IndexingGetter,
IndexingSetter,
IndexingDeleter,
Structural,
Readonly,
JsName(String),
@ -254,11 +254,11 @@ impl syn::synom::Synom for BindgenAttr {
(val)
)=> { BindgenAttr::Setter }
|
call!(term, "special_getter") => { |_| BindgenAttr::SpecialGetter }
call!(term, "indexing_getter") => { |_| BindgenAttr::IndexingGetter }
|
call!(term, "special_setter") => { |_| BindgenAttr::SpecialSetter }
call!(term, "indexing_setter") => { |_| BindgenAttr::IndexingSetter }
|
call!(term, "special_deleter") => { |_| BindgenAttr::SpecialDeleter }
call!(term, "indexing_deleter") => { |_| BindgenAttr::IndexingDeleter }
|
call!(term, "structural") => { |_| BindgenAttr::Structural }
|
@ -414,14 +414,14 @@ impl<'a> ConvertToAst<(BindgenAttrs, &'a Option<String>)> for syn::ForeignItemFn
if let Some(s) = opts.setter() {
operation_kind = ast::OperationKind::Setter(s);
}
if opts.special_getter() {
operation_kind = ast::OperationKind::SpecialGetter;
if opts.indexing_getter() {
operation_kind = ast::OperationKind::IndexingGetter;
}
if opts.special_setter() {
operation_kind = ast::OperationKind::SpecialSetter;
if opts.indexing_setter() {
operation_kind = ast::OperationKind::IndexingSetter;
}
if opts.special_deleter() {
operation_kind = ast::OperationKind::SpecialDeleter;
if opts.indexing_deleter() {
operation_kind = ast::OperationKind::IndexingDeleter;
}
let kind = if opts.method() {

View File

@ -69,9 +69,9 @@ pub enum OperationKind {
Regular,
Getter(String),
Setter(String),
SpecialGetter,
SpecialSetter,
SpecialDeleter,
IndexingGetter,
IndexingSetter,
IndexingDeleter,
}
#[derive(Deserialize, Serialize)]

View File

@ -42,9 +42,9 @@ pub(crate) struct InterfaceData<'src> {
pub(crate) enum OperationId<'src> {
Constructor,
Operation(Option<&'src str>),
SpecialGetter,
SpecialSetter,
SpecialDeleter,
IndexingGetter,
IndexingSetter,
IndexingDeleter,
}
#[derive(Default)]
@ -260,9 +260,9 @@ impl<'src> FirstPass<'src, &'src str> for weedle::interface::OperationInterfaceM
match self.identifier.map(|s| s.0) {
None => match self.specials.get(0) {
None => OperationId::Operation(None),
Some(weedle::interface::Special::Getter(weedle::term::Getter)) => OperationId::SpecialGetter,
Some(weedle::interface::Special::Setter(weedle::term::Setter)) => OperationId::SpecialSetter,
Some(weedle::interface::Special::Deleter(weedle::term::Deleter)) => OperationId::SpecialDeleter,
Some(weedle::interface::Special::Getter(weedle::term::Getter)) => OperationId::IndexingGetter,
Some(weedle::interface::Special::Setter(weedle::term::Setter)) => OperationId::IndexingSetter,
Some(weedle::interface::Special::Deleter(weedle::term::Deleter)) => OperationId::IndexingDeleter,
Some(weedle::interface::Special::LegacyCaller(weedle::term::LegacyCaller)) => return Ok(()),
},
Some(ref name) => OperationId::Operation(Some(name.clone())),

View File

@ -651,9 +651,9 @@ fn member_operation<'src>(
match identifier.map(|s| s.0) {
None if specials.is_empty() => ::first_pass::OperationId::Operation(None),
None if specials.len() == 1 => match specials[0] {
weedle::interface::Special::Getter(weedle::term::Getter) => ::first_pass::OperationId::SpecialGetter,
weedle::interface::Special::Setter(weedle::term::Setter) => ::first_pass::OperationId::SpecialSetter,
weedle::interface::Special::Deleter(weedle::term::Deleter) => ::first_pass::OperationId::SpecialDeleter,
weedle::interface::Special::Getter(weedle::term::Getter) => ::first_pass::OperationId::IndexingGetter,
weedle::interface::Special::Setter(weedle::term::Setter) => ::first_pass::OperationId::IndexingSetter,
weedle::interface::Special::Deleter(weedle::term::Deleter) => ::first_pass::OperationId::IndexingDeleter,
weedle::interface::Special::LegacyCaller(weedle::term::LegacyCaller) => return Ok(()),
},
Some(ref name) if specials.is_empty() => ::first_pass::OperationId::Operation(Some(name.clone())),

View File

@ -932,9 +932,9 @@ impl<'src> FirstPassRecord<'src> {
}
Some(name) => name.to_string(),
},
::first_pass::OperationId::SpecialGetter => "get".to_string(),
::first_pass::OperationId::SpecialSetter => "set".to_string(),
::first_pass::OperationId::SpecialDeleter => "delete".to_string(),
::first_pass::OperationId::IndexingGetter => "get".to_string(),
::first_pass::OperationId::IndexingSetter => "set".to_string(),
::first_pass::OperationId::IndexingDeleter => "delete".to_string(),
};
let kind = backend::ast::ImportFunctionKind::Method {
@ -945,9 +945,9 @@ impl<'src> FirstPassRecord<'src> {
kind: match &operation_id {
::first_pass::OperationId::Constructor => panic!("constructors are unsupported"),
::first_pass::OperationId::Operation(_) => backend::ast::OperationKind::Regular,
::first_pass::OperationId::SpecialGetter => backend::ast::OperationKind::SpecialGetter,
::first_pass::OperationId::SpecialSetter => backend::ast::OperationKind::SpecialSetter,
::first_pass::OperationId::SpecialDeleter => backend::ast::OperationKind::SpecialDeleter,
::first_pass::OperationId::IndexingGetter => backend::ast::OperationKind::IndexingGetter,
::first_pass::OperationId::IndexingSetter => backend::ast::OperationKind::IndexingSetter,
::first_pass::OperationId::IndexingDeleter => backend::ast::OperationKind::IndexingDeleter,
},
}),
};
@ -973,9 +973,9 @@ impl<'src> FirstPassRecord<'src> {
mdn_doc(self_name, Some(&name))
)
),
::first_pass::OperationId::SpecialGetter => Some("The getter\n\n".to_string()),
::first_pass::OperationId::SpecialSetter => Some("The setter\n\n".to_string()),
::first_pass::OperationId::SpecialDeleter => Some("The deleter\n\n".to_string()),
::first_pass::OperationId::IndexingGetter => Some("The getter\n\n".to_string()),
::first_pass::OperationId::IndexingSetter => Some("The setter\n\n".to_string()),
::first_pass::OperationId::IndexingDeleter => Some("The deleter\n\n".to_string()),
};
self.create_function(