dartCalleeOfArgPart (dart.ts:100-116).
(&self, arg_part: Node<'t>)
| 1022 | |
| 1023 | /// dartCalleeOfArgPart (dart.ts:100-116). |
| 1024 | fn callee_of_arg_part(&self, arg_part: Node<'t>) -> Option<String> { |
| 1025 | let prev = arg_part.prev_named_sibling()?; |
| 1026 | if prev.kind() == "identifier" { |
| 1027 | return Some(self.text(prev).to_string()); |
| 1028 | } |
| 1029 | if prev.kind() == "selector" { |
| 1030 | let mut pc = prev.walk(); |
| 1031 | let accessor = prev.named_children(&mut pc).find(|c| { |
| 1032 | matches!( |
| 1033 | c.kind(), |
| 1034 | "unconditional_assignable_selector" | "conditional_assignable_selector" |
| 1035 | ) |
| 1036 | }); |
| 1037 | let method_id = accessor.and_then(|a| { |
| 1038 | let mut ac = a.walk(); |
| 1039 | let found = a.named_children(&mut ac).find(|c| c.kind() == "identifier"); |
| 1040 | found |
| 1041 | }); |
| 1042 | if let Some(method_id) = method_id { |
| 1043 | let accessor_prev = prev.prev_named_sibling(); |
| 1044 | if let Some(ap) = accessor_prev { |
| 1045 | if ap.kind() == "identifier" { |
| 1046 | return Some(format!("{}.{}", self.text(ap), self.text(method_id))); |
| 1047 | } |
| 1048 | } |
| 1049 | return Some(self.text(method_id).to_string()); |
| 1050 | } |
| 1051 | } |
| 1052 | None |
| 1053 | } |
| 1054 | |
| 1055 | // --- extractStaticMemberRef — the dart branch (:4759-4767) ------------ |
| 1056 |