Commit Graph

46104 Commits

Author SHA1 Message Date
Ilya Gorbunov 89e4fdfa9c Implement unsigned comparisons 2018-05-22 22:26:43 +03:00
Ilya Gorbunov e4216099b3 Simplify differenceModulo for unsigned operands 2018-05-22 22:26:39 +03:00
Ilya Gorbunov f2c01a9d9b Generate ranges, progressions and progressioniterators for UInt and ULong 2018-05-22 22:26:36 +03:00
Ilya Gorbunov 5c6719b1e6 Generate arrays of unsigned types 2018-05-22 22:26:32 +03:00
Ilya Gorbunov 4fbc48f83f Generate specialized abstract iterators for unsigned types 2018-05-22 22:26:28 +03:00
Ilya Gorbunov 188d8ab8dd Generate unsigned integers declarations, mostly without implementations
Generate and/or/xor/inv for UByte/UShort using experimental signed counterparts
2018-05-22 22:26:24 +03:00
Ilya Gorbunov e57e3971b6 Setup separate sourceset for unsigned integer types
Build jar with unsigned types and put it to dist
2018-05-22 22:26:20 +03:00
Ilya Gorbunov e886460130 Advance bootstrap
Need to use -XXLanguage feature switch
2018-05-22 22:26:14 +03:00
Toshiaki Kameyama 1d0a11cecd "Remove parameter" quick fix makes generic function call incompilable when type could be inferred from removed parameter only
#KT-23511 Fixed
2018-05-22 17:33:26 +03:00
Toshiaki Kameyama 8271e85dbb ReplaceArrayOfWithLiteralInspection: Remove unnecessary parentheses
#KT-21878 Fixed
2018-05-22 17:33:25 +03:00
Mikhail Glukhikh c95ed9fd20 Result unused: a few enhancements for PSI checks
Related to KT-15063, KT-24433
2018-05-22 17:13:48 +03:00
Mikhail Glukhikh b8375d4864 Extend "async result unused" to "Deferred result unused" #KT-15063 Fixed 2018-05-22 17:07:05 +03:00
Mikhail Glukhikh ffcfa51fbf Introduce inspection "async result unused" #KT-24433 Fixed 2018-05-22 16:39:14 +03:00
Mikhail Glukhikh d0c045e4ba Style fix: AbstractInspectionTest 2018-05-22 16:39:14 +03:00
Mikhail Glukhikh feaaf5df84 Reformat: AbstractKotlinInspection 2018-05-22 16:39:14 +03:00
Mikhail Glukhikh 2a9108bcd3 Fix "Too long character literal -> string" in ILLEGAL_ESCAPE
Related to #KT-23788
2018-05-22 16:38:29 +03:00
Toshiaki Kameyama 85cd1e938e Add "Too long character literal -> string" fix to ILLEGAL_ESCAPE error
So #KT-23788 Fixed
2018-05-22 16:19:41 +03:00
Mikhail Glukhikh 6d39eb9239 Unnecessary parentheses in function call with lambda: simplify
Related to KT-23452
2018-05-22 16:18:42 +03:00
Toshiaki Kameyama b8f3d588b7 Unnecessary parentheses in function call with lambda: fix false positive
So #KT-23452 Fixed
2018-05-22 15:45:02 +03:00
Dmitry Petrov 8dbfd85d26 psi2ir: Support class literals in annotations 2018-05-22 15:29:01 +03:00
Alexander Udalov e7f6ac1e50 Fix data class equals codegen for type parameters with interface bounds
#KT-24474 Fixed
2018-05-22 13:45:21 +02:00
Mikhail Zarechenskiy 542b2abafa Fix migration change for new inference about coroutines
Now it's possible after 9209222

 #KT-23553 Fixed
2018-05-22 10:11:14 +03:00
Dmitry Petrov c22dfeaf82 KT-24156 Do not optimize for-loops over Strings with custom iterator
'fun CharSequence.iterator()' is an extension function, so one can
overload it with custom implementation.
Other "predefined" containers such as arrays and ranges have member
'fun iterator()', so these containers are not affected.

Check that 'iterator' call corresponds to an extension function
'iterator' defined in package 'kotlin.text' with a receiver of type
'kotlin.CharSequence'.

 #KT-24156 Fixed
2018-05-22 10:02:52 +03:00
Ilmir Usmanov f568149863 Implement new assert semantics in back-end
Previously, assert was just a regular function and its argument used to
be computed on each call (even if assertions are disabled on JVM).
This change adds support for 3 new behaviours of assert:
* always-enable (independently from -ea on JVM)
* always-disable (independently from -ea JVM)
* runtime/jvm (compile the calls like javac generates assert-operator)
* legacy (leave current eager semantics) - this already existed

Default behaviour is legacy for now.

The behavior is changed based on -Xassertions flag.
 #KT-7540: Fixed
2018-05-21 20:43:37 +03:00
Derek Schaller 3f5a2c6427 Link license files 2018-05-21 18:19:49 +03:00
Mikhail Zarechenskiy 1b809413d2 [NI] Fix updated type for lambda, use original type for substitution
#KT-24367 Fixed
2018-05-21 17:56:11 +03:00
Alexey Tsvetkov 005bdc46eb Update bootstrap compiler 2018-05-20 18:23:10 +03:00
Alexey Tsvetkov 7f865565a6 Improve JPS progress messages
#KT-9218 fixed
2018-05-18 23:50:08 +03:00
Alexey Tsvetkov 6210df977b Fix NPE during lookup map GC
The cause of the issue is unknown, I was not able to reproduce it as
well

    #KT-24337 fixed
2018-05-18 23:50:08 +03:00
Nicolay Mitropolsky eeab271eff 182: IDEA-SDK fixed to 182.2371.4 2018-05-18 21:24:59 +03:00
Toshiaki Kameyama 5564102a3e Add "Create secondary constructor" quick fix on NONE_APPLICABLE error #KT-22371 Fixed 2018-05-18 18:11:13 +03:00
Toshiaki Kameyama d32b53362d Reformat UnusedReceiverParameterInspection 2018-05-18 18:11:13 +03:00
Dmitry Savvinov 68dbeeac7a Introduce LanguageFeature.Kind
Mainly, Kind affects 'forcesPreReleaseBinaries' and
'enabledInProgressiveMode' flags, and allows to cover common
combinations of those flags.
2018-05-18 16:16:23 +03:00
Dmitry Savvinov c33b7377da Add support of internal arguments for language feature settings
Arguments are passed in form '-XXLanguage:+LanguageFeatureName' for enabling
LanguageFeature.LanguageFeatureName, and '-XXLanguage:-LanguageFeatureName'
for disabling.

Note that they do override other settings, including 'language-version'
or extra ('-X') args.
2018-05-18 16:16:23 +03:00
Dmitry Savvinov ae119a09eb Minor: reformat CommonToolArguments 2018-05-18 16:16:23 +03:00
Dmitry Savvinov 9ba450ffc5 Minor: reformat parseCommandLineArguments, apply intentions 2018-05-18 16:16:23 +03:00
Dmitry Savvinov 9876ecd6df Minor: reformat CommonCompilerArguments 2018-05-18 16:16:23 +03:00
Dmitry Savvinov e8181c0473 Introduce -Xprogressive 2018-05-18 16:16:23 +03:00
Mikhael Bogdanov 2e9bf49921 Don't skip coercion to nullable Unit in codegen 2018-05-18 12:58:01 +02:00
Mikhael Bogdanov 73bd97a134 Write deprecation flag 2018-05-18 12:58:01 +02:00
Mikhael Bogdanov 61f444f846 Avoid empty clinit generation 2018-05-18 12:58:00 +02:00
Mikhael Bogdanov aece29a95b Properly generate annotation classes 2018-05-18 12:57:59 +02:00
Mikhael Bogdanov 893e843648 Code clean 2018-05-18 12:57:59 +02:00
Mikhael Bogdanov 083bcade5f Minor. Reformat 2018-05-18 12:57:58 +02:00
Alexander Udalov 11653c6800 Move checkTypePosition to VarianceChecker in frontend
This is a partial revert of 279ff0b, which is no longer needed because
of the previous commit
2018-05-18 11:56:14 +02:00
Alexander Udalov 0e190e885a Remove UnsafeVarianceTypeSubstitution
Looks like it's not really used for anything
2018-05-18 11:56:14 +02:00
Alexey Sedunov d2bfb8caec Configuration: Add migration of JPS project to new non-jvm source roots 2018-05-18 12:09:40 +03:00
Alexey Sedunov 9fa26c83b6 Configuration: Introduce special source roots for non-JVM Kotlin modules
#KT-5948 Fixed
 #KT-23672 Fixed
2018-05-18 12:09:40 +03:00
Alexey Sedunov 1fb1431257 Configuration: Setup project settings even if library is not detected
#KT-22305 Fixed
2018-05-18 12:09:39 +03:00
Alexey Sedunov eb14625851 Configuration: Detect platform of libraries added via maven artifact ids
#KT-20511 Fixed
2018-05-18 12:09:39 +03:00