nac3core: Add field constructor_lookup(HashMap) to the TopLevelComposer and the function build_constructor_lookup to build the HashMap
This commit is contained in:
parent
71308ae5d4
commit
7d68efc599
|
@ -172,7 +172,7 @@ impl TopLevelComposer {
|
|||
})
|
||||
);
|
||||
|
||||
let mut constructor_lookup: HashMap<StrRef, ast::Located<ast::StmtKind>> = HashMap::from_iter(
|
||||
let constructor_lookup: HashMap<StrRef, ast::Located<ast::StmtKind>> = HashMap::from_iter(
|
||||
classes.iter().filter_map(|(class_name, _, body)| {
|
||||
for stmt in body.iter() {
|
||||
let func_name = if let ast::StmtKind::FunctionDef { name, .. } = &stmt.node {
|
||||
|
@ -189,69 +189,6 @@ impl TopLevelComposer {
|
|||
})
|
||||
);
|
||||
|
||||
constructor_lookup.insert(
|
||||
"Exception".into(),
|
||||
ast::Located::new(
|
||||
ast::Location::new(0, 0, ast::FileName("".into())),
|
||||
ast::StmtKind::FunctionDef {
|
||||
name: "__init__".into(),
|
||||
args: Box::new(ast::Arguments {
|
||||
posonlyargs: vec![],
|
||||
args: vec![
|
||||
ast::Located {
|
||||
location: Location {
|
||||
row: 8,
|
||||
column: 18,
|
||||
file: ast::FileName("".into()),
|
||||
},
|
||||
custom: (),
|
||||
node: ast::ArgData {
|
||||
arg: "self".into(),
|
||||
annotation: None,
|
||||
type_comment: None,
|
||||
},
|
||||
},
|
||||
ast::Located {
|
||||
location: Location {
|
||||
row: 8,
|
||||
column: 18,
|
||||
file: ast::FileName("".into()),
|
||||
},
|
||||
custom: (),
|
||||
node: ast::ArgData {
|
||||
arg: "message".into(),
|
||||
annotation: None,
|
||||
type_comment: None,
|
||||
},
|
||||
}
|
||||
],
|
||||
vararg: None,
|
||||
kwonlyargs: Default::default(),
|
||||
kw_defaults: Default::default(),
|
||||
kwarg: None,
|
||||
defaults: Default::default(),
|
||||
}),
|
||||
body: vec![
|
||||
ast::Located {
|
||||
location: Location {
|
||||
row: 0,
|
||||
column: 0,
|
||||
file: ast::FileName("".into()),
|
||||
},
|
||||
custom: (),
|
||||
node: ast::StmtKind::Pass {
|
||||
config_comment: Default::default(),
|
||||
},
|
||||
},
|
||||
],
|
||||
decorator_list: Default::default(),
|
||||
returns: None,
|
||||
type_comment: Default::default(),
|
||||
config_comment: Default::default(),
|
||||
}
|
||||
)
|
||||
);
|
||||
|
||||
for (class, _, _) in classes
|
||||
.iter()
|
||||
.filter(|(c, _, _)| constructor_lookup.get(c).is_none())
|
||||
|
|
Loading…
Reference in New Issue