Commit Graph

15802 Commits

Author SHA1 Message Date
Alexander Udalov afd3127054 Create and store necessary codegens in MemberCodegen 2014-05-26 16:48:20 +04:00
Alexander Udalov 5b99b0ceb0 Make ClassBuilderOnDemand extend ClassBuilder
Introduce DelegatingClassBuilder, refactor RemappingClassBuilder to use it
2014-05-26 16:48:20 +04:00
Alexander Udalov 9e325b3ebe Remove heuristic from PackageCodegen
Implement the logic in a more straightforward way, move the heuristic to
JavaElementFinder where it was also used
2014-05-26 16:48:19 +04:00
Alexander Udalov 9dd81bdb3d Refactor PackageCodegen and ClassBuilderOnDemand
Make ClassBuilderOnDemand non-abstract and create its instance directly in
PackageCodegen's constructor
2014-05-26 16:48:19 +04:00
Alexander Udalov 4ee7d2e72a Simplify ClassFileFactory
Get rid of outdated assertions, mark createText() as TestOnly, add
NotNull/Nullable annotations.

Inline useless forClass/forTraitImpl/... methods, because this way it's simpler
and some code was already using newVisitor() anyway
2014-05-26 16:48:18 +04:00
Alexander Udalov ae27ac1661 Minor, reorder code in ExpressionCodegen 2014-05-26 16:48:18 +04:00
Alexander Udalov 7857bc32de Merge ParentCodegenAware and ParentCodegenAwareImpl
Unextend ExpressionCodegen from ParentCodegenAware and make its
getParentCodegen() non-null. This fixes some nullability warnings related to
getParentCodegen()
2014-05-26 16:48:17 +04:00
Alexander Udalov a1d752c7ae Minor, fix parameter type in MemberCodegen 2014-05-26 15:31:32 +04:00
Alexander Udalov 4ec8000121 Minor cleanup in FieldOwnerContext 2014-05-26 15:31:32 +04:00
Mikhael Bogdanov 69ef648005 Write outer class info for closures 2014-05-26 14:48:37 +04:00
Mikhael Bogdanov 9773015548 Fix visibility for main script function 2014-05-26 14:48:37 +04:00
Mikhael Bogdanov 449e26ce6d New tests for outer class info 2014-05-26 14:48:34 +04:00
Mikhael Bogdanov 1a164cade8 OuterClassInfo refactoring 2014-05-26 12:43:41 +04:00
Valentin Kipyatkov 2ddcae68e8 Fixed KT-5077 Code completion inserts FQ names inside lambda
#KT-5077 Fixed
2014-05-23 19:16:23 +04:00
Zack Grannan b2858e5b82 Added ConvertToConcatenatedStringIntention 2014-05-23 16:27:46 +04:00
Nikolay Krasko 8e2878a6eb Minor: annotate parameter 2014-05-23 15:36:31 +04:00
Nikolay Krasko 80d6b0800e Make ResolveSessionForBodies.resolveToDescriptor() work for local declarations (EA-56877)
Fix (EA-56877)
2014-05-23 15:36:31 +04:00
Nikolay Krasko 89f80db98f Refactoring: more suitable method 2014-05-23 15:36:30 +04:00
Nikolay Krasko a8642c8636 Refatoring: rewrite in PsiTreeUtil style 2014-05-23 15:36:29 +04:00
Nikolay Krasko 84fb54fcdb More information for EA-48954 2014-05-23 15:36:29 +04:00
Nikolay Krasko 34a9d9e91d Minor: remove warnings 2014-05-23 15:36:28 +04:00
Mikhael Bogdanov 950840b8c7 KT-5076 Error on inlining into object
#KT-5076 Fixed
2014-05-23 11:59:05 +04:00
Alexander Udalov 0bd482d271 Minor, don't create unnecessary map in OverrideResolver 2014-05-22 19:32:11 +04:00
Alexander Udalov f3e8ba072d Minor, fix "visibility modifier" positioning strategy for objects
It's not reproducible at the moment, but will matter if more diagnostics use
this positioning strategy
2014-05-22 19:32:11 +04:00
Alexander Udalov 3c3d120004 Prohibit implicit overrides with lesser visibility
A non-abstract super-declaration is allowed to stand as 'an implementation' of
a fake override only if its visibility is not less than visibilities of all
other super-declarations

 #KT-2491 Fixed
2014-05-22 19:32:10 +04:00
Alexander Udalov 1706bd4a00 Render the descriptor in "cannot infer visibility" message
Otherwise it's unclear what member is problematic if it's a fake override
(because the diagnostic in that case is reported on the whole class)
2014-05-22 19:32:10 +04:00
Alexander Udalov db25f568dc Don't report "cannot infer visibility" on property accessors
If the diagnostic is already reported on the corresponding property, no need to
report it again for accessors
2014-05-22 19:32:10 +04:00
Alexander Udalov 9760f30c99 Don't allow fake override to inherit implementation with wrong return type
#KT-4763 Fixed
2014-05-22 19:32:10 +04:00
Pavel V. Talanov 05a04293ab Update to EAP idea 135.908 2014-05-22 17:08:56 +04:00
Pavel V. Talanov 9ef700b081 Use HintManager instead of JBPopupFactory to notify of intention failure 2014-05-22 15:48:01 +04:00
Pavel V. Talanov ca15d77f1d Simplify logic in ReplaceWithInfixFunctionCallIntention 2014-05-22 15:47:59 +04:00
Pavel V. Talanov 3334857870 Merge PR#471: Bug Fix: KT-4613 2014-05-22 15:24:22 +04:00
Andrey Breslav fe9de64487 Enabling creating different descriptors for different Java classes 2014-05-21 23:31:32 +04:00
Andrey Breslav bee4dbc672 Error types should not be compared by FqName 2014-05-21 23:31:32 +04:00
Andrey Breslav a66f44e4f5 TypeConstructor's equality for classes relies on FqNames
This is needed because different modules/libraries may define classes with the same FqNames, which may be identical or slightly different.
 Such classes must be considered equal, because your dependencies may rely on different packagings of the same codebase, and the classes there will be distinct though identical
  (think intellij-core vs idea-full).
2014-05-21 23:31:32 +04:00
Andrey Breslav f714382bd8 ErrorClassDescriptor moved to ErrorUtils 2014-05-21 23:31:31 +04:00
Pavel V. Talanov e2efae3f46 Fix copying filename raising an exception
#KT-4990 Fixed
2014-05-21 19:21:50 +04:00
Natalia Ukhorskaya 903f262a79 Rewrite suppressing visibility errors for debugger 2014-05-21 18:37:51 +04:00
Pavel V. Talanov 2f878c1b69 Increase stub version before pushing to master 2014-05-21 16:51:03 +04:00
Pavel V. Talanov c8a9381904 Minor: reformat JetStubElementTypes
After a series of messy merges :(
2014-05-21 16:51:01 +04:00
Pavel V. Talanov b4b24262a0 Build stubs for insides of local objects and classes 2014-05-21 16:50:59 +04:00
Pavel V. Talanov e33144f89a Define toString() for stub impl classes via reflection
Update outdated test data for stub builder test
2014-05-21 16:50:55 +04:00
Pavel V. Talanov ab4d4a309a Remove redundant isAnnotation(), isEnum() and isInner() from PsiJetClassStub 2014-05-21 15:40:45 +04:00
Pavel V. Talanov f5495a21d2 Minor: rename and move constant 2014-05-21 15:40:44 +04:00
Pavel V. Talanov ed7e3b558a Array factory used in JetDotQualifiedExpression 2014-05-21 15:40:43 +04:00
Pavel V. Talanov 0a576995c7 Use getDebugText() in LazyImportScope 2014-05-21 15:40:42 +04:00
Pavel V. Talanov 15574a2026 Store fqName as StringRef in PsiJetParameterStub 2014-05-21 15:40:41 +04:00
Pavel V. Talanov dee1437d92 Use stub in JetImportDirective#isValidImport() 2014-05-21 15:40:40 +04:00
Pavel V. Talanov 2858552ba2 Add isValid() to PsiJetImportDirectiveStub 2014-05-21 15:40:39 +04:00
Pavel V. Talanov fedbe424df Use getDebugText() in AnalyzingUtils 2014-05-21 15:40:38 +04:00