def identifier_in(arg: Union[Code, Element, str], collection_of_str): if isinstance(arg, str): name, syntactic_extra, semantic_extra = Identifier.split_name(arg) for itm in collection_of_str: equal_to_name, equal_to_semantic_extra = Identifier.split_name(itm) if _identifier_eq(name, semantic_extra, equal_to_name, equal_to_semantic_extra ): return True return False else: if arg is None: return False code = get_code(arg) return any(is_identifier(code, name) for name in collection_of_str)
def identifier_in(arg: Union[Code, Element, str], collection_of_str): if isinstance(arg, str): name, syntactic_extra, semantic_extra = Identifier.split_name(arg) for itm in collection_of_str: equal_to_name, equal_to_semantic_extra = Identifier.split_name(itm) if _identifier_eq(name, semantic_extra, equal_to_name, equal_to_semantic_extra): return True return False else: if arg is None: return False code = get_code(arg) return any(is_identifier(code, name) for name in collection_of_str)
def is_identifier(code_or_element: Union[Code, Element], name: str = None) -> bool: if code_or_element is None: return False code = get_code(code_or_element) if name is None: return isinstance(code, Identifier) else: if not isinstance(code, Identifier): return False name, semantic_extra = Identifier.split_name(name) return _identifier_eq(code.name, code.semantic_name, name, semantic_extra)
def is_identifier( code_or_element: Union[Code, Element], name:str=None ) -> bool: if code_or_element is None: return False code = get_code(code_or_element) if name is None: return isinstance(code, Identifier) else: if not isinstance(code, Identifier): return False name, semantic_extra = Identifier.split_name(name) return _identifier_eq(code.name, code.semantic_name, name, semantic_extra)