From 3ac8f02841579192c28282f1e9695464948b0bb9 Mon Sep 17 00:00:00 2001 From: Dave Halter Date: Wed, 1 Jul 2015 14:54:23 +0200 Subject: [PATCH] Type tests and implementation for functions. --- jedi/evaluate/compiled/__init__.py | 2 ++ jedi/evaluate/representation.py | 3 +++ test/completion/stdlib.py | 5 +++++ 3 files changed, 10 insertions(+) diff --git a/jedi/evaluate/compiled/__init__.py b/jedi/evaluate/compiled/__init__.py index 67d3f371..d39c320c 100644 --- a/jedi/evaluate/compiled/__init__.py +++ b/jedi/evaluate/compiled/__init__.py @@ -475,7 +475,9 @@ def _create_from_name(module, parent, name): builtin = Builtin(_builtins) +# TODO Rename magic_function_class to just function_class or something similar. magic_function_class = CompiledObject(type(load_module), parent=builtin) +module_class = CompiledObject(type(os)) generator_obj = CompiledObject(_a_generator(1.0)) _type_names_dict = builtin.get_by_name('type').names_dict none_obj = builtin.get_by_name('None') diff --git a/jedi/evaluate/representation.py b/jedi/evaluate/representation.py index 90a170a1..16dab7fb 100644 --- a/jedi/evaluate/representation.py +++ b/jedi/evaluate/representation.py @@ -853,6 +853,9 @@ class ModuleWrapper(use_metaclass(CachedMetaClass, tree.Module, Wrapper)): return names + def py__class__(self, evaluator): + return compiled.module_class + def __getattr__(self, name): return getattr(self._module, name) diff --git a/test/completion/stdlib.py b/test/completion/stdlib.py index 4a13bc8a..94611095 100644 --- a/test/completion/stdlib.py +++ b/test/completion/stdlib.py @@ -57,6 +57,11 @@ type(x for x in []) #? type(x) type(lambda: x) +import math +import os +#? type(os) +type(math) + # ----------------- # re # -----------------