Nicolay Mitropolsky
d5d49c65b4
Uast: tests for UClass.uastSuperTypes
2018-01-19 10:45:58 +03:00
Nicolay Mitropolsky
b4db744a9b
Uast: KotlinStringULiteralExpression.getExpressionType() made always return String
2018-01-16 20:38:00 +03:00
Nicolay Mitropolsky
9ce9b434fe
Uast: testdata fix for KotlinUastTypesTest.testEa101715
2018-01-15 20:58:18 +03:00
Yan Zhulanow
2ee23ddd02
EA-101715: Handle also case with IntegerValueTypeConstructor
2018-01-15 12:39:35 +09:00
Nicolay Mitropolsky
f4a7ecc1bb
Uast: Fix for missing local variables in ctor-s bodies
...
similar to how it is done in `KotlinUBlockExpression`
2018-01-12 22:32:52 +03:00
Nicolay Mitropolsky
f8601479de
Uast: handling @receiver annotations
2018-01-12 13:54:38 +03:00
Nicolay Mitropolsky
f91f42c253
Uast: Constructors.kt testdata fixes
2018-01-12 13:54:36 +03:00
Nicolay Mitropolsky
e22e466485
Uast: making AbstractKotlinUClass not inherit from AbstractJavaUClass
2018-01-12 13:54:32 +03:00
Nicolay Mitropolsky
260c549cd7
Uast: AbstractKotlinUVariable annotations now are retrieved from Kotlin Psi, not from compiled (KT-21025)
...
and `KotlinNullabilityUAnnotation` now is created for every `AbstractKotlinUVariable`
2018-01-12 13:54:29 +03:00
Nicolay Mitropolsky
0a1580159f
Uast: Constructors.kt testData fixes
2018-01-12 13:54:22 +03:00
Nicolay Mitropolsky
502a6fa9f1
Uast: SuperCalls.render.txt testdata fix
2018-01-12 13:54:14 +03:00
Nicolay Mitropolsky
8c27bf98f4
UAST: StringTemplateComplex testdata fix
2018-01-12 13:54:03 +03:00
Nicolay Mitropolsky
6bfe168dd7
UAST: SimpleKotlinRenderLogTest.testWhenAndDestructing testdata fix
2018-01-12 13:53:39 +03:00
Nicolay Mitropolsky
f1579d01af
UAST test data fixes: LocalVariableWithAnnotationKt fix for variable type
...
it is not clear for me why it was not `String`
2018-01-12 13:53:24 +03:00
Nicolay Mitropolsky
7c3c59de00
UAST test data fixes: @null in render
...
as a "nullability" annotation for primitive types
2018-01-12 13:53:22 +03:00
Vyacheslav Gerasimov
3f15f7a394
UAST: Fix testPropertyWithAnnotation
2018-01-12 13:52:58 +03:00
Vyacheslav Gerasimov
e6efaaf752
UAST: Add testConvertTypeInAnnotation
2018-01-12 13:52:56 +03:00
Vyacheslav Gerasimov
8eddb10870
UAST: Properly handle annotations on local variables
2018-01-12 13:52:54 +03:00
Nicolay Mitropolsky
da98b7e07b
Uast: type-mapper checks deeper for local classes (KT-21546, EA-100195)
2017-12-15 09:16:46 +03:00
Nicolay Mitropolsky
209ba89a49
Uast: KotlinSecondaryConstructorWithInitializersUMethod introduced as workaround for KT-21617
...
to be the only constructor which includes `init` block when there is no primary constructors in the class
2017-12-06 22:19:57 +03:00
Nicolay Mitropolsky
b8069b48c5
Uast: returning back secondary constructors bodies (KT-21575)
...
but secondary constructors without primary constructor will not contain initializers, it is still an issue
2017-12-06 22:19:57 +03:00
Nicolay Mitropolsky
4db5ca66e3
Uast: constructors calls consistency for KtObjectLiteralExpression (KT-21409)
2017-11-30 20:08:16 +03:00
Nicolay Mitropolsky
1ce21583ad
Uast: secondary constructors delegation support (KT-21409)
2017-11-30 20:08:16 +03:00
Nicolay Mitropolsky
3bfa5c4706
Uast: parsing primary constructors superCalls (KT-21409)
2017-11-30 20:08:16 +03:00
Nicolay Mitropolsky
fab8187574
UAST: Complex test data moved to separate file (KT-20990)
2017-11-06 19:59:50 +03:00
Nicolay Mitropolsky
9730d50e10
UAST: yet another fight with string literals in string literals (KT-20990)
2017-11-06 19:59:50 +03:00
Nicolay Mitropolsky
a11cf253df
UAST: correct processing of string literals in string literals (KT-20990)
2017-10-30 11:29:51 +03:00
nickl
6a659f33b5
UastKotlinPsiVariable psiParent made lazy to eliminate recursion when building UAST parents
2017-10-20 19:46:49 +03:00
xiexed
5c2962e195
UAST properly handles string "when conditions" in lazy parent (KT-20709) ( #1338 )
2017-10-11 15:16:15 +02:00
Dmitry Jemerov
703d053157
Additional fixes for consistent parent conversion
2017-10-06 20:51:04 +02:00
Dmitry Jemerov
a4f5a1335a
Fix convering parents of annotations on primary constructor parameters
2017-10-06 20:51:02 +02:00
Dmitry Jemerov
56168b4a09
Fix destructuring declaration test
2017-10-06 20:51:02 +02:00
Dmitry Jemerov
c98c3a7033
Work in progress on consistent UAST structure
2017-10-06 20:51:00 +02:00
Dmitry Jemerov
b638febc41
Fix conversion of destructuring declarations
2017-10-06 20:51:00 +02:00
Dmitry Jemerov
40daeb13d1
Evaluate parents of UAST elements lazily
...
Also add tests for UAST consistency in various cases
2017-10-06 20:51:00 +02:00
Vyacheslav Gerasimov
bba2d27e82
UAST: Fix getType and getText for UastKotlinPsiVariable
2017-09-16 13:21:44 +03:00
Vyacheslav Gerasimov
b6c32edc43
Implement Kotlin Script support in UAST
...
#KT-18353 Fixed
2017-09-12 13:10:38 +03:00
Vyacheslav Gerasimov
56a075eab6
UAST: Fix annotation arguments processing
...
multiple unnamed arguments represented as value named expression with array initializer
call kind for array in annotation argument should be "array initializer" instead of "method call"
#KT-16600 Fixed Target Versions 1.1.5
2017-09-01 13:31:50 +03:00
Vyacheslav Gerasimov
2e1edaf3d4
Uast: Fix getExpressionType for elvis expression
...
#KT-18997 Fixed Target Versions 1.1.5
2017-08-23 13:18:49 +03:00
Vyacheslav Gerasimov
c549c63100
Light Classes: Correctly handle annotations for property parameters
...
When getting annotations for KtLightParameter which is property parameter we should return annotations for parameter instead of property
#KT-19671 Fixed
2017-08-21 15:01:51 +03:00
Vyacheslav Gerasimov
4cf2bf6ca5
UAST: Implement getFunctionalInterfaceType for KotlinULambdaExpression
2017-08-14 15:41:40 +03:00
Vyacheslav Gerasimov
915f47133b
UAST: Fix KotlinUMethod annotation handling, properly handle use site targets
...
#KT-16834 Fixed
#KT-18893 Fixed
2017-08-09 15:34:34 +03:00
Vyacheslav Gerasimov
643e3587cc
Kotlin UAST should visit property delegate expression
...
#KT-15164 Fixed
2017-06-06 20:47:01 +03:00
Mikhail Glukhikh
d185adfedd
Fix UAST test
2017-05-16 16:43:29 +03:00
Dmitry Jemerov
49a211b3cd
Ensure that UElement.nameIdentifier.containingFile is a real file
...
This is needed to report inspection problems on UAST elements.
2017-04-20 11:02:56 +02:00
Dmitry Jemerov
03cef30717
Correctly honor expected type when converting string templates to UAST
...
#KT-17315 Fixed
#KT-17316 Fixed
2017-04-19 11:46:13 +02:00
Vyacheslav Gerasimov
107879a78a
Implement getTypeElement for UastKotlinPsiVariable
...
#KT-16849 Fixed
2017-04-10 12:40:33 +03:00
Pavel V. Talanov
4f701285b1
Light class builder: do not generate methods delegating to DefaultImpls in kotlin classes
...
Class APIs from java point of view stays the same so we can avoid generating those methods
Otherwise we have to calculate all supertypes when getMethods() is called,
which imposes severe performance penalties
We have to pretend these methods are not 'abstract' (also we consider them 'default' for safety)
so java highlighting does not report "class should be abstract" for all inheritors
We have to manually report "class should be abstract" on some of the java inheritors,
specifically those that are implementing interfaces directly
as opposed to extending kotlin classes implementing those interfaces
2017-04-09 15:09:01 +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
Vyacheslav Gerasimov
b8563f7fcf
Fix KotlinUastTypesTest.testCycleInTypeParameters
2017-03-15 00:20:40 +03:00