Comments (9)
Is it related problem? Type of the class attribute any_re
is interpreted as the same as the class itself.:
In [5]:
source = """\
import re
class Spam:
any_re = re.compile('.*')"""
lines = source.splitlines()
script = jedi.Script(source, len(lines), 5, None)
definition = script.get_definition()
[(d, d.full_name) for d in definition]
Out [5]:
[(<Definition class Spam>, '.Spam'),
(<Definition class SRE_Pattern>, '_sre.SRE_Pattern')]
For other type such as string, it doesn't occur:
In [7]:
source = """\
s = 'x'"""
lines = source.splitlines()
script = jedi.Script(source, len(lines), 1, None)
definition = script.get_definition()
[(d, d.full_name) for d in definition]
Out [7]:
[(<Definition class str>, '__builtin__.str')]
In [8]:
source = """\
class Spam:
s = 'x'"""
lines = source.splitlines()
script = jedi.Script(source, len(lines), 5, None)
definition = script.get_definition()
[(d, d.full_name) for d in definition]
Out [8]:
[(<Definition class str>, '__builtin__.str')]
from jedi.
Look at this line: https://bitbucket.org/t0rsten/pep-393/src/4777c4007b5b/Lib/re.py?at=v2.5.1c1#cl-227
This returns the pattern (if it is already in the right form).
I know about this -> Jedi has to understand type(arg)
. Just give me a while :-)
from jedi.
Thanks, I see. How about <Definition class Spam>
above? I expect it to be <Definition class str>
from your explanation.
from jedi.
That's basically the same problem, I think.
from jedi.
Hmm... I guess I need to understand jedi internals to understand this.
from jedi.
Oh, now I know what you mean. I didn't see it before. You're right, that's probably something different. But I'm trying to fix the re.compile
bug first. The stuff with Spam
seems to be really strange :-)
from jedi.
For record, I am using 8ce2633 and Python 2.7. (In case this weird behavior banishes at some point).
from jedi.
It seems like the weird behavior is also gone. I basically just fixed some things to get type
to work. But feel free to test again.
from jedi.
Wow that was so fast. Thank you very much! I can confirm that the two issues are gone.
from jedi.
Related Issues (20)
- Completion fails when variable name is identical to type name HOT 4
- 'TreeInstance' object has no attribute 'with_generics' when using typing.Literal["str"] return annotation on property HOT 4
- How to discover the import statement for a particular Name? HOT 4
- Does Jedi support type inference for type annotations that include generics? HOT 2
- _get_executable_path() can't get the correct path on Windows Anaconda
- Issues with pytest 8 HOT 1
- [Feature request] Support for syntax coloring (based on symbol type) HOT 1
- Script.infer() unexpectedly returns empty list HOT 10
- Jedi outputs: Syntax Error Invalid Syntax HOT 2
- [Feature Request]: infer the return type of functions HOT 1
- Any type inference error HOT 6
- `test_completion_param_annotations` fails in Python 3.13 HOT 4
- jedi automatic completion missing HOT 9
- Vendored `typeshed` is totally obsolete HOT 1
- Rhs in the form of "x" in "xxx" cannot infer the type HOT 6
- Question: making jedi understand dynamically managed imports HOT 1
- Python 3.13.0b3+ `functools.partial` being a descriptor messes with signatures HOT 1
- Some simple Not expressions cannot infer types HOT 3
- Sort completions so that the one most resembling the typing code comes first HOT 3
- name conflict with builtin modules HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from jedi.