Commit Graph

391 Commits

Author SHA1 Message Date
Ilya Kirillov be94eb5405 New J2K: remove extra interfaces in AST structure & split AST definitions to proper files 2019-09-10 14:09:30 +03:00
Ilya Kirillov fd85c2bb43 New J2K: use mutable lists for storing comments 2019-09-10 14:09:30 +03:00
Ilya Kirillov 5d99419e9c New J2K: check call name before resolving in post-processing 2019-09-10 14:09:29 +03:00
Ilya Kirillov dca0dc1933 New J2K: do not recalculate types for binary & unary expressions and rewrite assignment expressions conversion
#KT-33679 fixed
2019-09-10 14:09:29 +03:00
Ilya Kirillov c93d810685 New J2K: introduce TypeFactory for creating J2K types 2019-09-10 14:09:28 +03:00
Ilya Kirillov 047bb07727 New J2K: store reference to conversionContext & symbolProvider in conversion 2019-09-10 14:09:27 +03:00
Ilya Kirillov eb690f451e New J2K: do not recreate typeElement on updating type 2019-09-10 14:09:26 +03:00
Ilya Kirillov f61bb5aa39 New J2K: implement mutability inference in post-processing
#KT-24293 fixed
#KT-19603 fixed
2019-09-10 14:09:26 +03:00
Ilya Kirillov c28515be59 New J2K: use nullable type for unknown for public declarations & prepare for mutability inference
#KT-32518 fixed
2019-09-10 14:09:25 +03:00
Mikhail Glukhikh 7eac7d96dc Fix NJ2K test related to KT-30136 2019-09-02 12:57:53 +03:00
Ilya Kirillov 78b0d5750b New J2K: consider literal expressions in data class conversion & fix names conflict
#KT-32253 fixed
2019-08-29 11:31:55 +03:00
Ilya Kirillov 405a3beeab New J2K: move helper functions to corresponding files & use better names for tree nodes files 2019-08-29 11:31:54 +03:00
Ilya Kirillov 64ecbd1418 New J2K: use internal getStrictParentOfType instead of custom one 2019-08-29 11:31:54 +03:00
Ilya Kirillov 2f5fa49c52 New J2K: remove unused abstractions for conversions running 2019-08-29 11:31:54 +03:00
Ilya Kirillov 131df66087 New J2K: check if method reference has functional type on PsiType instead of JKType
As it may reference to uninitialized universe symbol

#KT-33434 fixed
2019-08-29 11:31:53 +03:00
Ilya Kirillov ca0cc13097 New J2K: retrieve constructor call return type correctly
#KT-33431 fixed
2019-08-29 11:31:53 +03:00
Ilya Kirillov 982e7fdd86 New J2K: do not shorten class references for some Java primitive class wrappers classes
It may cause unresolved call errors

#KT-33500 fixed
2019-08-29 11:31:53 +03:00
Toshiaki Kameyama a1c52f69f2 New J2K: convert Long.parseLong(s) to s.toLong()
#KT-21504 Fixed
2019-08-13 12:37:16 +03:00
Ilya Kirillov 09ab98a4f8 New J2K: Don't fail on captured types & don't use functional interface with captured types
Note: we have to print captured types for lambda parameters.
It is needed for nullability inference as it requires explicit types specification to work.
Later in post-processing we remove explicit type specifications for lambda parameters which have captured types

#KT-33186 fixed
2019-08-09 16:31:58 +03:00
Toshiaki Kameyama 154cf46f7c New J2K: add ReplaceGuardClause inspection to post-processing
#KT-22412 Fixed
2019-08-09 00:43:28 +03:00
Toshiaki Kameyama f5c0a30c51 Add intention to replace "Map.getOrDefault"
#KT-21503 Fixed
2019-08-07 17:38:15 +03:00
Ilya Kirillov 1981e8b9bf New J2K: Add better error reporting in AST builder 2019-08-02 12:03:59 +03:00
Ilya Kirillov e795e4b73d New J2K: add conversion of binary literals & fix conversion of octal ones
#KT-32835 fixed
2019-07-25 14:34:36 +03:00
Ilya Kirillov 72a09ab59b New J2K: correctly convert number literals with underscores
#KT-32837 fixed
2019-07-25 14:34:35 +03:00
Ilya Kirillov 4ead820395 New J2K: correctly print comments for qualified expression 2019-07-25 14:34:35 +03:00
Ilya Kirillov 2bd5a1f196 New J2K: separate nullability inference from common one & nullability bug fixes
It will be needed for structure mutability inference

#KT-21467 fixed
#KT-32609 fixed
#KT-32572 fixed
#KT-24677 fixed
2019-07-25 14:34:35 +03:00
Ilya Kirillov d7960caf89 New J2K: move all symbols definitions to symbols package 2019-07-25 14:34:35 +03:00
Ilya Kirillov f79b282c60 New J2K: add better support of implicit functional interfaces
#KT-32702 fixed
#KT-19327 fixed
2019-07-25 14:34:34 +03:00
Ilya Kirillov 96ca4712a0 New J2K: consider in-context declarations while performing conversion on copy-paste plain text conversion
#KT-32602 fixed
2019-07-25 14:34:34 +03:00
Ilya Kirillov c865d74965 New J2K: remove unused dependencies from nj2k modules 2019-07-25 14:34:34 +03:00
Ilya Kirillov 1bbdd0bf15 New J2K: remove unused classes 2019-07-25 14:34:34 +03:00
Ilya Kirillov 6e04b1549c New J2K: remove JKVisitor with type parameters 2019-07-25 14:34:33 +03:00
Ilya Kirillov b7917978b8 New J2K: correctly create AST for Java call of Kotlin data class derived members
#KT-32604 fixed
2019-07-16 11:56:08 +03:00
Ilya Kirillov d29d7fb257 New J2K: do not resolve unary expressions method symbols
As we already have its type and may fail on unresolved declaration

#KT-32603 fixed
2019-07-16 11:55:04 +03:00
Ilya Kirillov 84872e064f New J2K: use test data for nj2k conversion tests from nj2k tests data instead of old one 2019-07-16 11:55:04 +03:00
Ilya Kirillov cabc26184b New J2K: convert single Java static import statements 2019-07-10 13:19:23 +03:00
Ilya Kirillov b18350e9c8 New J2K: fix ExceptionInInitializerError in JKJavaPrimitiveTypeImpl 2019-07-10 13:19:23 +03:00
Ilya Kirillov f0dd21790a New J2K: add plain text copy-paste conversion test for new J2K 2019-07-10 13:18:36 +03:00
Ilya Kirillov ba3927b580 New J2K: add default null value to property with type parameter type when it is implicit in Java
#KT-32436 fixed
2019-07-10 13:16:53 +03:00
Ilya Kirillov 9d6338afb2 New J2K: do not fail conversion if some of post-processings throws exception 2019-07-10 13:16:53 +03:00
Ilya Kirillov a9865e5d7b New J2K: check for element validity before applying fix in diagnostic-based post processings 2019-07-10 13:16:53 +03:00
Ilya Kirillov 236f62be2a New J2K, minor: refactor code builder 2019-07-10 13:16:52 +03:00
Ilya Kirillov 934425e86a New J2K: rearrange and optimize some post-processings 2019-07-10 13:16:52 +03:00
Ilya Kirillov 370f113b78 New J2K: run add/remove modifiers post-processings only single time && do not call resolve in them for some corner cases 2019-07-10 13:16:52 +03:00
Ilya Kirillov 3e04bfb156 New J2K: do not print modifiers which are going to be removed in postprocessing 2019-07-10 13:16:52 +03:00
Mikhail Zarechenskiy 60ac2056bd Update diagnostic message in test data
Follow-up of 42a5c488: function `unCapture` is used to render
 diagnostic messages, therefore we have this change now
2019-07-02 14:02:07 +03:00
Ilya Kirillov 3926be900d New J2K: remove accidentally added println call in conversions 2019-06-26 18:36:05 +03:00
Ilya Kirillov 0dfaae2bb4 New J2K: add some tests from obsolete issues 2019-06-26 18:36:05 +03:00
Ilya Kirillov 98be5d8ed0 New J2K: add copy-paste tests for new j2k 2019-06-26 18:36:05 +03:00
Ilya Kirillov dc469cbdbf New J2K: remove incorrect modifiers in post processing 2019-06-26 18:36:05 +03:00