Files
openide/python
Mikhail Golubev 1b8eb3cff6 PY-18816 In PyReferenceExpressionImpl require switch to AST permission only for fragments
that, presumably, contain type hints stored in PSI stubs. Previous
attempt to require passing an explicit instance of type eval context
with the origin PSI file together with the resolve context, instead
of just PyResolveContext#defaultContext() or PyResolveContext#noImplicits(),
caused multiple test failures, since it turned out that there is much
more code relying on the fact that if we were able to get hold of
PyReferenceExpression, we're already in a file that was parsed, and,
thus, we can safely perform reference multiresolve there.

Changing all these existing usages is, first, cumbersome and, second,
doesn't protect us from breakage in other subsystems not covered by
tests. This workaround helps us to avoid unstubbing due to presence of
code fragments needed to parse type annotations in stubs preserving
the legacy behavior for the rest of the code.

Additionally, I've reverted 0aa8039a3a
where I explicitly set type eval context in several places
as described.
2017-07-20 18:18:39 +03:00
..

PyCharm Community Edition

The "python" directory in the source repository contains the source code of PyCharm Community Edition and the Python plugin for IntelliJ IDEA Community Edition.

Skeletons

In order to successfully run the full test suite for PyCharm Community Edition and to build a fully working distribution, you need to check out the library skeletons, which are stored in a separate Git repository. To do this, you need to change to the 'helpers' directory and run the following command:

git clone https://github.com/JetBrains/python-skeletons.git

Building and Running

The code is part of the main IntelliJ IDEA Community Edition project and is compiled together with the rest of the codebase. To run PyCharm Community Edition, please use the provided run configuration "PyCharm Community Edition". To run IntelliJ IDEA with the Python plugin, please use the "IDEA with Python plugin" run configuration.

To run the test suite, use the built-in JUnit test runner and run all tests in the "python-community-tests" module.

Building from the Command Line

To build the distribution archive of PyCharm Community Edition, execute build.xml Ant build script in this directory. The results of the build execution can be found at out/artifacts.

Building the Python Plugin

To build the Python plugin for IntelliJ IDEA Community Edition:

  • Download the .tar.gz distribution of the most recent EAP or release build of IntelliJ IDEA Community Edition;

  • Run the following command:

    ant -Didea.path= -Didea.build.number=<build number of the build you're using> plugin

The .zip file of the built plugin will be placed at distCE/python-community-.SNAPSHOT.zip