def wildcard_import_names(self):
<EOL>default = [name for name in self.keys() if not name.startswith("<STR_LIT:_>")]<EOL>try:<EOL><INDENT>all_values = self["<STR_LIT>"]<EOL><DEDENT>except KeyError:<EOL><INDENT>return default<EOL><DEDENT>try:<EOL><INDENT>explicit = next(all_values.assigned_stmts())<EOL><DEDENT>except exceptions.InferenceError:<EOL><INDENT>return default<EOL><DEDENT>except AttributeError:<EOL><INDENT>return default<EOL><DEDENT>inferred = []<EOL>try:<EOL><INDENT>explicit = next(explicit.infer())<EOL><DEDENT>except exceptions.InferenceError:<EOL><INDENT>return default<EOL><DEDENT>if not isinstance(explicit, (node_classes.Tuple, node_classes.List)):<EOL><INDENT>return default<EOL><DEDENT>str_const = lambda node: (<EOL>isinstance(node, node_classes.Const) and isinstance(node.value, str)<EOL>)<EOL>for node in explicit.elts:<EOL><INDENT>if str_const(node):<EOL><INDENT>inferred.append(node.value)<EOL><DEDENT>else:<EOL><INDENT>try:<EOL><INDENT>inferred_node = next(node.infer())<EOL><DEDENT>except exceptions.InferenceError:<EOL><INDENT>continue<EOL><DEDENT>if str_const(inferred_node):<EOL><INDENT>inferred.append(inferred_node.value)<EOL><DEDENT><DEDENT><DEDENT>return inferred<EOL>
The list of imported names when this module is 'wildcard imported'.

        It doesn't include the '__builtins__' name which is added by the
        current CPython implementation of wildcard imports.

        :returns: The list of imported names.
        :rtype: list(str)