Snapshot idea/138.1283 from git://git.jetbrains.org/idea/community.git

047cbb9: IDEA-127620 - Clouds: move frameworks to the top level in new module/project wizard - refactoring of import
1d1914f: IDEA-127620 - Clouds: move frameworks to the top level in new module/project wizard - remove from JavaEE group
3206e15: Merge remote-tracking branch 'origin/master'
a513e70: enable injected context for actions in action popups (IDEA-126995)
70c5d69: CommentInjector: improved detection and IDEA-114915 InjectorUtils performance
482cdc2: @MagicConstant added
997dc0b: do not show VM names in run configurations: junit, application (IDEA-126880)
9873768: merge commands to replace duplicates (IDEA-126776)
e9a17df: field can be local: when field is used in method for read it can't be converted to local if used in another methods (IDEA-127159)
f9e6f06: faster LexerEditorHighlighter.checkContentIsEqualTo
6051f49: generic debugger settings: step 3 — root settings (Debugger node content) — Java transformed
bcb94d7: cleanup
a12ac6c: treat Diagnostic.Kind.NOTE as information message, not a warning message (IDEA-105383)
f367dcb: IDEA-127666 Add tooltip to "Project Setting" icon
08d9677: add delegate method to TextFieldWithHistoryWitBrowseButton
ce0d23f: change messages for postfix templates configurable
d7d7e88: platform: syntax compatibility with antiquated Python versions for environment loader
2a10168: SwingHelper moved to platform-impl
0299b30: auto-import context variable declaration type when completing (IDEA-90157)
e353c2f: prefer some well-known java util classes in completion (IDEA-100669)
f81e96e: java chained completion: qualifier class items shouldn't be inserted as constructors
7cb41f8: Update image to visualize the project-based configurable in the Settings dialog.
e1d651b: Cleanup (formatting)
a7e55c6: time limit for constant search
9cce5c7: do not split annotations on multiple lines for params (IDEA-127017)
0aa3890: simplified, added filtering for subsequent parameter pairs: "key, value", "first, second"
d477f91: IDEA-59662: Provide ability to specify right margin (columns) for each file type separately (enabled for PHP)
9b820f7: IDEA-127679 ArrayIndexOutOfBoundsException if no default or focused button is specified
4c997e0: Prevent NPE in AbstractPopup and add corresponding logging
5a49a15: fix inset: VerticalFlowLayout incorrectly uses vertical gap as top inset
ece44da: cleanup
5a46a42: generic debugger settings: step 3 — root settings (Debugger node content)
04518cd: Inspections settings ui: tools not initialized if no necessity to apply inspections filter
da81c5d: ProjectFileIndex#isIgnored renamed to 'isExcluded'
0e67032: Return accidentally removed PyStringLiteralFixer
3089c9c: PY-12877 Complete statement doesn't insert colon for 'with' statement
1c70a28: IG inline fixes: use inline method processor; if simple getter is inlined in simple expr statement - it should be deleted (IDEA-127135)
8835827: logging for (IDEA-127288)
b585c95: inline method: check unique names for this variable in initial class scope (IDEA-127411)
ccc235e: tests: show warning when only ignored tests were detected (IDEA-127660)
ad42de6: vcs: reformat and cleanup
e9fe369: fixed starting jps-builders tests
9d121c2: fix disposeUIResources if merged
2e780d7: turn off contract inference for overrideable methods: fix logic
1bf7333: don't measure MinusculeMatcher performance
2eae3c8: contract inference: take explicit parameter notnull into account (IDEA-127667)
8851417: non-code gutter: get annotations for bytecode psi when highlighting library source
6608b52: generic debugger settings: step 2 — stepping — transform Groovy, all Stepping configurable on one page
e46729f: cleanup
dd0fd0f: ContainerUtil notNullize/nullize
3d30b27: extract EMPTY_SETTINGS_PANEL_PROVIDER
efe0d5a: Inspections settings ui: filter actions in toolbar added
006705c: DefaultVcsRootPolicy refactoring: 'isIgnored' check moved from 'matchesDefaultMapping' implementations to 'getMappingFor'
363b2cd: simplification
12a3d4f: platform: minor optimization (do not rename/delete directory recursively)
9a80d33: vfs: on create/delete notifications mark a child dirty as well
74d6cb2: diff: use separate action for 'roolback' for file (VCS action) and 'roolback' for local changes (LST action)
8b69a0f: diff: fix access to the invalid ranges
1f4de9d: diff: diff from LineStatusTracker
950a80a: IDEA-110611 diff: Ability to revert lines in selection
b6cd05a: diff: small fixes in LineStatusTracker
db873ee: Use Guava's immutable lists instead of static initializers in PySmartEnterProcessor
b1b8116: PY-9176 Converting % to format() doesn't handle multiline string literals
3d377d9: trigger automake for deleted files
1101b55: Merge remote-tracking branch 'origin/master'
3bf8f90: fix paint track
1e1a9c7: IDEA-61550 respect EditorFilter
831cecb: Merge remote-tracking branch 'origin/master'
28dd985: make editor vertical scrollbar bg the same as editor bg on Mac
c3a963a: fix preferred height for JComboBox too
da026c5: override ControlDoubleClick+Left/Right, make new bindings switchable
222d8ef: bind 'clone caret' actions to ControlDoubleClick+Up/Down
41034f6: DirectoryInfo: extracted sub-class
693b2a2: DirectoryIndexTest: renames
a06bd87: Inspections settings ui: added mask and fixed height of severity icon
73dfd94: parameter name folding reducing: - do not inline if parameter length is less than 3 - do not inline if two subsequent parameters has interval names (beginIndex, endIndex; startId, endId; from, to...)
90d58be: DirectoryIndex: removed unnecessary isProjectExcludeRoot method
359bc94: DirectoryInfo simplification: use booleans instead of bit flags because now we have no so many instance of this class (CR-IC-5807)
df51a0d: Inspections settings ui: severity colors in tree showed only for enabled inspections
931d600: Inspections ui: expand/collapse tree fixed
c0d2162: EA-58395 - NPE: PerlMatcher.matches
d203d8f: bytecode-inferred annotations are only available for compiled elements (IDEA-127608)
5c1256f: Merge remote-tracking branch 'origin/master'
bacc3c2: lambda -> method refs: collapse when acceptable method without supers found
3bed881: Merge remote-tracking branch 'origin/master'
dd4ddfb: method ref -> lambda: names based on resolved method (IDEA-126977)
4b7122b: shorten FQNs when insert casts (IDEA-127573)
91f505e: create static method from usage in interface (IDEA-127563)
124d774: generic debugger settings: step 2 — stepping
72a3ffa: Cleanup (formatting)
7016425: Cleanup (two utility classes merged)
ff16ce7: update about graphics
02939b8: add problems listener to update counter
22a3964: +getList() to access configurables list
79a933c: update problems counter for Darcula
b198c6a: add Problems counter
67cbc12: allow to override layouting algorithm
43ab48e: + getErrorsCount()
72925df: pointless expressions: do not simplify a - b - b to a - 0
824f432: workaround for <p/> inside <pre> in javadoc preview in JEditorPane (IDEA-127430)
ae4f3d9: unwrap: adjust caret before RParenth (IDEA-127580)
a46f4ce: anonym -> lambda: disable in case when inferred type differs from type of anonymous class and parameter of param type is used inside (IDEA-127603); BTW param.toString would be also rejected
89dc528: new inference: no substitution during most specific inference by means of new spec (IDEA-127584)
fb786d3: SSR: improve annotation name value pair matching
20cb223: SSR: renaming
6af6e5d: SSR: Nullable annotations
912772c: SSR: remove unnecessary field
1017a77: SSR: remove a bit of dead code
04d10f8: IDEA-127337 Popups in editor sometimes aren't shown on first invocation
f18c04d: jps plugins: added extension to allow plugins contribute to JPS model even if they don't contribute to external build
5c81146: generic debugger settings: step 1 — data views — merge settings (generic and custom) into one page
4a15d1b: add copyright
27fddc2: generic debugger settings: step 1 — data views
e6d092e: cleanup
343e145: cleanup
90cc9e3: cleanup
30c7264: cleanup
31d8039: cleanup
322e539: IDEA-127077 (highlighting test)
4d7f4ab: move PropertiesComponentImpl to core-impl
2495d31: runtime-opcodes support
f3ffe1a: java-analysis-impl doesn't depend on platform-api
68de28e: use JBColor
fd0bb1e: IDEA-127620 - Clouds: move frameworks to the top level in new module/project wizard
0cf69f8: bytecode analysis: resolve only wrt PsiClassOwner (IDEA-127608)
9ca2a55: reverted e442926 because there is no thread visibility problem right now (per discussion with Roman.Shevchenko)
8e74038: additional tracing code for difference of this session and previous session of particular content calculation
bcd970c: Nullable / NotNull
62a0104: revert: Ctrl-N doesn't show after delete; no input field for Ctrl-N etc
9b4912c: lambda: do not start inference from void type (IDEA-127596)
6de6ee1: delegate methods: do not suggest to delegate when delegate would override final (IDEA-127605)
9ff4e24: plugins update dialog layout (IDEA-127462)
f03ca65: create class: filter out generated roots (IDEA-127562)
455fc35: move destination: fix laziness
d93d0ab: Workaround for another JDK bug in cached popups.
a4cdd68: update grails project structure: remove proper instance of ContentEntry (IDEA-120622) using urls since ContentEntry uses default equals/hashcode implementation
14d57e4: Cleanup (formatting)
e35d9d8: IDEA-127077 (incorrect parsing of type annotations)
653ccf4: move to the right module
0e44e1c: Merge remote-tracking branch 'origin/master'
afc422e: fix errors foreground for Darcula
f38dd67: Merge remote-tracking branch 'origin/master'
bbb42a45d: IDEA-126982 (Add an inspection to flag a nonfinal class that only has private constructors)
c54ff24: fix typos
8ae3019: [git tests] assume git version is supported
1e79d7b: [log] Simplify & fix refs comparison API & implementation
dd0a29c: [git] fix refs comparator for the case when refs have equal names
db96ca3: [git] remove trivial test setup
7f6d1ce: [git] rename test class to match the production class name
d94a9bf: simplify:inline variale
a2d93f2: IDEA-126389 FromString ClosureParams Hint should use method.getTypeParametersList() as a context for creating type because method does not process its type parameters in processDeclarations(). Use method as a context if it does not contain type parameter list
a2221d5: IDEA-126334 Correct declaration scope for light parameters and getReturnTypeElementGroovy for light methods
5ccb872: IDEA-126389 FromString ClosureParams Hint should use method.getTypeParametersList() as a context for creating type because method does not process its type parameters in processDeclarations()
b43f06c: make another IG test light
09fafa8: IDEA-127263 ("Conditional Expression With Identical Branches" deleting non-identical branches.)
feeb54a: SSR: remove unused method
d5ce2c1: SSR: match name value pairs when value is not specified
d61fdb0: fix typo
55eb67a: fixing JspAutoImportTest: auto-import classes at statement start
455b352: cleanup. remove unused fields
42c3f0d: change links protocol
05a4407: add hyperlink listener
9906008: Merge remote-tracking branch 'origin/master'
25f1003: stub for ordered scopes problem
7e4a359: Merge branch 'master' of git.labs.intellij.net:idea/community
3559eb7: bundling ecj-4.4 java compiler
0d34ff1: PY-4186 Lettuce BDD tool support (initial commit of lettuce runner)
640c9a6: Merge remote-tracking branch 'origin/master'
e442926: IDEA-117507 NullPointerException on startup of IDEA 13
d2be1f3: disable hard consistency check
5cc3a16: fix mistype in html+ increase space between elements
2dc1b7c: Log popup window size before showing
1a20228: showing build attempt in logs and in title bar only
2df962a: scopes: include module in file pattern as matching would be calculated against it anyway (IDEA-127397)
d60644a: Resize a popup window according to the preferred size of the component instead of its size.
b237157: do not lock UI during plugin download (IDEA-127454)
067ef9e: method refs: check first parameter if it could be a receiver for varargs methods (IDEA-127506)
eff4567: compose error message (IDEA-127534)
3bc9fa3: IDEA-111466 Mac OS X keyboard shortcuts with alt don't work under Oracle Java 7
6bf1409: postfix template fix ternary operator + test
c6ff466: IDEA-111466 Mac OS X keyboard shortcuts with alt don't work under Oracle Java 7
55a8bd4: DebuggerSettings — use PersistentStateComponent instead of deprecated JDOMExternalizable
189f3f5: cleanup
402ccab: DBE-228: column margins
333636c: Replace comma with ampersand
68ec56f: Add groupId for top-level configurable for Junior IDEs.
2ff73e2: don't recreate code fragment psi (IDEA-127039)
5379b77: turn off contract inference for overrideable methods; hopefully, not forever (IDEA-127518)
49a119a: IDEA-121276 Constant conditions: work with arrays
ec7c9a3: JavaConstantExpressionEvaluator: add @Nullable
563ad9e: move DfaValue calculation for expressions to one place
392885a: @NotNull DfaVariableValue.psiVariable
ee1eb2c: store / use buildAttemptInfo taken from file
5de0503: insert delete with renaming logic for Windows into general delete method
0a6a374: Reverted: cast from Short to char is prohibited (1c5a03589e5155633de91051e59255d3ad84414f)
91b8291: IDEA-123863 'Save Project as Template' action leads to deadlock
3aed563: Platform: use presentable names when generate keymaps for help
34f2fb0: grayed call frame view if in library content (the same as in java)
f9982ec: update grails project structure: remove proper instance of ContentEntry (IDEA-120622)
ecbbac9: Merge remote-tracking branch 'origin/master'
9795ec8: extract from internal mode
3b00516: notnull
67b840e: notnull
e4308c8: cleanup
e75bfff: correctly calculate inspection short name in presence of upsource
52d5382: optimisation
1c5a035: cast from Short to char is prohibited
685fdb4: optimisation: getMaybeSuperClassSubstitutor() allows to avoid extra isInheritor() check
60d088f: notnull, cleanup
b5fb827: optimisation
edf6a02: Merge remote-tracking branch 'origin/master'
23586b9: Added coverage.py fixing wrongly optimized imports.
f291cc5: Fixed getting helper.
ecec042: Merge remote-tracking branch 'origin/master'
f997ddb: StringPattern: restore binary compatibility (broken by 64c812e)
145fbae: Merge remote-tracking branch 'origin/master'
642faba: as ignored file set can be quite large, use map without entries for smaller memory footprint (e.g. in snapshot for IDEA-126201 number of ignored files is 126K, size of entries's  memory  for this number of elements is 2.5M)
067aa19: skip non-java files with given word in literal even before retrieving text / searching the word / finding element at tree (IDEA-126201)
aea7066: allow to pull methods in super interface as default ones when super interface already contains a method with the same signature; remove @Override in such case (IDEA-126988)
7d19e0e: method refs: missed super class substitution (IDEA-126969)
f17f398: 'unmark root' action: allow user to cancel exclusion if excluded folder is selected (IDEA-23537)
d61da37: IDEA-122076, IDEA-122172 Multicaret actions in quick find mode
8b2824d: IDEA-121956 Multiple Carets: Add support for skipping next selection
1ce6009: - catch runtime problems (e.g. IndexOutOfBoundsException from ByteBuffer) when instantiating stub index and retry index creation (IDEA-117596, IDEA-125750), ep2
c455dd4: - catch runtime problems (e.g. IndexOutOfBoundsException from ByteBuffer) when instantiating stub index and retry index creation (IDEA-117596, IDEA-125750) - use deleteWithRenaming to update index version (IDEA-127160)
b0fe937: DirectoryIndex: fixed 'isIgnored' for ignored files
fb4de8d: DirectoryIndex: store info for excluded and ignored directories
df68af8: require that notnull fields be initialized (IDEA-114889)
5a22fdc: IDEA-126660 Incorrect 'condition is always true' for a final field if an overridden method is called from the constructor
a7ec8b7: IDEA-126173 Specify exception type thrown by @NotNull annotations
f4d3703: IDEA-126531 Completion inserts unwanted semicolon
2887069: dfa: take into account known variable values when handling number comparisons (IDEA-126446)
1aa6e7a: add cast to disambiguate method calls when replacing their argument with null (IDEA-126466)
65ccc19: HardcodedContracts: use a utility method
4853112: dfa: we don't replace nontrivial references with constants, so remove the corresponding code and tests
3eea5bc: hardcode Guava Preconditions.checkNotNull contract
6d9cf39: dfa: understand assertThat notnull (IDEA-125977, IDEA-65004)
2a3e157: Merge remote-tracking branch 'origin/master'
f5e85e7: IDEA-126122 (reFS volumes recognized)
be1c5b8: Refactoring: configurable from provider can be null
e568624: Cleanup (file watcher project converted to VS13; generated junk dropped; version info updated)
1e7a9e9: Cleanup (tabs/spaces; formatting)
0262088: cosmetics: add extra offset for project icon and label margins
1695e0c: fix AIOOB in history
2b3dd78: add css styles to Error Pane
ac796ba: wrap errors to html for new project structure dialog
59763f3: Focus logging
3d07af1: SingleInspectionProfilePanel NPE fixed
397e893: IDEA-127478 Tip Of The Day dialog could be shown on incorrect monitor
090b2e5: on case-insensitive file systems perform file name compatibility check using real file names, not the ones taken from dynamically built or stored paths
e77cd8a: imports optimized
444f98b: show tooltip when mouse on "multiscopes" icon in inspections settings ui
b0b0fef: external build: send empty text with statistics message to avoid producing unnecessary output by IDEA Project Runner in TeamCity
970fe60: use ProjectFileIndex (from API) instead of DirectoryIndex (from impl) where possible
d9c45be: libraries scope: use ProjectFileIndex (from API) instead of DirectoryIndex (from impl) where possible
417adc7: notnull
b58808c: js postfix templates -> fix examples and configurable UI
ba3b637: Settings dialog: the project-based configurables are marked with an icon.
6508417: IDEA-127438 Tool windows drag&drop failure under Java 7
ca76151: IDEA-127343 Github: pass ModalityState to PasswordSafe
da5b7e6: use Couple
e98cb25: use Couple
568b881: DBE-228: abbreviate long cell values
abd5dce: notnull
6d84ba6: Add image to visualize the project-based configurable in the Settings dialog.
c32d9db: [vcs] IDEA-107598 Affected paths: consider the whole path when highlighting
f4ee468: Inspections settings ui: new inspections tree (tree replaced by table tree, added icons represent severities)
47de3cf6: LiteralExpressionTokenizer cleanup
120fe08: get rid of group border
1a5cf59: IDEA-127343 Pass ModalityState to PasswordSafe.store/removePassword
0143935: remove trivial javadocs
f3eb2b2: [git] Remove obsolete password aware handler
c4a16ff: Get password called with modality state; unnecessary get password from memory removed for hg auth
bf1f916: restore API for idea-php-symfony2-plugin
c53dc62: check for null
62e5744: unused classes from 'old make' implementation deleted
b8ddfa4: groovy compiler: deleted classes related to old make implementation
42926e1: Fix possible NPE in JiraRepository (EA-58392)
3498760: Introduce live integration tests for Tasks plugin. Add initial version of such tests for Trello
6fd747b: Migrate TrelloRepository to new tasks API
3021914: Remove wrong GSON annotation of 'closed' field in TrelloCard
e2b581a: IDEA-115177 (watcher size check no longer needed)
c9d3e32: vfs: file watcher executable lookup fixed
431f9db: get rid of deprecated code
25c8ccd: EA-58277 (diagnostic)
6037400: don't highlight '*.restartRequired' properties in registry.properties as unused
dfb7e51: registry: use 'restartRequired' property to enforce automatic restart
3305c35: registry: description text corrected
0ffc7d0: CIDR: OC-10422 Current resolve configuration should be preselected in resolve context panel
5f31e2e: show excluded files in Project View, initial (IDEA-23537)
ace6fe4: artifacts: one more unused class from 'old make' implementation deleted
5897a01: deleted old unused deprecated 'build participant' classes
b75d5f2: artifacts: unused classes from 'old make' implementation deleted
3ed24eb: RUBY-15507: we should not wrap configurables in scroll pane
26b2743: ProjectViewPsiTreeChangeListener updates tree more deeply on property changed
77ee53a: Fix again the following changes that were reverted: Fix for nullable composite configurable.
d0cd301: IDEA-126984 Mac OS X: Double line above the editor
c2e6ab0: revert (e3e3224e853ad466cebf13c8b5c7f01d272d8e88 Fix for nullable composite configurable.)
d1ce059: highlight modules
8b6c40d: platform: splash misalignment on Windows fixed
8b35719: devkit: incorrect modification reverted
928feba: JavaHelp 2.0_05
bc13d12: Merge remote-tracking branch 'origin/master'
a9d7da6: added test for default property file in resource bundle editor
160fca0: project: windows update scripts unified
e3e3224: Fix for nullable composite configurable.
a69f781: cleanup
aa16ba2: IDEA-126984 Mac OS X: Double line above the editor
0994232: project: build/update scripts tuned to support home paths with spaces
b9eb20d: EA-57720 - PIEAE: LeafPsiElement.a
1396322: IDEA-127343 Pass ModalityState to PasswordSafe.getPassword
7eb4791: [git] remove obsolete javadoc
4d3abb7: cleanup: remove trivial comments
d8f6d4c: SeverityEditorDialog -- if "mixed" pseudo severity chosen then no default selection
e39d6a2: ScopesAndSeveritiesTable suppress unused declaration inspection
f356442: DBE-321: prevent data tooltip flicker
226e175: Inspection settings UI: multiselection in inspections tree support
68c651e: catch exception when writing content, marking vfs for rebuild (IDEA-125925)
f59b7b3: revert the change that breaks functionality
eac71fe: add tool window id to assertion
349f84a: fix several concurrency issues in Search Everywhere
65824bb: Some configurables requires the dynamic attribute to configure its wrapper properly.
73c7f62: go to action: move Analyze Stacktrace... to the top
5458ff1: IDEA-127232 Fatal Error on startup on Mac Os X
09230b2: IDEA-125671 "Install plugin from disk" action could have different description in Find Action list, because now there are two identical items in the list
35e6c4d: remove suppressions
e83f80f: implicit usage provider for *.description in registry.properties
ddae39a: file path completion fixed
6f1f6cf: Inspection settings UI: creation copy of tool wrapper if new scope inserted
981a3db: remove unused class ColumnInfo$StringColumn
864cd2d: Inspection settings UI: - "ALL" scope moved to last position in table -  move scopes in single inspection disabled
4965683: Merge remote-tracking branch 'origin/master'
e488923: cleanup. remove unused methods
d13074e: fix incorrect target element calculation for text editors
e2c4550: typo
219b31c: show display name for certificate configurable
1b4a3c1: larger scope when searching in path / ssr (IDEA-127068)
17a5843: disable plugins if cycle was detected (IDEA-127177)
001a9cf: New inspections settings UI: - nodes for individual scopes deleted from settings tree - added table in right panel to configure scopes&severities - new scope button added to right panel (if only default scope currently available)
de377f8: extract variable missed events (IDEA-127166)
dcb45f2: extract field missed events (IDEA-127167;IDEA-127169)
1d8d358: extract parameter missed after event added (IDEA-127170)
30d945d: local rename events (IDEA-127172; IDEA-127172)
d0b86b6: popup position for injected fragments during inplace refactorings should be calculated over injected editor as caret range marker is against injected document (IDEA-126989)
53de53f: Refactoring of grouping configurables. Use the following registry key to switch on this functionality: ide.file.settings.order.new
088e9a2: Fix tests broken after changes for PY-4073
d5032e5: java: parser changes temporarily reverted
690797e: Using "Batch File Change" events in BuildManager to cancel already running automake session while VCS is updating working tree (IDEA-111673)
4e586b4: replace with foreach
b70bfe3: Platform: do not produce duplicating shortcuts in help keymaps
d65ce21: Merge remote-tracking branch 'origin/master'
6a141b3: [git] rename utility method to a more consistent name
c5129cf: fix layouts: exclude structural search from defaul platform implementations
a9396b6: unused property inspection: search in a narrow scope first
5002c70: contract inference: honor already known parameter values during data flow analysis
704198c: contract inference: exclude contracts not matching the return type
349f900: no ContractInference for compiled elements
f02a497: change foreground and separator color
2e6fb66: move Problems down and change separator
6404449: support "--" separator
aa98745: customize separator
2e376b2: [git] IDEA-126472 IDEA-126473 Notify about external changes modifying the working tree
1a37016: [git] better diagnostics output format
f9a615b: [git] remove unused method
8b2eae6: [git] Remove duplicated code
5dd8682: Merge remote-tracking branch 'origin/master'
91b1e1b: Fixed wrong cast.
44ec294: annotate getPattern / getOptimizedIndexingPattern with @Nullable return info
50d32b8: SSR fix replace test
6521af0: IDEA-127077 (incorrect parsing of type annotations)
5b72fac: Cleanup (warning)
4fd07a5: License dialog: License key: provide precise diagnostic for rejected key After-review
6cb2eab: Remove deprecated Remote Interpreters API.
7d1e1bd: do not propagate exceptions in case of broken bytecode
980b837: fix test
e099a14: gant-based builds: added one more jar required for Kotlin compiler
f36393b: go to action: use gray instead of italic for shortcuts rendering
1c43998: gant-based builds: removed incorrect classpath entry for Kotlin compiler
ffb8b5f: gant-based builds: added jars required for Kotlin compiler to classpath
47eec66: java inheritor cache: use weak map to avoid holding PSI for unnecessary long time
1a78fe7: goto action: restore enabled action preference
8343e8e: goto action: rewrite using a more suitable API, prefer exact matches, fix search everywhere
a24b862: IDEA-127189 Select next/all ocurrence fails with braces
304a69b: IDEA-103025, EA-53787 fix handling of special fonts in soft wrap model
dd4b761: trait field searching test fixed
7c04faa: Merge remote-tracking branch 'origin/master'
bad2fa8: Fixing env tests
dd23104: memory hogging on javaInjections.xml editing
1bbb89c: go to action: proper text attributes for shortcuts
0057fe3: go to action: don't show duplicate group for intention actions
482084c: go to action: missing bg for option descriptors
590ed4c: disable create instance field inside interface (IDEA-127211)
65d11dd: disable generate test method actions outside class (IDEA-127246)
f69f9fd: leave static modifiers in interface methods (IDEA-127255)
42f50f6: sort items in goto action by matching degree (IDEA-112613)
45915b2: show colored matched fragments in goto action (IDEA-112613)
34b51a1: show progress when status bar is switched off (registry: ide.show.progress.without.status.bar)
cdbb650: null check
d5dada4: disposed check
64c812e: StringPattern: cleanup, add StringPatternTest
7fa1b28: remove unnecessary field and getter from SSR ReplaceCommand
472bf3f: java: decompiler fixes (IDEA-127229 et al.)
7ada79c: AnnotationUtil.isInferredAnnotation
c0d76a2: parameter info: don't retrieve inferred annotations in dumb mode
4df5903: IDEA-127127 charset name completion: provide completion for more APIs
b6ea24b: don't duplicate annotations in parameter info
3f7935a: dfa: turn on contract inference from source
b6b76b7: IDEA-127212 Live templates "Use static import if possible" fails sometimes
f372b95: corrected 'isCommunity' check
08b3c7f: disable table speed search for empty tables
51292ab: Merge branch 'svn_18_3'
511f071: IDEA-126911 Do not call "VirtualFile.getFileType()" for directories (while checking if annotate action is enabled)
93e45b9: PY-4073 Add completion for special function attributes
0a5bfb0: Merge remote-tracking branch 'origin/master'
0fcfb36: Merge remote-tracking branch 'origin/master'
86b7bf5: Fix copying .egg files from remote host to libraries folder (PY-13044).
912c0d7: html editor as a error pane
55b4064: do not modify profile file to write default
102bcb2: structural search bundles fixed
bb0b50c: Merge remote-tracking branch 'origin/master'
5253ba2: type migration: make part of platform
3ab8864: Error pane initial
581cf80: structural search: groovy should work in community
76726e8: disposed check
be28458: css synchronizer — support of manual update
7b29836: structural search: make part of platform: enable in community
a5061f3: fix module locations
a3626d6: Merge remote-tracking branch 'origin/master'
695682b: structural search: make part of platform
50e27ec: enable inline redundant local vars in batch mode (IDEA-126957)
49b9f30: EA-58014 (diagnostic)
9d32e98: added incompatible plugin version org.intellij.clojure / 0.2.1.178
c27d829: - properly retrieve set of keys for unsaved documents for their first change - (in extra sanity checks mode) added PHM that stores previous content indexing info to facilitate discovery / fixing assertions about different indexing behavior
0896a25: avoid accessing invalid buffer
159f3c5: Merge remote-tracking branch 'origin/master'
4cc0d5e: IDEA-127183 Windows: Look for 1.8 JVM registry entry by default
f41f9c3: Debugger reader performance fixed, now uses BaseOutpuReader (PY-11393).
cb2159e: Switch on new Alt processing under Windows L&F.
ef8fbc4: notnull
e1445e6: Gradle: IDEA-127217 Tests with spaces aren't wrapped with " " when running specific test as Gradle test
cf1f8c8: fix tests: improved 'isInCommunity' check
bcb38e5: pep8.py updated to version 1.5.7
0970549: Coverage.py updated to version 3.7.1
90f034d: Merge remote-tracking branch 'origin/master'
6ec557a: Try even more to connect.
69a2a4c: path completion: rendering fixed for several matched context helpers
21efa65: cleanup
7494ef6: support for multiple groups in idea.test.group property
00847ed: No need to register MessageBusConnection disposal: it is done automatically
0fb6eab: Suppress "unused" constructor: initialized as a Service
2b6b549: Fix already disposed EA-58257
fc46e99: look for JVM 1.8 first
b7cea46: added caching + minor size opts
63453c3: fix NPE in SSR ReplaceOptions
941c20b: stop usage search on target invalidation (EA-54329)
d75a12f: invalid type diagnostics (EA-58069)
121084a: remove specific Lookup check in intentions pass, daemon is disabled during lookup anyway (EA-58246)
71fd543: WEB-9954 move and rename confusing "Live Edit menu item
5d745b1: check for null for content hashes flush
7073116: fix ConcurrentMapsTest (by Roman)
6d6d15a: IDEA-122254 ("Use static import if possible" checkbox for the Structural Replace dialog)
4febd80: intention should insert static import when replacing assertNull() with assertEquals()
4dd5b62: insert static import when replacing assertEquals() with intention
591d723: insert static import when flipping assert literal outside of test method
90f2ef5: use static import if it is already present for several intentions and inspections
dd2d141: Merge remote-tracking branch 'origin/master'
ae714aa: Win tests should be more stable now
3b3fee8: clear zip file caches on low memory
c81ebf5: Refactoring: create instances of IdeConfigurablesGroup and ProjectConfigurablesGroup in one place.
b83f901: Merge remote-tracking branch 'origin/master'
9c13559: Comment.
ec56a95: skip leading .* in reg exp used for todo pattern when building index: it makes sense for todo highlighting but increases matching due to backtracking enormously (IDEA-74104)
d83e334: IDEA-126836 Formatting adds extra blank line after class header if it ends with comment
6d68662: use 1px separators
e360f62: add utility method to configure 1px separator
23ba8f8: use encoding info when building hash for contents + rebuild content dependent indices upon encoding change
7b8cc6c: Fixed according to CR-IC-5706
93d37fa: don't auto-import classes where class references are prohibited  syntactically (IDEA-127190)
f87e56d: bytecode analysis: a comment about lite control flow analysis
90addcd: bytecode analysis: lazy resultOrigins analysis
a7c1c1a: bytecode analysis: lite control flow analysis
8211223: bytecode analysis: no analysis at all if nothing is inferrable
60a6acf: moved method from moduleutils to modulerootmodificationutils
3173594: jetbrains.dic + "unmerged"
c95ca18: support prefix expressions in quick evaluate
8d71285: cleanup
e418bb2: use UIUtil.getSidePanelColor()
bef8a7f: remove border for content component
1835567: + side panel color
105b9a1: @Nullable
ef2875d: IDEA-126927 - CloudFoundry: if the same artifact is deployed to few clouds, one can view the state of the single one only
7c415ca: IDEA-127069  help button added to the Mercurial Update Project dialog
0e12675: Revert "StringUtil: Added wordWrapString() method"
5af9e9f: separator titles for Darcula
b044185: better IDE responsiveness during bytecode indexing
15ed602: svn: Fixed converting SVNStatusType to StatusType - explicitly check values that have non-unique status type names
43b6e08: BytecodeAnalysisIntegrationTest: a more profound test data refresh
525a896: Merge branch 'master' of git+ssh://git.labs.intellij.net/idea/community
fe15e86: bytecode analysis: index version increment
0d24afe: disabled batch evaluator by default, overhead is too high. Enable if needed using registry key debugger.batch.evaluation
0069112: added nontull
062254d: svn: Refactored SvnStatusHandler - moved status type parsing to StatusType class
a884c1b: ignore inferred annotations when checking overriding parameters nullability
b6b6ea1: bytecode analysis: lite persistent hashCode for Configuration
1f05788: bytecode analysis: skipping frames and debug instructions
aa3b189: svn: Refactored StatusType - removed deprecated STATUS_MERGED value
f2d0988: do not capitalize titles
5ba1390: extract CachingEnumerator from PersistentStringEnumerator
1cd8961: IDEA-126973 IDE does not see the use of string resources in libraries
bb0b856: @NotNull
b700084: nullable/notnull/contract intentions available on library sources in Groovy
18afce3: external/inferred annotation gutter markers in Groovy
18dcabb: [vcs] assert annotationProvider != null (otherwise the action shouldn't be enabled)
ff89749: [vcs] Handle all exceptions during annotation similarly. EA-58021
45cd16b: svn: Refactored SvnVcs.svnStatusIs() - method moved to Status class
37423bb: StringUtil: Added wordWrapString() method
228a7f0: IDEA-127144 (No word wrap or horizontal scrolling for ignore list in Proxy dialog)
a570ab1: SSR: remove unused code from replace options
e19e11f: SSR replace handler cleanup
ab42788: IDEA-125021 Improve multi-caret copy-paste logic
8662259: IDEA-127125 Throwable at com.intellij.debugger.ui.breakpoints.BreakpointWithHighlighter.reload
7c0fcae: fixed Breakpoints tests
be3789a: do not calculate source position twice
a22e159: Disable css emmet fuzzy search by default
687fa76: no need for findClass if we have object already
86d795a: ElementPatternCondition: less memory
7801b62: ObjectPattern.oneOf(T...): less memory for single value
394b9f4: GPUB: keyword completion on non-trivial offsets
d9d79ac: resource bundle editor property rename fixed: no property with old invalid name creation after rename
233bdf9: svn: Replaced SVNStatusType (from SVNKit) with custom StatusType enum
5803898: action popups are broken if new project settings dialog option is on
1b4fef2: svn: Replaced SVNEventAction (from SVNKit) with custom EventAction enum
cbcc65f: more robust lookup start offset invalidation tracking (EA-51961 etc)
4703c93: IDEA-75885 Fast invoking shortcut with Alt brings focus to main menu [Windows] IDEA-87408 Hold <ALT> button and select multiple lines vertically does not work as desired
19eb679: Add diagnostic info
40acdf7: License dialog: provide precise diagnostic for rejected key (IDEA-122894, IDEA-125916, IDEA-125917, IDEA-125921)
e28ee1b: display inferred annotations in italic
fe21a09: IDEA-81781 Unintuitive 'Project Files Changed' message box
78b8b2c: Fix emmet tests
b363ad7: notnull
ac8bf17: added comment
d61930f: revert 43b0575239264eef2d4a5299b48f3d2119d8d380
3674c5e: PY-13140 Fix several minor issues found during code review
99058ce: TableView: update only visible column sizes
4a8c1f7: fix BytecodeAnalysisTest?
6563b56: fix BytecodeAnalysisTest?
f6c970f: IDEA-126896 Gradle: Grails integration buildPlugins issues
1ee9d0e: ModuleWithDependentsScope, another minor post-review cleanup
1478698: Fast groovy tests: exclude external system integration tests from FastGroovyTestSuite (e.g. GrailsGradleImportingTest)
43b0575: IDEA-126836 Formatting adds extra blank line after class header if it ends with comment
abcc172: IDEA-127062 Bug when closing splitted editors
ee204e9: IDEA-127045 Unexpected 'step over' behaviour in debugger
a2fb7f6: DBE-60 Windows Authentication for SQL Server
79fc7d2: processing vcs changed text only if we are not processing selected one
0f34d80: Add diagnostic info
f506a15: PY-13140 Underscored names are completed inside import statement
e0ddef7: PY-13140 Top-level module names starting with underscore are not imported via wildcard import
b6eee00: fix PushedFilePropertiesUpdater registration
b9e4b83: BytecodeAnalysisIndex is only in idea
4dfa351: BytecodeAnalysisConverter is only in idea
cb79e2e: if editor has selection, reformat only selected lines, when reformat dialog is not shown. Do not take into account processChangedText flag
76ed9f7: Merge branch 'master' of git.labs.intellij.net:idea/community
c3c78c5: IDEA-93948 Code Style->XML->Other: no preview text for CDATA
d08111d: XML Colors settings: fix description text (missing line breaks)
34dcb63: SSR: remove unnecessary class
472994b: remove some dead code from SSR search dialog
fca4af3: more efficient shortening of class references in SSR
560fb1c: fix not-null assertion
e13715a: fix NPE
9665337: javascript-psi-impl shouldn't depend on lang-impl
2a91d19: fixed XBreakpointManager.testSerialize
f698722: ModuleWithDependentsScope minor post-review cleanup
9d399a3: WEB-12568 Dart autocomplete deletes closing bracket
95673d1: don't use getPackage to check if PSI directory is in source (SCL-7243)
fbbb221: bytecode analysis: copying to prevent indices/enumerators issues
831ab18: bytecode analysis: compound keys - maximizing shared stuff
0ddd915: enable inference bytecode indexing only in internal & test mode
ee888c2: fix AnnotateMethodTest
e0861b8: bytecode analysis: leaking parameters analysis
31d93dc: ProjectBytecodeAnalysis -> service
fbb2825: ignore inferred annotation in @NotNull propagation to overridden methods
1b75318: adapt testdata to inferred jdk annotations
f350b3d: hold inferred @NotNull annotation on a hold reference to avoid UsageViewTest failures
0e53e62: bytecode analysis: assume that errors are due to incorrect bytecode
affe6e0: log bytecode analysis related information with debug level
a11744c: adapt dfa testAlexBug to jdk notnull inference
f98006e: ProjectBytecodeAnalysis: use tree hierarchy to find parameter's declaring method
bfbc9e0: limiting number of elementary steps of bytecode analysis to 30000
8eee4f3: import fix
261018e: logging AnalyzerException
ce0e838: bytecode analysis: increase IDE responsiveness during large class file analysis (e.g. groovy's ArrayUtil)
3357716: bytecode analysis: use separate keys for each file to avoid O(n^2) index removeAssociatedValue
7fc5d9e: make BytecodeAnalysisTest more classloader-agnostic
bd2ebf1: cache enumerator data, remove unnecessary enumerator queries
14ed555: do postponed formatting in JavaChainLookupElement (EA-56040)
ce64501: no contract annotation if method is already @NotNull
1754869: findInferredAnnotations returns @NotNull array
3b75ca1: refresh annotations dir during setUp
6dd49cb: update annotations after mockJDK update
c5f3f23: hashCode via ordinal, copying equations into solver
90e6e0d: myAnnotations are volatile
08811b0: more logging
1e54e26: simple smoke test that inferred annotations are visible to codeInspection
0db25e9: arrays and primitive collections
658b710: aligned with faba
b993ee5: NPE fix (possible dead bytecode instructions)
8de3dfd: using TIntObjectHashMap in analysis (instead of wrappers)
0ea01ef: minimal structures for inferred annotations in memory
861fbc7: reload inferred annotations on root change
92e2f07: checking enumerators during converter initialization
338481d: Bytecode analysis tests
75eb3cb: straightforward solver
7056873: rigid infinum
6220d1a: porting faba features
ecce111: Contract clauses normalization (sorted)
cd2946b: Tuning null -> ... analysis
82e7fd8: Parameters: CNPE join CYCLE = CYCLE
ade7530: stable calls (ported from faba)
657b7af: starting integrations tests
70cc7af: qname may be null (anonymous classes)
f2e3270: smart propagation (resultOrigins analysis)
05486ff: separate indices
eb58968: a proper disposal of app component in the test
1901b35: this is NotNullValue
f8a153e: equals/hashCode for index values
6dcf377: comments + refactoring
383752b: compound indices in action
ff84337: initial implementation for compound keys
d905c85: towards compound keys
68ef299: Refactoring: moving class processing into DataIndexer
c8e0bef: towards compound ids
bacb5f5: extracting converter
655e0ba: poc implementation via indices
eac23b5: indexing
dabdf64: towards indexing
10fda95: emulating touch via special value
e1fce3d: No need for components (with touched flag) in raw equations
44ea307: testing contract annotations
a8717a4: testing hand-coded classes
fb6ce34: Start test for BytecodeAnalysis
8ec604c: using (naively yet) solutions of IntIdSolver in Idea
fc86f2b: full cycle of solving (not tested yet)
1d2c7d5: in progress: internalizing equations
c31fd4a: No need for signatures
41d2da1: poc usage of enumerators
073012d: inferred annotations in gutter
8c57905: Draft implementation of inferring Nullity and Contract annotations
dca785b: stub for inferred annotations
d83c897: @notnull
aeb0b27: allow / skip build attempt number e.g. IU-135.455.10 (IDEA-122579)
604ec3a: Add workaround for CertificateManager *service* to work with old task connectors
b96c582: Rename classes related to legacy JIRA interface to not cause confusion anymore
165465c: IDEA-123972 Display JIRA version under JQL editor field in settings
6708af2: Use simpler test API for performing actions
eb009fc: introduced expandNodesOnLoad in XDebuggerTree
1c3cefb: nice diagnostics for failed assertion about same indexing result from the same content
6b75304: IDEA-127042 Create tip of the day for quick evaluate
b8d6082: add to watches with control+enter from evaluate dialog
86d958c: for nonntrivial file systems (e.g. in tests): build todo data flag should have the same value as todoindex.isAcceptable (cherry picked from commit 5213e01)
962d04b: svn: Refactored SyntheticWorker - reused default DirectoryEntry comparison for sorting
99e9710: IDEA-107376 Goto next / previous splitter not working when show tabs are set to none (Carlos Ortiz)
0ce61f1: notnull
a0f6b0a: svn: Refactored "checking node kind" logic - use utility methods (instead of direct comparison with NodeKind enum values)
2b5e1c1: update breakpoints and execution line highlighters on color scheme change
69be4e2: svn: Refactored RepositoryBrowserDialog - removed duplication and simplified "set action enabled" logic
e438d20: Merge remote-tracking branch 'origin/master'
1cc9650: IDEA-122894 License dialog: License key: provide precise diagnostic for rejected key (cherry picked from commit ff0eada) (cherry picked from commit 29c98ba)
9241cae: Merge remote-tracking branch 'origin/master'
7d896bb: provide completion variants for Charset.forName() in Groovy (IDEA-126595)
e62b6df: IDEA-126973 IDE does not see the use of string resources in libraries
02e5ede: updated javadoc for exit and restart actions
e1d0804: WEB-12677 Emmet: do not expand too long abbreviations
6046586: Emmet: preview editor should have maximum width if softwraps are enabled
be20e87: DOC-3246 IDEA: Update master password dialog panels help
ca5260d: IDEA-79083 Popup lists are sometimes not clickable
8a05f8e: Merge remote-tracking branch 'origin/master'
be76dc1: highlight matches in plugins table
fcd53e5: save search query as a client property
fd6b2c9: add a client property key for search query
febbd75: fix inspection setting
e119956: svn: Simplified node kind values parsing - parse right to NodeKind enum (using jaxb annotations)
6979d52: do not let transient iterator escape as it references nonsharable thread locals
746de0c: diff: fix example in diff editor color settings
3eebc8b: show different icons for muted enabled/disabled breakpoints
1b1a23a: IDEA-120465 Code completion: no Autopopup code completion and inserting pair brackets if Column selection mode is on
9dde9e3: svn: Replaced SVNNodeKind (from SVNKit) with custom NodeKind enum
ed3bf70: split 'force' flag into two different ones: 'force' and 'exitConfirmed', so that now 'force==true' guarantees application shutdown; (fixes also IDEA-127009)
756bc03: performance optimization (following IDEA-CR-337)
7a94893: change storage format for smart backspace configuration (following review CR-IC-5570)
8feafdf: Updated tests due to changes in interface of CommentByLineCommentAction
5d8aeec: IDEA-127074 Executing gradle script fails with error '.../build.gradle' is not a directory
546e0ba: IDEA-88643 delete item from list of breakpoints by pressing delete key: selection should not return to position 1.
4de85a6: IDEA-122513 Can't expand single character property in Spring config
2595051: fix blinking test
51305d0: fix test (following IDEA-124928)
51c9f4a: IDEA-121060 Multiple carets: comment/uncomment works incorrectly
0ddcf6e: IDEA-121060 Multiple carets: comment/uncomment works incorrectly
d51dd50: IDEA-121060 Multiple carets: comment/uncomment works incorrectly
9307f63: svn: Save selected depth for update/integrate operations in configuration
0e44683: svn: Refactored DepthCombo - use custom renderer to display presentable depth labels (instead of separate DepthWithName class)
c20bfe7: svn: Replaced SVNDepth (from SVNKit) with custom Depth enum
0e8564a: Merge remote-tracking branch 'origin/master'
c3e78ad: Add read action.
54474d0: TestDataGuessByExistingFilesUtil: prevent thread starvation and use processor to avoid several huge String collections in the memory (IDEA-127038)
02c1b76: svn: Utilized CommitInfo when parsing "svn list" output and for DirectoryEntry implementation
ac00218: svn: Unified "lock" information parsing for info, status and browse clients (utilized Lock class for all cases)
3ea1e9e: Merge remote-tracking branch 'origin/master'
61c9bc4: highlight matches in selected search result
e3fd6eb: don't add a newline when completing with smart enter shortcut (IDEA-126726)
4029019: EA-57959 - ISE: DomInvocationHandler.getAttributeChild diagnostics
e3c7a70: don't require PerformanceWatcher unresponsiveness threshold to be divisible by unresponsiveness interval (IDEA-127038)
02b931c: diff: fix NPE
dc4f600: Merge remote-tracking branch 'origin/master'
bcc88e8: svn: Replaced SVNLock (from SVNKit) with custom Lock class
f21bc13: svn: Replaced SVNDirEntry (from SVNKit) with custom DirectoryEntry class
8434e55: svn: Fixed NPE in SvnKitBrowseClient (SVNLogClient.doList() logic) - use SVNRevision.UNDEFINED if null is passed
e6f257f: Added multi-associations in win (un)installer with the controls on the option page.
6eb7f53: svn: Replaced ISVNAnnotateHandler (from SVNKit) with custom AnnotationConsumer class
535cb8c: svn: Refactored SvnRemoteFileAnnotation - removed unused fields
56cd6a8: svn: Refactored BaseSvnFileAnnotation - utilized CommitInfo for implementation logic
6916bac: svn: Refactored BaseSvnFileAnnotation - code simplified, duplication and unused code removed, warnings fixed
79f167e: svn: Utilized CommitInfo when parsing "svn annotate" output
5585db2: svn: Replaced SVNCommitInfo (from SVNKit) with custom CommitInfo class
3b0971e: svn: Replaced SVNDiffOptions (from SVNKit) with custom DiffOptions class
58ab1b9: svn: Replaced SVNConflictVersion (from SVNKit) with custom ConflictVersion class
d287078: svn: Fixed "memory leak" error (on application close) after viewing merge source hierarchy details - correctly register dialogs for disposal
ef3bc87: svn: Refactored TreeStructureNode - made not to be generic, renamed
ff2698d: svn: Unified LogEntry and LogEntryPath with corresponding similar classes used for svn executable xml output parsing
00224be: svn: Replaced SVNLogEntryPath (from SVNKit) with custom LogEntryPath class
6a330b5: svn: Replaced SVNLogEntry (from SVNKit) with custom LogEntry class
615f0cb: svn: Refactored parsing of child xml elements collections - use @XmlElementWrapper (instead of intermediate classes)
5ac00c0: svn: Refactored SvnUtil - moved "getPathForProgress" to ProgressEvent
cef6176: svn: Refactored ProgressTracker - removed unused method parameters, make inherit ThrowableConsumer
17cbb94: svn: Replaced SVNEvent (from SVNKit) with custom ProgressEvent class
57e1c41: svn: Preserve several more used fields when converting from SVNStatus to Status
37798c0: svn: Allow @Nullable values when converting SVNKit types to corresponding svn4idea types
ea32a54: IDEA-125627 Added new conflict reason values available in svn 1.8
099870d: svn: Replaced SVNConflictAction, SVNConflictReason, SVNOperation (from SVNKit) with corresponding custom enums
6dc734f: svn: Replaced SVNTreeConflictDescription (from SVNKit) with custom TreeConflictDescription class
57db2a5: svn: Replaced SVNStatus (from SVNKit) with custom Status class
6730240: svn: Replaced SVNInfo (from SVNKit) with custom Info class
b527300: svn: Removed unnecessary IdeaSVNInfo - directly use SVNInfo instead
46fdb20: svn: Refactored UpdateClient - make methods throw SvnBindException (instead of SVNException from SVNKit)
9ccd315: svn: Refactored StatusClient - make methods throw SvnBindException (instead of SVNException from SVNKit)
bb3582d: svn: Refactored RepeatSvnActionThroughBusy - make methods throw VcsException (instead of SVNException from SVNKit)
33b3795: svn: Refactored InfoClient - make methods throw SvnBindException (instead of SVNException from SVNKit)
ab74ce3: svn: Refactored CmdInfoClient - removed duplication, methods extracted/inlined, @NotNull
29f24cf: svn: Refactored CmdInfoClient - inlined "doInfo" methods, removed duplication
17d79f7: svn: Refactored UpdateClient - removed unnecessary methods
19cc497: svn: Refactored StatusClient - removed unnecessary "doStatus" overload method (call replaced with more general overload)
faa09ef: svn: Refactored StatusClient - removed unnecessary methods
b45cfaa: svn: Refactored StatusClient - removed unnecessary "doStatus(File path, boolean remote, boolean collectParentExternals)" overload method (as always invoked with collectParentExternals = false)
ae24d84: svn: Refactored InfoClient - removed unnecessary methods
2e97768: svn: Added some todo items for working copies of 1.8 and greater formats (cleanup, nested working copies file status refresh)
7874cb3: svn: Refactored SvnCheckoutProvider - removed unused parameters, @NotNull
22b2900: svn: Refactored SvnCheckinHandlerFactory - code simplifications, warnings fixes
1ce0847: IDEA-118540 Refactored "committing changes to same repository but from working copies of different formats" detection logic, updated confirmation message
491ac7d: svn: Updated working copy format checks to be "weaker" - to correctly support working copies with greater than svn 1.8 formats

Change-Id: I25f808eb8c86e4bd21610b40ab6b6df310d8e636
diff --git a/python/testData/MockSdk2.7/python_stubs/__builtin__.py b/python/testData/MockSdk2.7/python_stubs/__builtin__.py
index 6ae5948..ca174bb 100644
--- a/python/testData/MockSdk2.7/python_stubs/__builtin__.py
+++ b/python/testData/MockSdk2.7/python_stubs/__builtin__.py
@@ -1,7 +1,7 @@
 # encoding: utf-8
 # module __builtin__
 # from (built-in)
-# by generator 1.124
+# by generator 1.135
 from __future__ import print_function
 """
 Built-in functions, exceptions, and other objects.
@@ -43,25 +43,24 @@
     """
     return 0
 
-
 def all(iterable): # real signature unknown; restored from __doc__
     """
     all(iterable) -> bool
     
     Return True if bool(x) is True for all values x in the iterable.
+    If the iterable is empty, return True.
     """
     return False
 
-
 def any(iterable): # real signature unknown; restored from __doc__
     """
     any(iterable) -> bool
     
     Return True if bool(x) is True for any x in the iterable.
+    If the iterable is empty, return False.
     """
     return False
 
-
 def apply(p_object, args=None, kwargs=None): # real signature unknown; restored from __doc__
     """
     apply(object[, args[, kwargs]]) -> value
@@ -75,7 +74,6 @@
     """
     pass
 
-
 def bin(number): # real signature unknown; restored from __doc__
     """
     bin(number) -> string
@@ -84,7 +82,6 @@
     """
     return ""
 
-
 def callable(p_object): # real signature unknown; restored from __doc__
     """
     callable(object) -> bool
@@ -94,7 +91,6 @@
     """
     return False
 
-
 def chr(i): # real signature unknown; restored from __doc__
     """
     chr(i) -> character
@@ -103,7 +99,6 @@
     """
     return ""
 
-
 def cmp(x, y): # real signature unknown; restored from __doc__
     """
     cmp(x, y) -> integer
@@ -112,7 +107,6 @@
     """
     return 0
 
-
 def coerce(x, y): # real signature unknown; restored from __doc__
     """
     coerce(x, y) -> (x1, y1)
@@ -123,7 +117,6 @@
     """
     pass
 
-
 def compile(source, filename, mode, flags=None, dont_inherit=None): # real signature unknown; restored from __doc__
     """
     compile(source, filename, mode[, flags[, dont_inherit]]) -> code object
@@ -142,7 +135,6 @@
     """
     pass
 
-
 def copyright(*args, **kwargs): # real signature unknown
     """
     interactive prompt objects for printing the license text, a list of
@@ -150,7 +142,6 @@
     """
     pass
 
-
 def credits(*args, **kwargs): # real signature unknown
     """
     interactive prompt objects for printing the license text, a list of
@@ -158,7 +149,6 @@
     """
     pass
 
-
 def delattr(p_object, name): # real signature unknown; restored from __doc__
     """
     delattr(object, name)
@@ -168,7 +158,6 @@
     """
     pass
 
-
 def dir(p_object=None): # real signature unknown; restored from __doc__
     """
     dir([object]) -> list of strings
@@ -186,7 +175,6 @@
     """
     return []
 
-
 def divmod(x, y): # known case of __builtin__.divmod
     """
     divmod(x, y) -> (quotient, remainder)
@@ -195,7 +183,6 @@
     """
     return (0, 0)
 
-
 def eval(source, globals=None, locals=None): # real signature unknown; restored from __doc__
     """
     eval(source[, globals[, locals]]) -> value
@@ -209,7 +196,6 @@
     """
     pass
 
-
 def execfile(filename, globals=None, locals=None): # real signature unknown; restored from __doc__
     """
     execfile(filename[, globals[, locals]])
@@ -220,11 +206,9 @@
     """
     pass
 
-
 def exit(*args, **kwargs): # real signature unknown
     pass
 
-
 def filter(function_or_none, sequence): # known special case of filter
     """
     filter(function or None, sequence) -> list, tuple, or string
@@ -235,7 +219,6 @@
     """
     pass
 
-
 def format(value, format_spec=None): # real signature unknown; restored from __doc__
     """
     format(value[, format_spec]) -> string
@@ -245,7 +228,6 @@
     """
     return ""
 
-
 def getattr(object, name, default=None): # known special case of getattr
     """
     getattr(object, name[, default]) -> value
@@ -256,7 +238,6 @@
     """
     pass
 
-
 def globals(): # real signature unknown; restored from __doc__
     """
     globals() -> dictionary
@@ -265,7 +246,6 @@
     """
     return {}
 
-
 def hasattr(p_object, name): # real signature unknown; restored from __doc__
     """
     hasattr(object, name) -> bool
@@ -275,7 +255,6 @@
     """
     return False
 
-
 def hash(p_object): # real signature unknown; restored from __doc__
     """
     hash(object) -> integer
@@ -285,7 +264,6 @@
     """
     return 0
 
-
 def help(with_a_twist): # real signature unknown; restored from __doc__
     """
     Define the builtin 'help'.
@@ -293,7 +271,6 @@
     """
     pass
 
-
 def hex(number): # real signature unknown; restored from __doc__
     """
     hex(number) -> string
@@ -302,7 +279,6 @@
     """
     return ""
 
-
 def id(p_object): # real signature unknown; restored from __doc__
     """
     id(object) -> integer
@@ -312,7 +288,6 @@
     """
     return 0
 
-
 def input(prompt=None): # real signature unknown; restored from __doc__
     """
     input([prompt]) -> value
@@ -321,7 +296,6 @@
     """
     pass
 
-
 def intern(string): # real signature unknown; restored from __doc__
     """
     intern(string) -> string
@@ -333,7 +307,6 @@
     """
     return ""
 
-
 def isinstance(p_object, class_or_type_or_tuple): # real signature unknown; restored from __doc__
     """
     isinstance(object, class-or-type-or-tuple) -> bool
@@ -345,7 +318,6 @@
     """
     return False
 
-
 def issubclass(C, B): # real signature unknown; restored from __doc__
     """
     issubclass(C, B) -> bool
@@ -356,7 +328,6 @@
     """
     return False
 
-
 def iter(source, sentinel=None): # known special case of iter
     """
     iter(collection) -> iterator
@@ -368,7 +339,6 @@
     """
     pass
 
-
 def len(p_object): # real signature unknown; restored from __doc__
     """
     len(object) -> integer
@@ -377,7 +347,6 @@
     """
     return 0
 
-
 def license(*args, **kwargs): # real signature unknown
     """
     interactive prompt objects for printing the license text, a list of
@@ -385,7 +354,6 @@
     """
     pass
 
-
 def locals(): # real signature unknown; restored from __doc__
     """
     locals() -> dictionary
@@ -394,7 +362,6 @@
     """
     return {}
 
-
 def map(function, sequence, *sequence_1): # real signature unknown; restored from __doc__
     """
     map(function, sequence[, sequence, ...]) -> list
@@ -408,7 +375,6 @@
     """
     return []
 
-
 def max(*args, **kwargs): # known special case of max
     """
     max(iterable[, key=func]) -> value
@@ -419,7 +385,6 @@
     """
     pass
 
-
 def min(*args, **kwargs): # known special case of min
     """
     min(iterable[, key=func]) -> value
@@ -430,7 +395,6 @@
     """
     pass
 
-
 def next(iterator, default=None): # real signature unknown; restored from __doc__
     """
     next(iterator[, default])
@@ -440,7 +404,6 @@
     """
     pass
 
-
 def oct(number): # real signature unknown; restored from __doc__
     """
     oct(number) -> string
@@ -449,7 +412,6 @@
     """
     return ""
 
-
 def open(name, mode=None, buffering=None): # real signature unknown; restored from __doc__
     """
     open(name[, mode[, buffering]]) -> file object
@@ -459,7 +421,6 @@
     """
     return file('/dev/null')
 
-
 def ord(c): # real signature unknown; restored from __doc__
     """
     ord(c) -> integer
@@ -468,7 +429,6 @@
     """
     return 0
 
-
 def pow(x, y, z=None): # real signature unknown; restored from __doc__
     """
     pow(x, y[, z]) -> number
@@ -478,7 +438,6 @@
     """
     return 0
 
-
 def print(*args, **kwargs): # known special case of print
     """
     print(value, ..., sep=' ', end='\n', file=sys.stdout)
@@ -491,14 +450,13 @@
     """
     pass
 
-
 def quit(*args, **kwargs): # real signature unknown
     pass
 
-
 def range(start=None, stop=None, step=None): # known special case of range
     """
-    range([start,] stop[, step]) -> list of integers
+    range(stop) -> list of integers
+    range(start, stop[, step]) -> list of integers
     
     Return a list containing an arithmetic progression of integers.
     range(i, j) returns [i, i+1, i+2, ..., j-1]; start (!) defaults to 0.
@@ -508,7 +466,6 @@
     """
     pass
 
-
 def raw_input(prompt=None): # real signature unknown; restored from __doc__
     """
     raw_input([prompt]) -> string
@@ -520,7 +477,6 @@
     """
     return ""
 
-
 def reduce(function, sequence, initial=None): # real signature unknown; restored from __doc__
     """
     reduce(function, sequence[, initial]) -> value
@@ -534,7 +490,6 @@
     """
     pass
 
-
 def reload(module): # real signature unknown; restored from __doc__
     """
     reload(module) -> module
@@ -543,7 +498,6 @@
     """
     pass
 
-
 def repr(p_object): # real signature unknown; restored from __doc__
     """
     repr(object) -> string
@@ -553,7 +507,6 @@
     """
     return ""
 
-
 def round(number, ndigits=None): # real signature unknown; restored from __doc__
     """
     round(number[, ndigits]) -> floating point number
@@ -563,7 +516,6 @@
     """
     return 0.0
 
-
 def setattr(p_object, name, value): # real signature unknown; restored from __doc__
     """
     setattr(object, name, value)
@@ -573,23 +525,20 @@
     """
     pass
 
-
 def sorted(iterable, cmp=None, key=None, reverse=False): # real signature unknown; restored from __doc__
     """ sorted(iterable, cmp=None, key=None, reverse=False) --> new sorted list """
     pass
 
-
 def sum(sequence, start=None): # real signature unknown; restored from __doc__
     """
     sum(sequence[, start]) -> value
     
-    Returns the sum of a sequence of numbers (NOT strings) plus the value
+    Return the sum of a sequence of numbers (NOT strings) plus the value
     of parameter 'start' (which defaults to 0).  When the sequence is
-    empty, returns start.
+    empty, return start.
     """
     pass
 
-
 def unichr(i): # real signature unknown; restored from __doc__
     """
     unichr(i) -> Unicode character
@@ -598,7 +547,6 @@
     """
     return u""
 
-
 def vars(p_object=None): # real signature unknown; restored from __doc__
     """
     vars([object]) -> dictionary
@@ -608,7 +556,6 @@
     """
     return {}
 
-
 def zip(seq1, seq2, *more_seqs): # known special case of zip
     """
     zip(seq1 [, seq2 [...]]) -> [(seq1[0], seq2[0] ...), (...)]
@@ -619,13 +566,16 @@
     """
     pass
 
-
 def __import__(name, globals={}, locals={}, fromlist=[], level=-1): # real signature unknown; restored from __doc__
     """
     __import__(name, globals={}, locals={}, fromlist=[], level=-1) -> module
     
-    Import a module.  The globals are only used to determine the context;
-    they are not modified.  The locals are currently unused.  The fromlist
+    Import a module. Because this function is meant for use by the Python
+    interpreter and not for general use it is better to use
+    importlib.import_module() to programmatically import a module.
+    
+    The globals argument is only used to determine the context;
+    they are not modified.  The locals argument is unused.  The fromlist
     should be a list of names to emulate ``from name import ...'', or an
     empty list to emulate ``import name''.
     When importing a module from a package, note that __import__('A.B', ...)
@@ -637,9 +587,100 @@
     """
     pass
 
-
 # classes
 
+class ___Classobj:
+    '''A mock class representing the old style class base.'''
+    __module__ = ''
+    __class__ = None
+
+    def __init__(self):
+        pass
+    __dict__ = {}
+    __doc__ = ''
+
+
+class __generator(object):
+    '''A mock class representing the generator function type.'''
+    def __init__(self):
+        self.gi_code = None
+        self.gi_frame = None
+        self.gi_running = 0
+
+    def __iter__(self):
+        '''Defined to support iteration over container.'''
+        pass
+
+    def next(self):
+        '''Return the next item from the container.'''
+        pass
+
+    def close(self):
+        '''Raises new GeneratorExit exception inside the generator to terminate the iteration.'''
+        pass
+
+    def send(self, value):
+        '''Resumes the generator and "sends" a value that becomes the result of the current yield-expression.'''
+        pass
+
+    def throw(self, type, value=None, traceback=None):
+        '''Used to raise an exception inside the generator.'''
+        pass
+
+
+class __function(object):
+    '''A mock class representing function type.'''
+
+    def __init__(self):
+        self.__name__ = ''
+        self.__doc__ = ''
+        self.__dict__ = ''
+        self.__module__ = ''
+
+        self.func_defaults = {}
+        self.func_globals = {}
+        self.func_closure = None
+        self.func_code = None
+        self.func_name = ''
+        self.func_doc = ''
+        self.func_dict = ''
+
+        self.__defaults__ = {}
+        self.__globals__ = {}
+        self.__closure__ = None
+        self.__code__ = None
+        self.__name__ = ''
+
+
+class __namedtuple(tuple):
+    '''A mock base class for named tuples.'''
+
+    __slots__ = ()
+    _fields = ()
+
+    def __new__(cls, *args, **kwargs):
+        'Create a new instance of the named tuple.'
+        return tuple.__new__(cls, *args)
+
+    @classmethod
+    def _make(cls, iterable, new=tuple.__new__, len=len):
+        'Make a new named tuple object from a sequence or iterable.'
+        return new(cls, iterable)
+
+    def __repr__(self):
+        return ''
+
+    def _asdict(self):
+        'Return a new dict which maps field types to their values.'
+        return {}
+
+    def _replace(self, **kwargs):
+        'Return a new named tuple object replacing specified fields with new values.'
+        return self
+
+    def __getnewargs__(self):
+        return tuple(self)
+
 class object:
     """ The most base type """
     def __delattr__(self, name): # real signature unknown; restored from __doc__
@@ -712,6 +753,8 @@
     __module__ = ''
 
 
+from object import object
+
 class basestring(object):
     """ Type basestring cannot be instantiated; it is the base for str and unicode. """
     def __init__(self, *args, **kwargs): # real signature unknown
@@ -723,17 +766,24 @@
         pass
 
 
+from object import object
+
 class int(object):
     """
-    int(x[, base]) -> integer
+    int(x=0) -> int or long
+    int(x, base=10) -> int or long
     
-    Convert a string or number to an integer, if possible.  A floating point
-    argument will be truncated towards zero (this does not include a string
-    representation of a floating point number!)  When converting a string, use
-    the optional base.  It is an error to supply a base when converting a
-    non-string.  If base is zero, the proper base is guessed based on the
-    string content.  If the argument is outside the integer range a
-    long object will be returned instead.
+    Convert a number or string to an integer, or return 0 if no arguments
+    are given.  If x is floating point, the conversion truncates towards zero.
+    If x is outside the integer range, the function returns a long instead.
+    
+    If x is not a number or if base is given, then x must be a string or
+    Unicode object representing an integer literal in the given base.  The
+    literal can be preceded by '+' or '-' and be surrounded by whitespace.
+    The base defaults to 10.  Valid bases are 0 and 2-36.  Base 0 means to
+    interpret the base from the string as an integer literal.
+    >>> int('0b100', base=0)
+    4
     """
     def bit_length(self): # real signature unknown; restored from __doc__
         """
@@ -811,15 +861,20 @@
 
     def __init__(self, x, base=10): # known special case of int.__init__
         """
-        int(x[, base]) -> integer
+        int(x=0) -> int or long
+        int(x, base=10) -> int or long
         
-        Convert a string or number to an integer, if possible.  A floating point
-        argument will be truncated towards zero (this does not include a string
-        representation of a floating point number!)  When converting a string, use
-        the optional base.  It is an error to supply a base when converting a
-        non-string.  If base is zero, the proper base is guessed based on the
-        string content.  If the argument is outside the integer range a
-        long object will be returned instead.
+        Convert a number or string to an integer, or return 0 if no arguments
+        are given.  If x is floating point, the conversion truncates towards zero.
+        If x is outside the integer range, the function returns a long instead.
+        
+        If x is not a number or if base is given, then x must be a string or
+        Unicode object representing an integer literal in the given base.  The
+        literal can be preceded by '+' or '-' and be surrounded by whitespace.
+        The base defaults to 10.  Valid bases are 0 and 2-36.  Base 0 means to
+        interpret the base from the string as an integer literal.
+        >>> int('0b100', base=0)
+        4
         # (copied from class doc)
         """
         pass
@@ -961,11 +1016,21 @@
         """ x.__xor__(y) <==> x^y """
         pass
 
-    denominator = property(lambda self: object()) # default
-    imag = property(lambda self: object()) # default
-    numerator = property(lambda self: object()) # default
-    real = property(lambda self: object()) # default
+    denominator = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
+    """the denominator of a rational number in lowest terms"""
 
+    imag = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
+    """the imaginary part of a complex number"""
+
+    numerator = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
+    """the numerator of a rational number in lowest terms"""
+
+    real = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
+    """the real part of a complex number"""
+
+
+
+from int import int
 
 class bool(int):
     """
@@ -1016,6 +1081,8 @@
         pass
 
 
+from object import object
+
 class buffer(object):
     """
     buffer(object [, offset[, size]])
@@ -1106,6 +1173,8 @@
         pass
 
 
+from object import object
+
 class bytearray(object):
     """
     bytearray(iterable_of_ints) -> bytearray.
@@ -1456,9 +1525,9 @@
         """
         return []
 
-    def splitlines(self, keepends=None): # real signature unknown; restored from __doc__
+    def splitlines(self, keepends=False): # real signature unknown; restored from __doc__
         """
-        B.splitlines([keepends]) -> list of lines
+        B.splitlines(keepends=False) -> list of lines
         
         Return a list of the lines in B, breaking at line boundaries.
         Line breaks are not included in the resulting list unless keepends
@@ -1658,9 +1727,11 @@
         pass
 
 
+from basestring import basestring
+
 class str(basestring):
     """
-    str(object) -> string
+    str(object='') -> string
     
     Return a nice string representation of the object.
     If the argument is a string, the return value is the same object.
@@ -1962,9 +2033,9 @@
         """
         return []
 
-    def splitlines(self, keepends=None): # real signature unknown; restored from __doc__
+    def splitlines(self, keepends=False): # real signature unknown; restored from __doc__
         """
-        S.splitlines([keepends]) -> list of strings
+        S.splitlines(keepends=False) -> list of strings
         
         Return a list of the lines in S, breaking at line boundaries.
         Line breaks are not included in the resulting list unless keepends
@@ -2101,7 +2172,7 @@
 
     def __init__(self, string=''): # known special case of str.__init__
         """
-        str(object) -> string
+        str(object='') -> string
         
         Return a nice string representation of the object.
         If the argument is a string, the return value is the same object.
@@ -2162,6 +2233,8 @@
 bytes = str
 
 
+from object import object
+
 class classmethod(object):
     """
     classmethod(function) -> method
@@ -2200,9 +2273,12 @@
         """ T.__new__(S, ...) -> a new object with type S, a subtype of T """
         pass
 
-    __func__ = property(lambda self: object()) # default
+    __func__ = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
 
 
+
+from object import object
+
 class complex(object):
     """
     complex(real[, imag]) -> complex number
@@ -2214,7 +2290,7 @@
         """
         complex.conjugate() -> complex
         
-        Returns the complex conjugate of its argument. (3-4j).conjugate() == 3+4j.
+        Return the complex conjugate of its argument. (3-4j).conjugate() == 3+4j.
         """
         return complex
 
@@ -2254,7 +2330,7 @@
         """
         complex.__format__() -> str
         
-        Converts to a string according to format_spec.
+        Convert to a string according to format_spec.
         """
         return ""
 
@@ -2382,8 +2458,20 @@
         pass
 
     imag = property(lambda self: 0.0)
-    real = property(lambda self: 0.0)
+    """the imaginary part of a complex number
 
+    :type: float
+    """
+
+    real = property(lambda self: 0.0)
+    """the real part of a complex number
+
+    :type: float
+    """
+
+
+
+from object import object
 
 class dict(object):
     """
@@ -2461,9 +2549,9 @@
 
     def update(self, E=None, **F): # known special case of dict.update
         """
-        D.update(E, **F) -> None.  Update D from dict/iterable E and F.
-        If E has a .keys() method, does:     for k in E: D[k] = E[k]
-        If E lacks .keys() method, does:     for (k, v) in E: D[k] = v
+        D.update([E, ]**F) -> None.  Update D from dict/iterable E and F.
+        If E present and has a .keys() method, does:     for k in E: D[k] = E[k]
+        If E present and lacks .keys() method, does:     for (k, v) in E: D[k] = v
         In either case, this is followed by: for k in F: D[k] = F[k]
         """
         pass
@@ -2571,6 +2659,8 @@
     __hash__ = None
 
 
+from object import object
+
 class enumerate(object):
     """
     enumerate(iterable[, start]) -> iterator for index, value of iterable
@@ -2603,6 +2693,8 @@
         pass
 
 
+from object import object
+
 class file(object):
     """
     file(name[, mode[, buffering]]) -> file object
@@ -2779,13 +2871,47 @@
         pass
 
     closed = property(lambda self: True)
-    encoding = property(lambda self: '')
-    errors = property(lambda self: object()) # default
-    mode = property(lambda self: '')
-    name = property(lambda self: '')
-    newlines = property(lambda self: '')
-    softspace = property(lambda self: True)
+    """True if the file is closed
 
+    :type: bool
+    """
+
+    encoding = property(lambda self: '')
+    """file encoding
+
+    :type: string
+    """
+
+    errors = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
+    """Unicode error handler"""
+
+    mode = property(lambda self: '')
+    """file mode ('r', 'U', 'w', 'a', possibly with 'b' or '+' added)
+
+    :type: string
+    """
+
+    name = property(lambda self: '')
+    """file name
+
+    :type: string
+    """
+
+    newlines = property(lambda self: '')
+    """end-of-line convention used in this file
+
+    :type: string
+    """
+
+    softspace = property(lambda self: True)
+    """flag indicating that a space needs to be printed; used by print
+
+    :type: bool
+    """
+
+
+
+from object import object
 
 class float(object):
     """
@@ -2797,9 +2923,9 @@
         """
         float.as_integer_ratio() -> (int, int)
         
-        Returns a pair of integers, whose ratio is exactly equal to the original
+        Return a pair of integers, whose ratio is exactly equal to the original
         float and with a positive denominator.
-        Raises OverflowError on infinities and a ValueError on NaNs.
+        Raise OverflowError on infinities and a ValueError on NaNs.
         
         >>> (10.0).as_integer_ratio()
         (10, 1)
@@ -2811,7 +2937,7 @@
         pass
 
     def conjugate(self, *args, **kwargs): # real signature unknown
-        """ Returns self, the complex conjugate of any float. """
+        """ Return self, the complex conjugate of any float. """
         pass
 
     def fromhex(self, string): # real signature unknown; restored from __doc__
@@ -2839,7 +2965,7 @@
         return ""
 
     def is_integer(self, *args, **kwargs): # real signature unknown
-        """ Returns True if the float is an integer. """
+        """ Return True if the float is an integer. """
         pass
 
     def __abs__(self): # real signature unknown; restored from __doc__
@@ -3017,7 +3143,7 @@
         'IEEE, big-endian' or 'IEEE, little-endian', and in addition can only be
         one of the latter two if it appears to match the underlying C reality.
         
-        Overrides the automatic determination of C-level floating point type.
+        Override the automatic determination of C-level floating point type.
         This affects how floats are converted to and from binary strings.
         """
         pass
@@ -3035,12 +3161,18 @@
         pass
 
     def __trunc__(self, *args, **kwargs): # real signature unknown
-        """ Returns the Integral closest to x between 0 and x. """
+        """ Return the Integral closest to x between 0 and x. """
         pass
 
-    imag = property(lambda self: object()) # default
-    real = property(lambda self: object()) # default
+    imag = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
+    """the imaginary part of a complex number"""
 
+    real = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
+    """the real part of a complex number"""
+
+
+
+from object import object
 
 class frozenset(object):
     """
@@ -3199,6 +3331,8 @@
         pass
 
 
+from object import object
+
 class list(object):
     """
     list() -> new empty list
@@ -3376,15 +3510,23 @@
     __hash__ = None
 
 
+from object import object
+
 class long(object):
     """
-    long(x[, base]) -> integer
+    long(x=0) -> long
+    long(x, base=10) -> long
     
-    Convert a string or number to a long integer, if possible.  A floating
-    point argument will be truncated towards zero (this does not include a
-    string representation of a floating point number!)  When converting a
-    string, use the optional base.  It is an error to supply a base when
-    converting a non-string.
+    Convert a number or string to a long integer, or return 0L if no arguments
+    are given.  If x is floating point, the conversion truncates towards zero.
+    
+    If x is not a number or if base is given, then x must be a string or
+    Unicode object representing an integer literal in the given base.  The
+    literal can be preceded by '+' or '-' and be surrounded by whitespace.
+    The base defaults to 10.  Valid bases are 0 and 2-36.  Base 0 means to
+    interpret the base from the string as an integer literal.
+    >>> int('0b100', base=0)
+    4L
     """
     def bit_length(self): # real signature unknown; restored from __doc__
         """
@@ -3460,7 +3602,7 @@
         """ x[y:z] <==> x[y.__index__():z.__index__()] """
         pass
 
-    def __init__(self, x, base=None): # real signature unknown; restored from __doc__
+    def __init__(self, x=0): # real signature unknown; restored from __doc__
         pass
 
     def __int__(self): # real signature unknown; restored from __doc__
@@ -3604,11 +3746,21 @@
         """ x.__xor__(y) <==> x^y """
         pass
 
-    denominator = property(lambda self: object()) # default
-    imag = property(lambda self: object()) # default
-    numerator = property(lambda self: object()) # default
-    real = property(lambda self: object()) # default
+    denominator = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
+    """the denominator of a rational number in lowest terms"""
 
+    imag = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
+    """the imaginary part of a complex number"""
+
+    numerator = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
+    """the numerator of a rational number in lowest terms"""
+
+    real = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
+    """the real part of a complex number"""
+
+
+
+from object import object
 
 class memoryview(object):
     """
@@ -3678,14 +3830,23 @@
         """ x.__setitem__(i, y) <==> x[i]=y """
         pass
 
-    format = property(lambda self: object()) # default
-    itemsize = property(lambda self: object()) # default
-    ndim = property(lambda self: object()) # default
-    readonly = property(lambda self: object()) # default
-    shape = property(lambda self: object()) # default
-    strides = property(lambda self: object()) # default
-    suboffsets = property(lambda self: object()) # default
+    format = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
 
+    itemsize = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
+
+    ndim = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
+
+    readonly = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
+
+    shape = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
+
+    strides = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
+
+    suboffsets = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
+
+
+
+from object import object
 
 class property(object):
     """
@@ -3694,6 +3855,7 @@
     fget is a function to be used for getting an attribute value, and likewise
     fset is a function for setting, and fdel a function for del'ing, an
     attribute.  Typical use is to define a managed attribute x:
+    
     class C(object):
         def getx(self): return self._x
         def setx(self, value): self._x = value
@@ -3701,13 +3863,18 @@
         x = property(getx, setx, delx, "I'm the 'x' property.")
     
     Decorators make defining new properties or modifying existing ones easy:
+    
     class C(object):
         @property
-        def x(self): return self._x
+        def x(self):
+            "I am the 'x' property."
+            return self._x
         @x.setter
-        def x(self, value): self._x = value
+        def x(self, value):
+            self._x = value
         @x.deleter
-        def x(self): del self._x
+        def x(self):
+            del self._x
     """
     def deleter(self, *args, **kwargs): # real signature unknown
         """ Descriptor to change the deleter on a property. """
@@ -3740,6 +3907,7 @@
         fget is a function to be used for getting an attribute value, and likewise
         fset is a function for setting, and fdel a function for del'ing, an
         attribute.  Typical use is to define a managed attribute x:
+        
         class C(object):
             def getx(self): return self._x
             def setx(self, value): self._x = value
@@ -3747,13 +3915,18 @@
             x = property(getx, setx, delx, "I'm the 'x' property.")
         
         Decorators make defining new properties or modifying existing ones easy:
+        
         class C(object):
             @property
-            def x(self): return self._x
+            def x(self):
+                "I am the 'x' property."
+                return self._x
             @x.setter
-            def x(self, value): self._x = value
+            def x(self, value):
+                self._x = value
             @x.deleter
-            def x(self): del self._x
+            def x(self):
+                del self._x
         
         # (copied from class doc)
         """
@@ -3768,10 +3941,15 @@
         """ descr.__set__(obj, value) """
         pass
 
-    fdel = property(lambda self: object()) # default
-    fget = property(lambda self: object()) # default
-    fset = property(lambda self: object()) # default
+    fdel = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
 
+    fget = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
+
+    fset = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
+
+
+
+from object import object
 
 class reversed(object):
     """
@@ -3804,6 +3982,8 @@
         pass
 
 
+from object import object
+
 class set(object):
     """
     set() -> new empty set object
@@ -3939,7 +4119,7 @@
         pass
 
     def __iand__(self, y): # real signature unknown; restored from __doc__
-        """ x.__iand__(y) <==> x&y """
+        """ x.__iand__(y) <==> x&=y """
         pass
 
     def __init__(self, seq=()): # known special case of set.__init__
@@ -3953,11 +4133,11 @@
         pass
 
     def __ior__(self, y): # real signature unknown; restored from __doc__
-        """ x.__ior__(y) <==> x|y """
+        """ x.__ior__(y) <==> x|=y """
         pass
 
     def __isub__(self, y): # real signature unknown; restored from __doc__
-        """ x.__isub__(y) <==> x-y """
+        """ x.__isub__(y) <==> x-=y """
         pass
 
     def __iter__(self): # real signature unknown; restored from __doc__
@@ -3965,7 +4145,7 @@
         pass
 
     def __ixor__(self, y): # real signature unknown; restored from __doc__
-        """ x.__ixor__(y) <==> x^y """
+        """ x.__ixor__(y) <==> x^=y """
         pass
 
     def __len__(self): # real signature unknown; restored from __doc__
@@ -4032,9 +4212,12 @@
     __hash__ = None
 
 
+from object import object
+
 class slice(object):
     """
-    slice([start,] stop[, step])
+    slice(stop)
+    slice(start, stop[, step])
     
     Create a slice object.  This is used for extended slicing (e.g. a[0:10:2]).
     """
@@ -4061,7 +4244,7 @@
         """ x.__hash__() <==> hash(x) """
         pass
 
-    def __init__(self, start=None, *args, **kwargs): # real signature unknown; NOTE: unreliably restored from __doc__ 
+    def __init__(self, stop): # real signature unknown; restored from __doc__
         pass
 
     @staticmethod # known case of __new__
@@ -4078,9 +4261,17 @@
         pass
 
     start = property(lambda self: 0)
-    step = property(lambda self: 0)
-    stop = property(lambda self: 0)
+    """:type: int"""
 
+    step = property(lambda self: 0)
+    """:type: int"""
+
+    stop = property(lambda self: 0)
+    """:type: int"""
+
+
+
+from object import object
 
 class staticmethod(object):
     """
@@ -4117,13 +4308,16 @@
         """ T.__new__(S, ...) -> a new object with type S, a subtype of T """
         pass
 
-    __func__ = property(lambda self: object()) # default
+    __func__ = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
 
 
+
+from object import object
+
 class super(object):
     """
-    super(type) -> unbound super object
     super(type, obj) -> bound super object; requires isinstance(obj, type)
+    super(type) -> unbound super object
     super(type, type2) -> bound super object; requires issubclass(type2, type)
     Typical use to call a cooperative superclass method:
     class C(B):
@@ -4140,8 +4334,8 @@
 
     def __init__(self, type1, type2=None): # known special case of super.__init__
         """
-        super(type) -> unbound super object
         super(type, obj) -> bound super object; requires isinstance(obj, type)
+        super(type) -> unbound super object
         super(type, type2) -> bound super object; requires issubclass(type2, type)
         Typical use to call a cooperative superclass method:
         class C(B):
@@ -4161,9 +4355,26 @@
         pass
 
     __self_class__ = property(lambda self: type(object))
-    __self__ = property(lambda self: type(object))
-    __thisclass__ = property(lambda self: type(object))
+    """the type of the instance invoking super(); may be None
 
+    :type: type
+    """
+
+    __self__ = property(lambda self: type(object))
+    """the instance invoking super(); may be None
+
+    :type: type
+    """
+
+    __thisclass__ = property(lambda self: type(object))
+    """the class invoking super()
+
+    :type: type
+    """
+
+
+
+from object import object
 
 class tuple(object):
     """
@@ -4278,6 +4489,8 @@
         pass
 
 
+from object import object
+
 class type(object):
     """
     type(object) -> the object's type
@@ -4369,7 +4582,8 @@
         """ __subclasses__() -> list of immediate subclasses """
         return []
 
-    __abstractmethods__ = property(lambda self: object()) # default
+    __abstractmethods__ = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
+
 
     __bases__ = (
         object,
@@ -4388,9 +4602,12 @@
     __weakrefoffset__ = 368
 
 
+from basestring import basestring
+
 class unicode(basestring):
     """
-    unicode(string [, encoding[, errors]]) -> object
+    unicode(object='') -> unicode object
+    unicode(string[, encoding[, errors]]) -> unicode object
     
     Create a new Unicode object from the given encoded string.
     encoding defaults to the current default string encoding.
@@ -4432,7 +4649,7 @@
         to the default encoding. errors may be given to set a different error
         handling scheme. Default is 'strict' meaning that encoding errors raise
         a UnicodeDecodeError. Other possible values are 'ignore' and 'replace'
-        as well as any other name registerd with codecs.register_error that is
+        as well as any other name registered with codecs.register_error that is
         able to handle UnicodeDecodeErrors.
         """
         return ""
@@ -4711,9 +4928,9 @@
         """
         return []
 
-    def splitlines(self, keepends=None): # real signature unknown; restored from __doc__
+    def splitlines(self, keepends=False): # real signature unknown; restored from __doc__
         """
-        S.splitlines([keepends]) -> list of strings
+        S.splitlines(keepends=False) -> list of strings
         
         Return a list of the lines in S, breaking at line boundaries.
         Line breaks are not included in the resulting list unless keepends
@@ -4849,7 +5066,8 @@
 
     def __init__(self, string=u'', encoding=None, errors='strict'): # known special case of unicode.__init__
         """
-        unicode(string [, encoding[, errors]]) -> object
+        unicode(object='') -> unicode object
+        unicode(string[, encoding[, errors]]) -> unicode object
         
         Create a new Unicode object from the given encoded string.
         encoding defaults to the current default string encoding.
@@ -4908,9 +5126,12 @@
         pass
 
 
+from object import object
+
 class xrange(object):
     """
-    xrange([start,] stop[, step]) -> xrange object
+    xrange(stop) -> xrange object
+    xrange(start, stop[, step]) -> xrange object
     
     Like range(), but instead of returning a list, returns an object that
     generates the numbers in the range on demand.  For looping, this is 
@@ -4924,7 +5145,7 @@
         """ x.__getitem__(y) <==> x[y] """
         pass
 
-    def __init__(self, start=None, *args, **kwargs): # real signature unknown; NOTE: unreliably restored from __doc__ 
+    def __init__(self, stop): # real signature unknown; restored from __doc__
         pass
 
     def __iter__(self): # real signature unknown; restored from __doc__
@@ -4952,74 +5173,6 @@
         pass
 
 
-class ___Classobj:
-    '''A mock class representing the old style class base.'''
-    __module__ = ''
-    __class__ = None
-
-    def __init__(self):
-        pass
-    __dict__ = {}
-    __doc__ = ''
-
-
-class __generator(object):
-    '''A mock class representing the generator function type.'''
-    def __init__(self):
-        self.gi_code = None
-        self.gi_frame = None
-        self.gi_running = 0
-
-    def __iter__(self):
-        '''Defined to support iteration over container.'''
-        pass
-
-    def next(self):
-        '''Return the next item from the container.'''
-        pass
-
-    def close(self):
-        '''Raises new GeneratorExit exception inside the generator to terminate the iteration.'''
-        pass
-
-    def send(self, value):
-        '''Resumes the generator and "sends" a value that becomes the result of the current yield-expression.'''
-        pass
-
-    def throw(self, type, value=None, traceback=None):
-        '''Used to raise an exception inside the generator.'''
-        pass
-
-
-class __namedtuple(tuple):
-    '''A mock base class for named tuples.'''
-
-    __slots__ = ()
-    _fields = ()
-
-    def __new__(cls, *args, **kwargs):
-        'Create a new instance of the named tuple.'
-        return tuple.__new__(cls, *args)
-
-    @classmethod
-    def _make(cls, iterable, new=tuple.__new__, len=len):
-        'Make a new named tuple object from a sequence or iterable.'
-        return new(cls, iterable)
-
-    def __repr__(self):
-        return ''
-
-    def _asdict(self):
-        'Return a new dict which maps field types to their values.'
-        return {}
-
-    def _replace(self, **kwargs):
-        'Return a new named tuple object replacing specified fields with new values.'
-        return self
-
-    def __getnewargs__(self):
-        return tuple(self)
-
 # variables with complex values
 
 Ellipsis = None # (!) real value is ''
diff --git a/python/testData/MockSdk3.2/python_stubs/builtins.py b/python/testData/MockSdk3.2/python_stubs/builtins.py
index b3fa88d..88b74ab 100644
--- a/python/testData/MockSdk3.2/python_stubs/builtins.py
+++ b/python/testData/MockSdk3.2/python_stubs/builtins.py
@@ -1,7 +1,7 @@
 # encoding: utf-8
 # module builtins
 # from (built-in)
-# by generator 1.118
+# by generator 1.135
 """
 Built-in functions, exceptions, and other objects.
 
@@ -25,25 +25,24 @@
     """
     return 0
 
-
 def all(iterable): # real signature unknown; restored from __doc__
     """
     all(iterable) -> bool
     
     Return True if bool(x) is True for all values x in the iterable.
+    If the iterable is empty, return True.
     """
     return False
 
-
 def any(iterable): # real signature unknown; restored from __doc__
     """
     any(iterable) -> bool
     
     Return True if bool(x) is True for any x in the iterable.
+    If the iterable is empty, return False.
     """
     return False
 
-
 def ascii(p_object): # real signature unknown; restored from __doc__
     """
     ascii(object) -> string
@@ -55,7 +54,6 @@
     """
     return ""
 
-
 def bin(number): # real signature unknown; restored from __doc__
     """
     bin(number) -> string
@@ -64,7 +62,6 @@
     """
     return ""
 
-
 def callable(p_object): # real signature unknown; restored from __doc__
     """
     callable(object) -> bool
@@ -75,16 +72,15 @@
     """
     return False
 
-
 def chr(i): # real signature unknown; restored from __doc__
     """
     chr(i) -> Unicode character
     
     Return a Unicode string of one character with ordinal i; 0 <= i <= 0x10ffff.
+    If 0x10000 <= i, a surrogate pair is returned.
     """
     return ""
 
-
 def compile(source, filename, mode, flags=None, dont_inherit=None): # real signature unknown; restored from __doc__
     """
     compile(source, filename, mode[, flags[, dont_inherit]]) -> code object
@@ -103,7 +99,6 @@
     """
     pass
 
-
 def copyright(*args, **kwargs): # real signature unknown
     """
     interactive prompt objects for printing the license text, a list of
@@ -111,7 +106,6 @@
     """
     pass
 
-
 def credits(*args, **kwargs): # real signature unknown
     """
     interactive prompt objects for printing the license text, a list of
@@ -119,7 +113,6 @@
     """
     pass
 
-
 def delattr(p_object, name): # real signature unknown; restored from __doc__
     """
     delattr(object, name)
@@ -129,7 +122,6 @@
     """
     pass
 
-
 def dir(p_object=None): # real signature unknown; restored from __doc__
     """
     dir([object]) -> list of strings
@@ -147,7 +139,6 @@
     """
     return []
 
-
 def divmod(x, y): # known case of builtins.divmod
     """
     divmod(x, y) -> (div, mod)
@@ -156,7 +147,6 @@
     """
     return (0, 0)
 
-
 def eval(source, globals=None, locals=None): # real signature unknown; restored from __doc__
     """
     eval(source[, globals[, locals]]) -> value
@@ -170,7 +160,6 @@
     """
     pass
 
-
 def exec(p_object, globals=None, locals=None): # real signature unknown; restored from __doc__
     """
     exec(object[, globals[, locals]])
@@ -182,11 +171,9 @@
     """
     pass
 
-
 def exit(*args, **kwargs): # real signature unknown
     pass
 
-
 def format(value, format_spec=None): # real signature unknown; restored from __doc__
     """
     format(value[, format_spec]) -> string
@@ -196,7 +183,6 @@
     """
     return ""
 
-
 def getattr(object, name, default=None): # known special case of getattr
     """
     getattr(object, name[, default]) -> value
@@ -207,7 +193,6 @@
     """
     pass
 
-
 def globals(): # real signature unknown; restored from __doc__
     """
     globals() -> dictionary
@@ -216,7 +201,6 @@
     """
     return {}
 
-
 def hasattr(p_object, name): # real signature unknown; restored from __doc__
     """
     hasattr(object, name) -> bool
@@ -226,7 +210,6 @@
     """
     return False
 
-
 def hash(p_object): # real signature unknown; restored from __doc__
     """
     hash(object) -> integer
@@ -236,7 +219,6 @@
     """
     return 0
 
-
 def help(with_a_twist): # real signature unknown; restored from __doc__
     """
     Define the builtin 'help'.
@@ -244,7 +226,6 @@
     """
     pass
 
-
 def hex(number): # real signature unknown; restored from __doc__
     """
     hex(number) -> string
@@ -253,7 +234,6 @@
     """
     return ""
 
-
 def id(p_object): # real signature unknown; restored from __doc__
     """
     id(object) -> integer
@@ -263,7 +243,6 @@
     """
     return 0
 
-
 def input(prompt=None): # real signature unknown; restored from __doc__
     """
     input([prompt]) -> string
@@ -275,7 +254,6 @@
     """
     return ""
 
-
 def isinstance(p_object, class_or_type_or_tuple): # real signature unknown; restored from __doc__
     """
     isinstance(object, class-or-type-or-tuple) -> bool
@@ -287,7 +265,6 @@
     """
     return False
 
-
 def issubclass(C, B): # real signature unknown; restored from __doc__
     """
     issubclass(C, B) -> bool
@@ -298,7 +275,6 @@
     """
     return False
 
-
 def iter(source, sentinel=None): # known special case of iter
     """
     iter(iterable) -> iterator
@@ -310,7 +286,6 @@
     """
     pass
 
-
 def len(p_object): # real signature unknown; restored from __doc__
     """
     len(object) -> integer
@@ -319,7 +294,6 @@
     """
     return 0
 
-
 def license(*args, **kwargs): # real signature unknown
     """
     interactive prompt objects for printing the license text, a list of
@@ -327,7 +301,6 @@
     """
     pass
 
-
 def locals(): # real signature unknown; restored from __doc__
     """
     locals() -> dictionary
@@ -336,7 +309,6 @@
     """
     return {}
 
-
 def max(*args, key=None): # known special case of max
     """
     max(iterable[, key=func]) -> value
@@ -347,7 +319,6 @@
     """
     pass
 
-
 def min(*args, key=None): # known special case of min
     """
     min(iterable[, key=func]) -> value
@@ -358,7 +329,6 @@
     """
     pass
 
-
 def next(iterator, default=None): # real signature unknown; restored from __doc__
     """
     next(iterator[, default])
@@ -368,7 +338,6 @@
     """
     pass
 
-
 def oct(number): # real signature unknown; restored from __doc__
     """
     oct(number) -> string
@@ -377,7 +346,6 @@
     """
     return ""
 
-
 def open(file, mode='r', buffering=None, encoding=None, errors=None, newline=None, closefd=True): # known special case of open
     """
     open(file, mode='r', buffering=-1, encoding=None,
@@ -468,9 +436,9 @@
     
     * On output, if newline is None, any '\n' characters written are
       translated to the system default line separator, os.linesep. If
-      newline is '', no translation takes place. If newline is any of the
-      other legal values, any '\n' characters written are translated to
-      the given string.
+      newline is '' or '\n', no translation takes place. If newline is any
+      of the other legal values, any '\n' characters written are translated
+      to the given string.
     
     If closefd is False, the underlying file descriptor will be kept open
     when the file is closed. This does not work when a file name is given
@@ -492,16 +460,15 @@
     """
     pass
 
-
 def ord(c): # real signature unknown; restored from __doc__
     """
     ord(c) -> integer
     
     Return the integer ordinal of a one-character string.
+    A valid surrogate pair is also accepted.
     """
     return 0
 
-
 def pow(x, y, z=None): # real signature unknown; restored from __doc__
     """
     pow(x, y[, z]) -> number
@@ -511,7 +478,6 @@
     """
     return 0
 
-
 def print(*args, sep=' ', end='\n', file=None): # known special case of print
     """
     print(value, ..., sep=' ', end='\n', file=sys.stdout)
@@ -524,11 +490,9 @@
     """
     pass
 
-
 def quit(*args, **kwargs): # real signature unknown
     pass
 
-
 def repr(p_object): # real signature unknown; restored from __doc__
     """
     repr(object) -> string
@@ -538,7 +502,6 @@
     """
     return ""
 
-
 def round(number, ndigits=None): # real signature unknown; restored from __doc__
     """
     round(number[, ndigits]) -> number
@@ -549,7 +512,6 @@
     """
     return 0
 
-
 def setattr(p_object, name, value): # real signature unknown; restored from __doc__
     """
     setattr(object, name, value)
@@ -559,12 +521,10 @@
     """
     pass
 
-
 def sorted(iterable, key=None, reverse=False): # real signature unknown; restored from __doc__
     """ sorted(iterable, key=None, reverse=False) --> new sorted list """
     pass
 
-
 def sum(iterable, start=None): # real signature unknown; restored from __doc__
     """
     sum(iterable[, start]) -> value
@@ -575,7 +535,6 @@
     """
     pass
 
-
 def vars(p_object=None): # real signature unknown; restored from __doc__
     """
     vars([object]) -> dictionary
@@ -585,7 +544,6 @@
     """
     return {}
 
-
 def __build_class__(func, name, *bases, metaclass=None, **kwds): # real signature unknown; restored from __doc__
     """
     __build_class__(func, name, *bases, metaclass=None, **kwds) -> class
@@ -594,7 +552,6 @@
     """
     pass
 
-
 def __import__(name, globals={}, locals={}, fromlist=[], level=-1): # real signature unknown; restored from __doc__
     """
     __import__(name, globals={}, locals={}, fromlist=[], level=-1) -> module
@@ -616,9 +573,84 @@
     """
     pass
 
-
 # classes
 
+
+class __generator(object):
+    '''A mock class representing the generator function type.'''
+    def __init__(self):
+        self.gi_code = None
+        self.gi_frame = None
+        self.gi_running = 0
+
+    def __iter__(self):
+        '''Defined to support iteration over container.'''
+        pass
+
+    def __next__(self):
+        '''Return the next item from the container.'''
+        pass
+
+    def close(self):
+        '''Raises new GeneratorExit exception inside the generator to terminate the iteration.'''
+        pass
+
+    def send(self, value):
+        '''Resumes the generator and "sends" a value that becomes the result of the current yield-expression.'''
+        pass
+
+    def throw(self, type, value=None, traceback=None):
+        '''Used to raise an exception inside the generator.'''
+        pass
+
+
+class __function(object):
+    '''A mock class representing function type.'''
+
+    def __init__(self):
+        self.__name__ = ''
+        self.__doc__ = ''
+        self.__dict__ = ''
+        self.__module__ = ''
+
+        self.__annotations__ = {}
+        self.__defaults__ = {}
+        self.__globals__ = {}
+        self.__kwdefaults__ = {}
+        self.__closure__ = None
+        self.__code__ = None
+        self.__name__ = ''
+
+
+class __namedtuple(tuple):
+    '''A mock base class for named tuples.'''
+
+    __slots__ = ()
+    _fields = ()
+
+    def __new__(cls, *args, **kwargs):
+        'Create a new instance of the named tuple.'
+        return tuple.__new__(cls, *args)
+
+    @classmethod
+    def _make(cls, iterable, new=tuple.__new__, len=len):
+        'Make a new named tuple object from a sequence or iterable.'
+        return new(cls, iterable)
+
+    def __repr__(self):
+        return ''
+
+    def _asdict(self):
+        'Return a new dict which maps field types to their values.'
+        return {}
+
+    def _replace(self, **kwargs):
+        'Return a new named tuple object replacing specified fields with new values.'
+        return self
+
+    def __getnewargs__(self):
+        return tuple(self)
+
 class object:
     """ The most base type """
     def __delattr__(self, name): # real signature unknown; restored from __doc__
@@ -715,6 +747,8 @@
     __module__ = ''
 
 
+from .object import object
+
 class BaseException(object):
     """ Common base class for all exceptions """
     def with_traceback(self, tb): # real signature unknown; restored from __doc__
@@ -758,14 +792,22 @@
         """ x.__str__() <==> str(x) """
         pass
 
-    args = property(lambda self: object()) # default
-    __cause__ = property(lambda self: object()) # default
-    __context__ = property(lambda self: object()) # default
-    __traceback__ = property(lambda self: object()) # default
+    args = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
+
+    __cause__ = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
+    """exception cause"""
+
+    __context__ = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
+    """exception context"""
+
+    __traceback__ = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
+
 
     __dict__ = None # (!) real value is ''
 
 
+from .BaseException import BaseException
+
 class Exception(BaseException):
     """ Common base class for all non-exit exceptions. """
     def __init__(self, *args, **kwargs): # real signature unknown
@@ -777,6 +819,8 @@
         pass
 
 
+from .Exception import Exception
+
 class ArithmeticError(Exception):
     """ Base class for arithmetic errors. """
     def __init__(self, *args, **kwargs): # real signature unknown
@@ -788,6 +832,8 @@
         pass
 
 
+from .Exception import Exception
+
 class AssertionError(Exception):
     """ Assertion failed. """
     def __init__(self, *args, **kwargs): # real signature unknown
@@ -799,6 +845,8 @@
         pass
 
 
+from .Exception import Exception
+
 class AttributeError(Exception):
     """ Attribute not found. """
     def __init__(self, *args, **kwargs): # real signature unknown
@@ -810,15 +858,24 @@
         pass
 
 
+from .object import object
+
 class int(object):
     """
-    int(x[, base]) -> integer
+    int(x=0) -> integer
+    int(x, base=10) -> integer
     
-    Convert a string or number to an integer, if possible.  A floating
-    point argument will be truncated towards zero (this does not include a
-    string representation of a floating point number!)  When converting a
-    string, use the optional base.  It is an error to supply a base when
-    converting a non-string.
+    Convert a number or string to an integer, or return 0 if no arguments
+    are given.  If x is a number, return x.__int__().  For floating point
+    numbers, this truncates towards zero.
+    
+    If x is not a number or if base is given, then x must be a string,
+    bytes, or bytearray instance representing an integer literal in the
+    given base.  The literal can be preceded by '+' or '-' and be surrounded
+    by whitespace.  The base defaults to 10.  Valid bases are 0 and 2-36.
+    Base 0 means to interpret the base from the string as an integer literal.
+    >>> int('0b100', base=0)
+    4
     """
     def bit_length(self): # real signature unknown; restored from __doc__
         """
@@ -836,7 +893,8 @@
         """ Returns self, the complex conjugate of any int. """
         pass
 
-    def from_bytes(self, bytes, byteorder, *args, **kwargs): # real signature unknown; NOTE: unreliably restored from __doc__ 
+    @classmethod # known case
+    def from_bytes(cls, bytes, byteorder, *args, **kwargs): # real signature unknown; NOTE: unreliably restored from __doc__ 
         """
         int.from_bytes(bytes, byteorder, *, signed=False) -> int
         
@@ -947,13 +1005,20 @@
 
     def __init__(self, x, base=10): # known special case of int.__init__
         """
-        int(x[, base]) -> integer
+        int(x=0) -> integer
+        int(x, base=10) -> integer
         
-        Convert a string or number to an integer, if possible.  A floating
-        point argument will be truncated towards zero (this does not include a
-        string representation of a floating point number!)  When converting a
-        string, use the optional base.  It is an error to supply a base when
-        converting a non-string.
+        Convert a number or string to an integer, or return 0 if no arguments
+        are given.  If x is a number, return x.__int__().  For floating point
+        numbers, this truncates towards zero.
+        
+        If x is not a number or if base is given, then x must be a string,
+        bytes, or bytearray instance representing an integer literal in the
+        given base.  The literal can be preceded by '+' or '-' and be surrounded
+        by whitespace.  The base defaults to 10.  Valid bases are 0 and 2-36.
+        Base 0 means to interpret the base from the string as an integer literal.
+        >>> int('0b100', base=0)
+        4
         # (copied from class doc)
         """
         pass
@@ -1102,11 +1167,21 @@
         """ x.__xor__(y) <==> x^y """
         pass
 
-    denominator = property(lambda self: object()) # default
-    imag = property(lambda self: object()) # default
-    numerator = property(lambda self: object()) # default
-    real = property(lambda self: object()) # default
+    denominator = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
+    """the denominator of a rational number in lowest terms"""
 
+    imag = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
+    """the imaginary part of a complex number"""
+
+    numerator = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
+    """the numerator of a rational number in lowest terms"""
+
+    real = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
+    """the real part of a complex number"""
+
+
+
+from .int import int
 
 class bool(int):
     """
@@ -1157,6 +1232,8 @@
         pass
 
 
+from .Exception import Exception
+
 class BufferError(Exception):
     """ Buffer error. """
     def __init__(self, *args, **kwargs): # real signature unknown
@@ -1168,22 +1245,22 @@
         pass
 
 
+from .object import object
+
 class bytearray(object):
     """
     bytearray(iterable_of_ints) -> bytearray
     bytearray(string, encoding[, errors]) -> bytearray
-    bytearray(bytes_or_bytearray) -> mutable copy of bytes_or_bytearray
-    bytearray(memory_view) -> bytearray
+    bytearray(bytes_or_buffer) -> mutable copy of bytes_or_buffer
+    bytearray(int) -> bytes array of size given by the parameter initialized with null bytes
+    bytearray() -> empty bytes array
     
     Construct an mutable bytearray object from:
       - an iterable yielding integers in range(256)
       - a text string encoded using the specified encoding
-      - a bytes or a bytearray object
+      - a bytes or a buffer object
       - any object implementing the buffer API.
-    
-    bytearray(int) -> bytearray
-    
-    Construct a zero-initialized bytearray of the given length.
+      - an integer
     """
     def append(self, p_int): # real signature unknown; restored from __doc__
         """
@@ -1662,18 +1739,16 @@
         """
         bytearray(iterable_of_ints) -> bytearray
         bytearray(string, encoding[, errors]) -> bytearray
-        bytearray(bytes_or_bytearray) -> mutable copy of bytes_or_bytearray
-        bytearray(memory_view) -> bytearray
+        bytearray(bytes_or_buffer) -> mutable copy of bytes_or_buffer
+        bytearray(int) -> bytes array of size given by the parameter initialized with null bytes
+        bytearray() -> empty bytes array
         
         Construct an mutable bytearray object from:
           - an iterable yielding integers in range(256)
           - a text string encoded using the specified encoding
-          - a bytes or a bytearray object
+          - a bytes or a buffer object
           - any object implementing the buffer API.
-        
-        bytearray(int) -> bytearray
-        
-        Construct a zero-initialized bytearray of the given length.
+          - an integer
         # (copied from class doc)
         """
         pass
@@ -1738,18 +1813,21 @@
     __hash__ = None
 
 
+from .object import object
+
 class bytes(object):
     """
     bytes(iterable_of_ints) -> bytes
     bytes(string, encoding[, errors]) -> bytes
     bytes(bytes_or_buffer) -> immutable copy of bytes_or_buffer
-    bytes(memory_view) -> bytes
+    bytes(int) -> bytes object of size given by the parameter initialized with null bytes
+    bytes() -> empty bytes object
     
     Construct an immutable array of bytes from:
       - an iterable yielding integers in range(256)
       - a text string encoded using the specified encoding
-      - a bytes or a buffer object
       - any object implementing the buffer API.
+      - an integer
     """
     def capitalize(self): # real signature unknown; restored from __doc__
         """
@@ -2073,7 +2151,7 @@
         B.strip([bytes]) -> bytes
         
         Strip leading and trailing bytes contained in the argument.
-        If the argument is omitted, strip trailing ASCII whitespace.
+        If the argument is omitted, strip leading and trailing ASCII whitespace.
         """
         return b""
 
@@ -2163,13 +2241,14 @@
         bytes(iterable_of_ints) -> bytes
         bytes(string, encoding[, errors]) -> bytes
         bytes(bytes_or_buffer) -> immutable copy of bytes_or_buffer
-        bytes(memory_view) -> bytes
+        bytes(int) -> bytes object of size given by the parameter initialized with null bytes
+        bytes() -> empty bytes object
         
         Construct an immutable array of bytes from:
           - an iterable yielding integers in range(256)
           - a text string encoded using the specified encoding
-          - a bytes or a buffer object
           - any object implementing the buffer API.
+          - an integer
         # (copied from class doc)
         """
         pass
@@ -2220,6 +2299,8 @@
         pass
 
 
+from .Exception import Exception
+
 class Warning(Exception):
     """ Base class for warning categories. """
     def __init__(self, *args, **kwargs): # real signature unknown
@@ -2231,6 +2312,8 @@
         pass
 
 
+from .Warning import Warning
+
 class BytesWarning(Warning):
     """
     Base class for warnings about bytes and buffer related problems, mostly
@@ -2245,6 +2328,8 @@
         pass
 
 
+from .object import object
+
 class classmethod(object):
     """
     classmethod(function) -> method
@@ -2283,9 +2368,12 @@
         """ T.__new__(S, ...) -> a new object with type S, a subtype of T """
         pass
 
-    __func__ = property(lambda self: object()) # default
+    __func__ = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
 
 
+
+from .object import object
+
 class complex(object):
     """
     complex(real[, imag]) -> complex number
@@ -2449,8 +2537,20 @@
         pass
 
     imag = property(lambda self: 0.0)
-    real = property(lambda self: 0.0)
+    """the imaginary part of a complex number
 
+    :type: float
+    """
+
+    real = property(lambda self: 0.0)
+    """the real part of a complex number
+
+    :type: float
+    """
+
+
+
+from .Warning import Warning
 
 class DeprecationWarning(Warning):
     """ Base class for warnings about deprecated features. """
@@ -2463,6 +2563,8 @@
         pass
 
 
+from .object import object
+
 class dict(object):
     """
     dict() -> new empty dictionary
@@ -2523,9 +2625,9 @@
 
     def update(self, E=None, **F): # known special case of dict.update
         """
-        D.update(E, **F) -> None.  Update D from dict/iterable E and F.
-        If E has a .keys() method, does:     for k in E: D[k] = E[k]
-        If E lacks .keys() method, does:     for (k, v) in E: D[k] = v
+        D.update([E, ]**F) -> None.  Update D from dict/iterable E and F.
+        If E present and has a .keys() method, does:     for k in E: D[k] = E[k]
+        If E present and lacks .keys() method, does:     for (k, v) in E: D[k] = v
         In either case, this is followed by: for k in F: D[k] = F[k]
         """
         pass
@@ -2617,6 +2719,8 @@
     __hash__ = None
 
 
+from .object import object
+
 class enumerate(object):
     """
     enumerate(iterable[, start]) -> iterator for index, value of iterable
@@ -2649,6 +2753,8 @@
         pass
 
 
+from .Exception import Exception
+
 class EnvironmentError(Exception):
     """ Base class for I/O related errors. """
     def __init__(self, *args, **kwargs): # real signature unknown
@@ -2666,10 +2772,18 @@
         """ x.__str__() <==> str(x) """
         pass
 
-    errno = property(lambda self: object()) # default
-    filename = property(lambda self: object()) # default
-    strerror = property(lambda self: object()) # default
+    errno = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
+    """exception errno"""
 
+    filename = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
+    """exception filename"""
+
+    strerror = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
+    """exception strerror"""
+
+
+
+from .Exception import Exception
 
 class EOFError(Exception):
     """ Read beyond end of file. """
@@ -2682,6 +2796,8 @@
         pass
 
 
+from .object import object
+
 class filter(object):
     """
     filter(function or None, iterable) --> filter object
@@ -2710,6 +2826,8 @@
         pass
 
 
+from .object import object
+
 class float(object):
     """
     float(x) -> floating point number
@@ -2952,9 +3070,15 @@
         """ Returns the Integral closest to x between 0 and x. """
         pass
 
-    imag = property(lambda self: object()) # default
-    real = property(lambda self: object()) # default
+    imag = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
+    """the imaginary part of a complex number"""
 
+    real = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
+    """the real part of a complex number"""
+
+
+
+from .ArithmeticError import ArithmeticError
 
 class FloatingPointError(ArithmeticError):
     """ Floating point operation failed. """
@@ -2967,6 +3091,8 @@
         pass
 
 
+from .object import object
+
 class frozenset(object):
     """
     frozenset() -> empty frozenset object
@@ -3120,6 +3246,8 @@
         pass
 
 
+from .Warning import Warning
+
 class FutureWarning(Warning):
     """
     Base class for warnings about constructs that will change semantically
@@ -3134,6 +3262,8 @@
         pass
 
 
+from .BaseException import BaseException
+
 class GeneratorExit(BaseException):
     """ Request that a generator exit. """
     def __init__(self, *args, **kwargs): # real signature unknown
@@ -3145,6 +3275,8 @@
         pass
 
 
+from .Exception import Exception
+
 class ImportError(Exception):
     """ Import can't find module, or can't find name in module. """
     def __init__(self, *args, **kwargs): # real signature unknown
@@ -3156,6 +3288,8 @@
         pass
 
 
+from .Warning import Warning
+
 class ImportWarning(Warning):
     """ Base class for warnings about probable mistakes in module imports """
     def __init__(self, *args, **kwargs): # real signature unknown
@@ -3167,6 +3301,8 @@
         pass
 
 
+from .Exception import Exception
+
 class SyntaxError(Exception):
     """ Invalid syntax. """
     def __init__(self, *args, **kwargs): # real signature unknown
@@ -3181,13 +3317,27 @@
         """ x.__str__() <==> str(x) """
         pass
 
-    filename = property(lambda self: object()) # default
-    lineno = property(lambda self: object()) # default
-    msg = property(lambda self: object()) # default
-    offset = property(lambda self: object()) # default
-    print_file_and_line = property(lambda self: object()) # default
-    text = property(lambda self: object()) # default
+    filename = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
+    """exception filename"""
 
+    lineno = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
+    """exception lineno"""
+
+    msg = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
+    """exception msg"""
+
+    offset = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
+    """exception offset"""
+
+    print_file_and_line = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
+    """exception print_file_and_line"""
+
+    text = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
+    """exception text"""
+
+
+
+from .SyntaxError import SyntaxError
 
 class IndentationError(SyntaxError):
     """ Improper indentation. """
@@ -3200,6 +3350,8 @@
         pass
 
 
+from .Exception import Exception
+
 class LookupError(Exception):
     """ Base class for lookup errors. """
     def __init__(self, *args, **kwargs): # real signature unknown
@@ -3211,6 +3363,8 @@
         pass
 
 
+from .LookupError import LookupError
+
 class IndexError(LookupError):
     """ Sequence index out of range. """
     def __init__(self, *args, **kwargs): # real signature unknown
@@ -3222,6 +3376,8 @@
         pass
 
 
+from .EnvironmentError import EnvironmentError
+
 class IOError(EnvironmentError):
     """ I/O operation failed. """
     def __init__(self, *args, **kwargs): # real signature unknown
@@ -3233,6 +3389,8 @@
         pass
 
 
+from .BaseException import BaseException
+
 class KeyboardInterrupt(BaseException):
     """ Program interrupted by user. """
     def __init__(self, *args, **kwargs): # real signature unknown
@@ -3244,6 +3402,8 @@
         pass
 
 
+from .LookupError import LookupError
+
 class KeyError(LookupError):
     """ Mapping key not found. """
     def __init__(self, *args, **kwargs): # real signature unknown
@@ -3259,6 +3419,8 @@
         pass
 
 
+from .object import object
+
 class list(object):
     """
     list() -> new empty list
@@ -3409,6 +3571,8 @@
     __hash__ = None
 
 
+from .object import object
+
 class map(object):
     """
     map(func, *iterables) --> map object
@@ -3437,6 +3601,8 @@
         pass
 
 
+from .Exception import Exception
+
 class MemoryError(Exception):
     """ Out of memory. """
     def __init__(self, *args, **kwargs): # real signature unknown
@@ -3448,20 +3614,37 @@
         pass
 
 
+from .object import object
+
 class memoryview(object):
     """
     memoryview(object)
     
     Create a new memoryview object which references the given object.
     """
-    def release(self, *args, **kwargs): # real signature unknown
+    def release(self): # real signature unknown; restored from __doc__
+        """
+        M.release() -> None
+        
+        Release the underlying buffer exposed by the memoryview object.
+        """
         pass
 
-    def tobytes(self, *args, **kwargs): # real signature unknown
-        pass
+    def tobytes(self): # real signature unknown; restored from __doc__
+        """
+        M.tobytes() -> bytes
+        
+        Return the data in the buffer as a byte string.
+        """
+        return b""
 
-    def tolist(self, *args, **kwargs): # real signature unknown
-        pass
+    def tolist(self): # real signature unknown; restored from __doc__
+        """
+        M.tolist() -> list
+        
+        Return the data in the buffer as a list of elements.
+        """
+        return []
 
     def __delitem__(self, y): # real signature unknown; restored from __doc__
         """ x.__delitem__(y) <==> del x[y] """
@@ -3525,17 +3708,37 @@
         """ x.__setitem__(i, y) <==> x[i]=y """
         pass
 
-    format = property(lambda self: object()) # default
-    itemsize = property(lambda self: object()) # default
-    ndim = property(lambda self: object()) # default
-    readonly = property(lambda self: object()) # default
-    shape = property(lambda self: object()) # default
-    strides = property(lambda self: object()) # default
-    suboffsets = property(lambda self: object()) # default
+    format = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
+    """A string containing the format (in struct module style)
+ for each element in the view."""
+
+    itemsize = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
+    """The size in bytes of each element of the memoryview."""
+
+    ndim = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
+    """An integer indicating how many dimensions of a multi-dimensional
+ array the memory represents."""
+
+    readonly = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
+    """A bool indicating whether the memory is read only."""
+
+    shape = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
+    """A tuple of ndim integers giving the shape of the memory
+ as an N-dimensional array."""
+
+    strides = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
+    """A tuple of ndim integers giving the size in bytes to access
+ each element for each dimension of the array."""
+
+    suboffsets = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
+    """A tuple of integers used internally for PIL-style arrays."""
+
 
     __hash__ = None
 
 
+from .Exception import Exception
+
 class NameError(Exception):
     """ Name not found globally. """
     def __init__(self, *args, **kwargs): # real signature unknown
@@ -3547,6 +3750,8 @@
         pass
 
 
+from .Exception import Exception
+
 class RuntimeError(Exception):
     """ Unspecified run-time error. """
     def __init__(self, *args, **kwargs): # real signature unknown
@@ -3558,6 +3763,8 @@
         pass
 
 
+from .RuntimeError import RuntimeError
+
 class NotImplementedError(RuntimeError):
     """ Method or function hasn't been implemented yet. """
     def __init__(self, *args, **kwargs): # real signature unknown
@@ -3569,6 +3776,8 @@
         pass
 
 
+from .EnvironmentError import EnvironmentError
+
 class OSError(EnvironmentError):
     """ OS system call failed. """
     def __init__(self, *args, **kwargs): # real signature unknown
@@ -3580,6 +3789,8 @@
         pass
 
 
+from .ArithmeticError import ArithmeticError
+
 class OverflowError(ArithmeticError):
     """ Result too large to be represented. """
     def __init__(self, *args, **kwargs): # real signature unknown
@@ -3591,6 +3802,8 @@
         pass
 
 
+from .Warning import Warning
+
 class PendingDeprecationWarning(Warning):
     """
     Base class for warnings about features which will be deprecated
@@ -3605,6 +3818,8 @@
         pass
 
 
+from .object import object
+
 class property(object):
     """
     property(fget=None, fset=None, fdel=None, doc=None) -> property attribute
@@ -3686,14 +3901,20 @@
         """ descr.__set__(obj, value) """
         pass
 
-    fdel = property(lambda self: object()) # default
-    fget = property(lambda self: object()) # default
-    fset = property(lambda self: object()) # default
+    fdel = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
 
+    fget = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
+
+    fset = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
+
+
+
+from .object import object
 
 class range(object):
     """
-    range([start,] stop[, step]) -> range object
+    range(stop) -> range object
+    range(start, stop[, step]) -> range object
     
     Returns a virtual sequence of numbers from start to stop by step.
     """
@@ -3720,7 +3941,7 @@
         """ x.__getitem__(y) <==> x[y] """
         pass
 
-    def __init__(self, start=None, *args, **kwargs): # real signature unknown; NOTE: unreliably restored from __doc__ 
+    def __init__(self, stop): # real signature unknown; restored from __doc__
         pass
 
     def __iter__(self): # real signature unknown; restored from __doc__
@@ -3748,6 +3969,8 @@
         pass
 
 
+from .Exception import Exception
+
 class ReferenceError(Exception):
     """ Weak ref proxy used after referent went away. """
     def __init__(self, *args, **kwargs): # real signature unknown
@@ -3759,6 +3982,8 @@
         pass
 
 
+from .Warning import Warning
+
 class ResourceWarning(Warning):
     """ Base class for warnings about resource usage. """
     def __init__(self, *args, **kwargs): # real signature unknown
@@ -3770,6 +3995,8 @@
         pass
 
 
+from .object import object
+
 class reversed(object):
     """
     reversed(sequence) -> reverse iterator over values of the sequence
@@ -3801,6 +4028,8 @@
         pass
 
 
+from .Warning import Warning
+
 class RuntimeWarning(Warning):
     """ Base class for warnings about dubious runtime behavior. """
     def __init__(self, *args, **kwargs): # real signature unknown
@@ -3812,6 +4041,8 @@
         pass
 
 
+from .object import object
+
 class set(object):
     """
     set() -> new empty set object
@@ -3943,7 +4174,7 @@
         pass
 
     def __iand__(self, y): # real signature unknown; restored from __doc__
-        """ x.__iand__(y) <==> x&y """
+        """ x.__iand__(y) <==> x&=y """
         pass
 
     def __init__(self, seq=()): # known special case of set.__init__
@@ -3957,11 +4188,11 @@
         pass
 
     def __ior__(self, y): # real signature unknown; restored from __doc__
-        """ x.__ior__(y) <==> x|y """
+        """ x.__ior__(y) <==> x|=y """
         pass
 
     def __isub__(self, y): # real signature unknown; restored from __doc__
-        """ x.__isub__(y) <==> x-y """
+        """ x.__isub__(y) <==> x-=y """
         pass
 
     def __iter__(self): # real signature unknown; restored from __doc__
@@ -3969,7 +4200,7 @@
         pass
 
     def __ixor__(self, y): # real signature unknown; restored from __doc__
-        """ x.__ixor__(y) <==> x^y """
+        """ x.__ixor__(y) <==> x^=y """
         pass
 
     def __len__(self): # real signature unknown; restored from __doc__
@@ -4036,9 +4267,12 @@
     __hash__ = None
 
 
+from .object import object
+
 class slice(object):
     """
-    slice([start,] stop[, step])
+    slice(stop)
+    slice(start, stop[, step])
     
     Create a slice object.  This is used for extended slicing (e.g. a[0:10:2]).
     """
@@ -4069,7 +4303,7 @@
         """ x.__gt__(y) <==> x>y """
         pass
 
-    def __init__(self, start=None, *args, **kwargs): # real signature unknown; NOTE: unreliably restored from __doc__ 
+    def __init__(self, stop): # real signature unknown; restored from __doc__
         pass
 
     def __le__(self, y): # real signature unknown; restored from __doc__
@@ -4098,12 +4332,20 @@
         pass
 
     start = property(lambda self: 0)
+    """:type: int"""
+
     step = property(lambda self: 0)
+    """:type: int"""
+
     stop = property(lambda self: 0)
+    """:type: int"""
+
 
     __hash__ = None
 
 
+from .object import object
+
 class staticmethod(object):
     """
     staticmethod(function) -> method
@@ -4139,9 +4381,12 @@
         """ T.__new__(S, ...) -> a new object with type S, a subtype of T """
         pass
 
-    __func__ = property(lambda self: object()) # default
+    __func__ = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
 
 
+
+from .Exception import Exception
+
 class StopIteration(Exception):
     """ Signal the end from iterator.__next__(). """
     def __init__(self, *args, **kwargs): # real signature unknown
@@ -4153,13 +4398,20 @@
         pass
 
 
+from .object import object
+
 class str(object):
     """
-    str(string[, encoding[, errors]]) -> str
+    str(object='') -> str
+    str(bytes_or_buffer[, encoding[, errors]]) -> str
     
-    Create a new string object from the given encoded string.
-    encoding defaults to the current default string encoding.
-    errors can be 'strict', 'replace' or 'ignore' and defaults to 'strict'.
+    Create a new string object from the given object. If encoding or
+    errors is specified, then the object must expose a data buffer
+    that will be decoded using the given encoding and error handler.
+    Otherwise, returns the result of object.__str__() (if defined)
+    or repr(object).
+    encoding defaults to sys.getdefaultencoding().
+    errors defaults to 'strict'.
     """
     def capitalize(self): # real signature unknown; restored from __doc__
         """
@@ -4234,14 +4486,14 @@
         """
         return 0
 
-    def format(self, *args, **kwargs): # real signature unknown; restored from __doc__
+    def format(*args, **kwargs): # known special case of str.format
         """
         S.format(*args, **kwargs) -> str
         
         Return a formatted version of S, using substitutions from args and kwargs.
         The substitutions are identified by braces ('{' and '}').
         """
-        return ""
+        pass
 
     def format_map(self, mapping): # real signature unknown; restored from __doc__
         """
@@ -4626,11 +4878,16 @@
 
     def __init__(self, value='', encoding=None, errors='strict'): # known special case of str.__init__
         """
-        str(string[, encoding[, errors]]) -> str
+        str(object='') -> str
+        str(bytes_or_buffer[, encoding[, errors]]) -> str
         
-        Create a new string object from the given encoded string.
-        encoding defaults to the current default string encoding.
-        errors can be 'strict', 'replace' or 'ignore' and defaults to 'strict'.
+        Create a new string object from the given object. If encoding or
+        errors is specified, then the object must expose a data buffer
+        that will be decoded using the given encoding and error handler.
+        Otherwise, returns the result of object.__str__() (if defined)
+        or repr(object).
+        encoding defaults to sys.getdefaultencoding().
+        errors defaults to 'strict'.
         # (copied from class doc)
         """
         pass
@@ -4689,6 +4946,8 @@
         pass
 
 
+from .object import object
+
 class super(object):
     """
     super() -> same as super(__class__, <first argument>)
@@ -4743,9 +5002,26 @@
         pass
 
     __self_class__ = property(lambda self: type(object))
-    __self__ = property(lambda self: type(object))
-    __thisclass__ = property(lambda self: type(object))
+    """the type of the instance invoking super(); may be None
 
+    :type: type
+    """
+
+    __self__ = property(lambda self: type(object))
+    """the instance invoking super(); may be None
+
+    :type: type
+    """
+
+    __thisclass__ = property(lambda self: type(object))
+    """the class invoking super()
+
+    :type: type
+    """
+
+
+
+from .Warning import Warning
 
 class SyntaxWarning(Warning):
     """ Base class for warnings about dubious syntax. """
@@ -4758,6 +5034,8 @@
         pass
 
 
+from .Exception import Exception
+
 class SystemError(Exception):
     """
     Internal error in the Python interpreter.
@@ -4774,6 +5052,8 @@
         pass
 
 
+from .BaseException import BaseException
+
 class SystemExit(BaseException):
     """ Request to exit from the interpreter. """
     def __init__(self, *args, **kwargs): # real signature unknown
@@ -4784,9 +5064,13 @@
         """ T.__new__(S, ...) -> a new object with type S, a subtype of T """
         pass
 
-    code = property(lambda self: object()) # default
+    code = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
+    """exception code"""
 
 
+
+from .IndentationError import IndentationError
+
 class TabError(IndentationError):
     """ Improper mixture of spaces and tabs. """
     def __init__(self, *args, **kwargs): # real signature unknown
@@ -4798,6 +5082,8 @@
         pass
 
 
+from .object import object
+
 class tuple(object):
     """
     tuple() -> empty tuple
@@ -4903,6 +5189,8 @@
         pass
 
 
+from .object import object
+
 class type(object):
     """
     type(object) -> the object's type
@@ -4973,7 +5261,8 @@
         """ __subclasses__() -> list of immediate subclasses """
         return []
 
-    __abstractmethods__ = property(lambda self: object()) # default
+    __abstractmethods__ = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
+
 
     __bases__ = (
         object,
@@ -4992,6 +5281,8 @@
     __weakrefoffset__ = 368
 
 
+from .Exception import Exception
+
 class TypeError(Exception):
     """ Inappropriate argument type. """
     def __init__(self, *args, **kwargs): # real signature unknown
@@ -5003,6 +5294,8 @@
         pass
 
 
+from .NameError import NameError
+
 class UnboundLocalError(NameError):
     """ Local name referenced but not bound to a value. """
     def __init__(self, *args, **kwargs): # real signature unknown
@@ -5014,6 +5307,8 @@
         pass
 
 
+from .Exception import Exception
+
 class ValueError(Exception):
     """ Inappropriate argument value (of correct type). """
     def __init__(self, *args, **kwargs): # real signature unknown
@@ -5025,6 +5320,8 @@
         pass
 
 
+from .ValueError import ValueError
+
 class UnicodeError(ValueError):
     """ Unicode related error. """
     def __init__(self, *args, **kwargs): # real signature unknown
@@ -5036,6 +5333,8 @@
         pass
 
 
+from .UnicodeError import UnicodeError
+
 class UnicodeDecodeError(UnicodeError):
     """ Unicode decoding error. """
     def __init__(self, *args, **kwargs): # real signature unknown
@@ -5050,12 +5349,24 @@
         """ x.__str__() <==> str(x) """
         pass
 
-    encoding = property(lambda self: object()) # default
-    end = property(lambda self: object()) # default
-    object = property(lambda self: object()) # default
-    reason = property(lambda self: object()) # default
-    start = property(lambda self: object()) # default
+    encoding = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
+    """exception encoding"""
 
+    end = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
+    """exception end"""
+
+    object = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
+    """exception object"""
+
+    reason = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
+    """exception reason"""
+
+    start = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
+    """exception start"""
+
+
+
+from .UnicodeError import UnicodeError
 
 class UnicodeEncodeError(UnicodeError):
     """ Unicode encoding error. """
@@ -5071,12 +5382,24 @@
         """ x.__str__() <==> str(x) """
         pass
 
-    encoding = property(lambda self: object()) # default
-    end = property(lambda self: object()) # default
-    object = property(lambda self: object()) # default
-    reason = property(lambda self: object()) # default
-    start = property(lambda self: object()) # default
+    encoding = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
+    """exception encoding"""
 
+    end = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
+    """exception end"""
+
+    object = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
+    """exception object"""
+
+    reason = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
+    """exception reason"""
+
+    start = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
+    """exception start"""
+
+
+
+from .UnicodeError import UnicodeError
 
 class UnicodeTranslateError(UnicodeError):
     """ Unicode translation error. """
@@ -5092,12 +5415,24 @@
         """ x.__str__() <==> str(x) """
         pass
 
-    encoding = property(lambda self: object()) # default
-    end = property(lambda self: object()) # default
-    object = property(lambda self: object()) # default
-    reason = property(lambda self: object()) # default
-    start = property(lambda self: object()) # default
+    encoding = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
+    """exception encoding"""
 
+    end = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
+    """exception end"""
+
+    object = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
+    """exception object"""
+
+    reason = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
+    """exception reason"""
+
+    start = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
+    """exception start"""
+
+
+
+from .Warning import Warning
 
 class UnicodeWarning(Warning):
     """
@@ -5113,6 +5448,8 @@
         pass
 
 
+from .Warning import Warning
+
 class UserWarning(Warning):
     """ Base class for warnings generated by user code. """
     def __init__(self, *args, **kwargs): # real signature unknown
@@ -5124,6 +5461,8 @@
         pass
 
 
+from .ArithmeticError import ArithmeticError
+
 class ZeroDivisionError(ArithmeticError):
     """ Second argument to a division or modulo operation was zero. """
     def __init__(self, *args, **kwargs): # real signature unknown
@@ -5135,6 +5474,8 @@
         pass
 
 
+from .object import object
+
 class zip(object):
     """
     zip(iter1 [,iter2 [...]]) --> zip object
@@ -5165,64 +5506,6 @@
         pass
 
 
-
-class __generator(object):
-    '''A mock class representing the generator function type.'''
-    def __init__(self):
-        self.gi_code = None
-        self.gi_frame = None
-        self.gi_running = 0
-
-    def __iter__(self):
-        '''Defined to support iteration over container.'''
-        pass
-
-    def __next__(self):
-        '''Return the next item from the container.'''
-        pass
-
-    def close(self):
-        '''Raises new GeneratorExit exception inside the generator to terminate the iteration.'''
-        pass
-
-    def send(self, value):
-        '''Resumes the generator and "sends" a value that becomes the result of the current yield-expression.'''
-        pass
-
-    def throw(self, type, value=None, traceback=None):
-        '''Used to raise an exception inside the generator.'''
-        pass
-
-
-class __namedtuple(tuple):
-    '''A mock base class for named tuples.'''
-
-    __slots__ = ()
-    _fields = ()
-
-    def __new__(cls, *args, **kwargs):
-        'Create a new instance of the named tuple.'
-        return tuple.__new__(cls, *args)
-
-    @classmethod
-    def _make(cls, iterable, new=tuple.__new__, len=len):
-        'Make a new named tuple object from a sequence or iterable.'
-        return new(cls, iterable)
-
-    def __repr__(self):
-        return ''
-
-    def _asdict(self):
-        'Return a new dict which maps field types to their values.'
-        return {}
-
-    def _replace(self, **kwargs):
-        'Return a new named tuple object replacing specified fields with new values.'
-        return self
-
-    def __getnewargs__(self):
-        return tuple(self)
-
 # variables with complex values
 
 Ellipsis = None # (!) real value is ''
diff --git a/python/testData/codeInsight/smartEnter/withTargetIncomplete.py b/python/testData/codeInsight/smartEnter/withTargetIncomplete.py
new file mode 100644
index 0000000..a3214a3
--- /dev/null
+++ b/python/testData/codeInsight/smartEnter/withTargetIncomplete.py
@@ -0,0 +1 @@
+with open('file.txt') <caret>as
\ No newline at end of file
diff --git a/python/testData/codeInsight/smartEnter/withTargetIncomplete_after.py b/python/testData/codeInsight/smartEnter/withTargetIncomplete_after.py
new file mode 100644
index 0000000..72892c5
--- /dev/null
+++ b/python/testData/codeInsight/smartEnter/withTargetIncomplete_after.py
@@ -0,0 +1 @@
+with open('file.txt') as <caret>:
\ No newline at end of file
diff --git a/python/testData/codeInsight/smartEnter/withTargetOmitted.py b/python/testData/codeInsight/smartEnter/withTargetOmitted.py
new file mode 100644
index 0000000..c1ba50b
--- /dev/null
+++ b/python/testData/codeInsight/smartEnter/withTargetOmitted.py
@@ -0,0 +1 @@
+with o<caret>pen('file.txt')
\ No newline at end of file
diff --git a/python/testData/codeInsight/smartEnter/withTargetOmitted_after.py b/python/testData/codeInsight/smartEnter/withTargetOmitted_after.py
new file mode 100644
index 0000000..a9e851f
--- /dev/null
+++ b/python/testData/codeInsight/smartEnter/withTargetOmitted_after.py
@@ -0,0 +1,2 @@
+with open('file.txt'):
+    <caret>
\ No newline at end of file
diff --git a/python/testData/completion/modulePrivateNamesCompletedInsideImport/a.py b/python/testData/completion/modulePrivateNamesCompletedInsideImport/a.py
new file mode 100644
index 0000000..4aa7c18
--- /dev/null
+++ b/python/testData/completion/modulePrivateNamesCompletedInsideImport/a.py
@@ -0,0 +1 @@
+from module import <caret>
\ No newline at end of file
diff --git a/python/testData/completion/modulePrivateNamesCompletedInsideImport/module.py b/python/testData/completion/modulePrivateNamesCompletedInsideImport/module.py
new file mode 100644
index 0000000..0febd2f
--- /dev/null
+++ b/python/testData/completion/modulePrivateNamesCompletedInsideImport/module.py
@@ -0,0 +1,3 @@
+normal_name = 'foo'
+_private_name = 'bar'
+__magic_name__ = 'baz'
\ No newline at end of file
diff --git a/python/testData/inspections/PyUnresolvedReferencesInspection/PrivateModuleNames/a.py b/python/testData/inspections/PyUnresolvedReferencesInspection/PrivateModuleNames/a.py
new file mode 100644
index 0000000..71615d7
--- /dev/null
+++ b/python/testData/inspections/PyUnresolvedReferencesInspection/PrivateModuleNames/a.py
@@ -0,0 +1,5 @@
+from lib import *
+
+normal_name
+<error descr="Unresolved reference '_private_name'">_private_name</error>
+<error descr="Unresolved reference '__magic_name__'">__magic_name__</error>
\ No newline at end of file
diff --git a/python/testData/inspections/PyUnresolvedReferencesInspection/PrivateModuleNames/lib.py b/python/testData/inspections/PyUnresolvedReferencesInspection/PrivateModuleNames/lib.py
new file mode 100644
index 0000000..b92c948
--- /dev/null
+++ b/python/testData/inspections/PyUnresolvedReferencesInspection/PrivateModuleNames/lib.py
@@ -0,0 +1,3 @@
+normal_name = 'spam'
+private_name = 'ham'
+__magic_name__ = 'green eggs'
diff --git a/python/testData/intentions/PyConvertFormatOperatorToMethodIntentionTest/concatenated.py b/python/testData/intentions/PyConvertFormatOperatorToMethodIntentionTest/concatenated.py
new file mode 100644
index 0000000..9ba6589
--- /dev/null
+++ b/python/testData/intentions/PyConvertFormatOperatorToMethodIntentionTest/concatenated.py
@@ -0,0 +1,2 @@
+print('<caret>%(quantity)s pounds of '
+      '%(type)s' % dict(quantity=42, type='spam'))
\ No newline at end of file
diff --git a/python/testData/intentions/PyConvertFormatOperatorToMethodIntentionTest/concatenated_after.py b/python/testData/intentions/PyConvertFormatOperatorToMethodIntentionTest/concatenated_after.py
new file mode 100644
index 0000000..804f15c
--- /dev/null
+++ b/python/testData/intentions/PyConvertFormatOperatorToMethodIntentionTest/concatenated_after.py
@@ -0,0 +1,2 @@
+print('{quantity:s} pounds of '
+      '{type:s}'.format(quantity=42, type='spam'))
\ No newline at end of file
diff --git a/python/testData/resolve/multiFile/modulePrivateName/ImportedFile.py b/python/testData/resolve/multiFile/modulePrivateName/ImportedFile.py
new file mode 100644
index 0000000..8fb1549
--- /dev/null
+++ b/python/testData/resolve/multiFile/modulePrivateName/ImportedFile.py
@@ -0,0 +1 @@
+_private_name = "spam"
\ No newline at end of file
diff --git a/python/testData/resolve/multiFile/modulePrivateName/ModulePrivateName.py b/python/testData/resolve/multiFile/modulePrivateName/ModulePrivateName.py
new file mode 100644
index 0000000..ac8143c
--- /dev/null
+++ b/python/testData/resolve/multiFile/modulePrivateName/ModulePrivateName.py
@@ -0,0 +1,5 @@
+from ImportedFile import *
+
+_private_name
+# <ref>
+
diff --git a/python/testData/resolve/multiFile/modulePrivateNameInDunderAll/ImportedFile.py b/python/testData/resolve/multiFile/modulePrivateNameInDunderAll/ImportedFile.py
new file mode 100644
index 0000000..9fb658f
--- /dev/null
+++ b/python/testData/resolve/multiFile/modulePrivateNameInDunderAll/ImportedFile.py
@@ -0,0 +1,4 @@
+__all__ = [
+    "_private_name",
+]
+_private_name = "spam"
\ No newline at end of file
diff --git a/python/testData/resolve/multiFile/modulePrivateNameInDunderAll/ModulePrivateNameInDunderAll.py b/python/testData/resolve/multiFile/modulePrivateNameInDunderAll/ModulePrivateNameInDunderAll.py
new file mode 100644
index 0000000..ac8143c
--- /dev/null
+++ b/python/testData/resolve/multiFile/modulePrivateNameInDunderAll/ModulePrivateNameInDunderAll.py
@@ -0,0 +1,5 @@
+from ImportedFile import *
+
+_private_name
+# <ref>
+