Pavel V. Talanov
df71116dc5
KtLightElements: fix KtLightMember not extending KtLightDeclaration
...
Fix problem introduced in 4b85fd9fbe
2017-03-28 19:47:13 +03:00
Pavel V. Talanov
2291d91109
KtLightMethod: isVarArgs() does not trigger exact delegate computation
2017-03-27 17:59:01 +03:00
Pavel V. Talanov
c4be805962
Light members: allow to get modifier list without computing delegate
2017-03-27 17:58:59 +03:00
Pavel V. Talanov
ec895f18f2
Light classes: refactor, move getOrigin to corresponding classes
2017-03-27 17:58:55 +03:00
Pavel V. Talanov
a2511232ab
Lazy light classes: fix visibility modifier in case of inherited protected visibility
2017-03-27 17:58:53 +03:00
Pavel V. Talanov
4b85fd9fbe
Refactor light members: introduce KtLightMemberImpl
...
Holds common code for fields and methods
2017-03-27 17:58:49 +03:00
Ilya Gorbunov
dce0da68c6
Cleanup: post-cleanup after deprecation cleanup in compiler
...
Replace `takeIf { !expr }` with `takeUnless { expr }`.
Cleanup redundant parethesis as in `listOf((expr))`.
Replace `listOf(expr)` with `expr.let(::listOf)` where the former caused significant indentation change.
2017-03-23 16:48:38 +03:00
Pavel V. Talanov
f1c0d5316f
Refactor delegate members to light members conversion
2017-03-15 20:55:42 +03:00
Pavel V. Talanov
eedcc19209
J2K KtLightClassBase: rename file
2017-03-15 20:55:41 +03:00
Pavel V. Talanov
04591bb938
LightClassDataHolder: refactor, extract subinterfaces
2017-03-15 20:55:40 +03:00
Pavel V. Talanov
6d595e30c2
ClassFileFactory, minor: make done() public and use in LightClassDataProvider
2017-03-15 20:55:40 +03:00
Pavel V. Talanov
d62db8dc6b
LightClassGenerationSupport: refactor, minor
...
Use typealias where appropriate
Less verbose method names
2017-03-15 20:55:39 +03:00
Pavel V. Talanov
a645dc109a
KotlinLightClassBuilderFactory, LightClassBuilder: refactor, clarify
2017-03-15 20:55:38 +03:00
Pavel V. Talanov
c73e58516b
Refactor LightClassDataProvider: drop LightClassDataProvider class
...
Move code to inheritors
Improve api to avoid getting empty file lists in random places
2017-03-15 20:55:37 +03:00
Pavel V. Talanov
feae5079ed
Light classes: refactor, introduce lazyPub util to reduce verbosity
2017-03-15 20:55:07 +03:00
Pavel V. Talanov
ba185d7616
LightClassDataProvider: refactor, extract class filters to separate classes
2017-03-15 20:55:05 +03:00
Pavel V. Talanov
48cae0e480
KtLightField/Method: Use equality in equivalence checks
...
Avoid computing delegate to determine equivalence
2017-03-15 20:55:03 +03:00
Pavel V. Talanov
fa58f1b4d7
KtLightMethod(Field): use dummyDelegate to determine modifier properties
2017-03-15 20:54:59 +03:00
Pavel V. Talanov
abf206a134
KtLightMethod(Field): do not use clsDelegate in hashCode && equality checks
2017-03-15 20:54:58 +03:00
Pavel V. Talanov
fee29c47c8
KtLightMethod: use dummy delegate to compute parameter count and isContructor
2017-03-15 20:54:56 +03:00
Pavel V. Talanov
3e7357a5d7
IDELightClassTest: provide tools to check laziness of light class construction
...
StubComputationTracker knows which context was used to construct light class
2017-03-15 20:54:55 +03:00
Pavel V. Talanov
daef8a0eed
Light classes in IDE: Make light class delegate construction a two step process
...
Step 0: Light class object is created, no delegates are computed
Step 1: constructs dummy delegate which can not be relied upon to know signature of any member
It can be used to construct light field and light method objects
(which can correctly respond to some queries) before constructing real delegate
Step 2:
Construct real delegate if dummy delegate is not enough to respond to a query
This speeds up multiple scenarios where getMethods() and getFields() are called on numerous classes
Dummy delegate's faster consruction is achieved by using specially setup dumb analysis instead of ide analysis
Introduce LazyLightClassDataHolder: which manages creation of Step 1 and Step 2 delegates
Introduce MemberIndex: keeping track of member creation order, helps matching light class delegates created in different contexts
KtLightMethod and Field: make use of dummy delegate
KtLightMethod no longer extends LightMethod since it requires eager delegate construction
KtLightMethod now implements PsiAnnotationMethod for convenience (ClsMethodImpl implements PsiAnnotationMethod)
2017-03-15 20:54:55 +03:00
Pavel V. Talanov
ed9e94c632
KtLightModifierListWithExplicitModifiers: fix equals
2017-03-15 20:53:59 +03:00
Pavel V. Talanov
d01aaeb65c
Refactor light classes: Delegate LightClassDataHolder construction to LightClassGenerationSupport
2017-03-15 20:53:58 +03:00
Pavel V. Talanov
00e84fb483
Light classes: Refactor construction
...
Introduce LightClassDataHolder: which now is reponsible for constructing clsDelegate
Move out light big chunk of delegate building logic out of LightClassDataProvider into LightClassBuilder
LightClassData only holds information about single class
2017-03-15 20:53:37 +03:00
Pavel V. Talanov
22fb9ec5e1
Refactor light classes: move light members creation to their respective classes
2017-03-15 20:52:51 +03:00
Pavel V. Talanov
15b063d236
J2K LightClassGenerationSupport: rename file
2017-03-15 20:52:50 +03:00
Pavel V. Talanov
dd2d9c1dc2
J2K LightClassGenerationSupport: convert code
2017-03-15 20:52:49 +03:00
Pavel V. Talanov
71161e218b
Refactor LightClassData: remove redundant entities
2017-03-15 20:52:48 +03:00
Pavel V. Talanov
1441aea2ea
Light classes: allow light classes for inner/nested classes to be build separately
...
Avoid analyzing/generating bytecode for outers
2017-03-15 20:51:22 +03:00
Mikhail Glukhikh
045a23ae10
Cleanup: apply "Convert lambda to reference"
2017-03-15 17:36:02 +03:00
Mikhail Glukhikh
b121bf8802
Cleanup: fix some compiler warnings (mostly deprecations, javaClass)
2017-03-15 17:35:31 +03:00
Mikhail Glukhikh
d0cc1635db
Cleanup: apply "Use synthetic property access syntax"
2017-03-15 16:13:40 +03:00
Vyacheslav Gerasimov
bad15249e7
Fixed exception in android lint
2017-02-03 18:06:05 +03:00
Dmitry Jemerov
1361d5e915
EA-85853 - (KT-13415) AIOOBE: LightClassUtilsKt.toPsiTypeParameters
2017-01-27 14:48:05 +01:00
Dmitry Jemerov
59e2645293
EA-82902 - IOOBE: KtLightAnnotation$LightExpressionValue.unwrapArray
2017-01-27 14:48:05 +01:00
Dmitry Jemerov
b987e37e82
Diagnostics for EA-86712
2017-01-27 12:47:41 +01:00
Stanislav Erokhin
59efedf610
Rename platform to header.
2016-12-13 18:00:00 +03:00
Dmitry Jemerov
7e92cf2af7
Don't create light classes for platform declarations
...
#KT-15137 Fixed
2016-12-12 20:47:45 +01:00
Dmitry Jemerov
d6cd1486c6
Implement supertype access methods in KtLightClassForFacade without delegate access (EA-92490 - ISE: KtLightClassForFacade.getClsDelegate)
2016-12-12 17:50:27 +01:00
Alexey Sedunov
1bde0e12fd
Rename: Fix exceptions on moving file with facade class to another package
...
#KT-14325 Fixed
2016-11-30 14:35:40 +03:00
Alexey Sedunov
9967d4c4e2
Move: Fix EA-1266148
2016-11-30 14:35:31 +03:00
Dmitry Jemerov
763782083c
Implement KtLightTypeParameter.isEquivalentTo() without referencing delegate (this is faster and more correct)
2016-11-23 18:29:25 +01:00
Dmitry Jemerov
c56a72d442
Retrieve virtual file for PsiFile via FileViewProvider, which always has a non-null vFile (EA-89047 - assert: LightClassDataProvider.getRepresentativeVirtualFile)
2016-11-23 18:29:23 +01:00
Dmitry Jemerov
89313b3495
Fix exception when companion object is on the top level of a file (EA-89388 - CCE: LightClassUtil$getWrappingClasses$.invoke)
2016-11-23 18:29:23 +01:00
Dmitry Jemerov
d803831548
A facade light class inherits only java.lang.Object (EA-91597 - NPE: KtLightClassForFacade.getClsDelegate)
2016-11-23 18:29:20 +01:00
Yan Zhulanow
c2ddd943f9
Lint: Update diagnostics because of the new Uast. Also, these diagnostics are from AS 2.2.
2016-11-01 19:36:31 +03:00
Simon Ogorodnik
3382ab3d9c
Fix for KT-14141: Go to Symbol shows Kotlin extensions from Java's point of view
2016-10-27 20:38:05 +03:00
Alexander Udalov
2f81d48f5e
Use ClassId instead of FqName in JavaToKotlinClassMap
...
Extract mapJavaToKotlin which returns ClassId and needs no KotlinBuiltIns
instance
2016-10-25 15:42:32 +03:00
Alexey Sedunov
394859afc5
Light Classes: Avoid empty scope on KtLightParameter
...
#KT-13882 Fixed
2016-10-18 16:48:09 +03:00