Commit Graph

2877 Commits

Author SHA1 Message Date
Alexander Udalov 43c11b2925 Merge CollectionClassMapping into JavaToKotlinClassMap 2015-04-24 02:09:05 +03:00
Alexander Udalov a59fa5015e Merge KotlinToJavaTypesMap into JavaToKotlinClassMap
Also use this new Kotlin->Java mapping in RuntimeTypeMapper instead of
inheriting directly from JavaToKotlinClassMapBuilder
2015-04-24 02:09:05 +03:00
Alexander Udalov b956fb5eb0 Pull Java<->Kotlin primitive type mapping up to JavaToKotlinClassMapBuilder 2015-04-24 02:09:04 +03:00
Alexander Udalov 4b07ec11ea Change Class<?> parameter to ClassId in JavaToKotlinClassMap implementations 2015-04-24 02:09:04 +03:00
Alexander Udalov deff3968db Simplify KotlinToJavaTypesMap, use only one map 2015-04-24 02:09:03 +03:00
Alexander Udalov 23a792aa44 Somewhat simplify mapping of JVM primitive types 2015-04-24 02:09:03 +03:00
Alexander Udalov 0a66c78449 Disperse primitive type mapping in JavaToKotlinClassMap 2015-04-24 02:09:02 +03:00
Nikolay Krasko 3e1c3e9dfe Don't search for NonClasspathClassFinder classes and package during Kotlin resolve 2015-04-23 17:38:07 +03:00
Denis Zharkov 1b42e2fdcc Deprecate calls of annotations' methods 2015-04-23 08:27:43 +03:00
Mikhail Glukhikh e64dab0ae9 Review fixes after automatic code analysis 2015-04-21 15:29:34 +03:00
Mikhail Glukhikh 27625b04e1 Refactoring of JetTypeInfo / BindingContext. Loop data flow analysis corrected.
Now BindingContext includes expression type info instead of jump out possible, data flow info and expression type.
getType() was added into BindingContext, getType() and recordType() were added into BindingTrace.
JetTypeInfo now includes also jump possible flag and jump point data flow info.
Old TypeInfoWithJumpInfo deleted.
TypeInfoFactory introduced to create JetTypeInfo instances.
A pack of extra tests for break / continue in loops added.
2015-04-21 15:29:07 +03:00
Denis Zharkov cc9322fbdd Add quickfix for usages of javaClass<T>() in annotations loaded from Java 2015-04-17 18:52:17 +03:00
Denis Zharkov f53baebf89 Show warning on usages of javaClass<T>() in annotations loaded from Java 2015-04-17 18:50:37 +03:00
Pavel V. Talanov d76f293dc9 Speed up finding kotlin binaries and java files in CLI
Change VirtualFileFinder api to accept ClassId and adjust usages
Introduce KotlinCoreProjectEnvironment to create special KotlinCliJavaFileManager which shares cache with CliVirtualFileFinder
Truly distinguish between java source roots and binary roots: don't search for source files in classpath and vica versa
Implement JvmDependenciesIndex
2015-04-16 16:40:28 +03:00
Alexander Udalov 44e35cad29 Make 'sure' an inline function with a lazy parameter
Also replace some other non-lazy stdlib function usages with the new lazy
'sure'
2015-04-16 13:55:06 +03:00
Denis Zharkov 0abc63261d Inject reflectionTypes into LazyJavaResolverContext 2015-04-16 10:40:20 +03:00
Denis Zharkov f942f6ac8e Move ReflectionTypes to builtins 2015-04-16 10:40:19 +03:00
Denis Zharkov cc17f7d82d JVM: Support using KClass as annotation parameter type 2015-04-16 10:40:19 +03:00
Denis Zharkov 1324667bc9 Prohibit use of positioned value arguments for java annotation 2015-04-07 19:31:30 +03:00
Dmitry Jemerov 7b507276ed frontend diagnostics for kotlin.jvm.overloads
#KT-7203 Fixed
2015-04-02 20:30:36 +02:00
Nikolay Krasko ad23e9159c Refactoring: remove unnecessary subclassing PsiClass in marker interface 2015-04-01 02:01:53 +03:00
Denis Zharkov a4018d9eae Run "Add 'init' keyword in whole project" quickfix 2015-03-31 20:20:23 +03:00
Mikhail Glukhikh 9c1551bca9 Implementation of smart casts for public / protected immutable properties that are not open and used in the same module.
DataFlowValueFactory and its environment refactoring: containing declaration is added into factory functions
as an argument and used to determine identifier stability. A few minor fixes. #KT-5907 Fixed. #KT-4450 Fixed. #KT-4409 Fixed.

New tests for KT-4409, KT-4450, KT-5907 (public and protected value properties used from the same module or not,
open properties, variable properties, delegated properties, properties with non-default getter).
Public val test and KT-362 test changed accordingly.
2015-03-31 16:19:03 +03:00
Alexander Udalov 32c3bb8c7f Extract module 'deserialization' out of 'serialization'
'deserialization' stays in core because it's needed both in compiler and
reflection, but 'serialization' is used only in the compiler
2015-03-30 19:44:17 +03:00
Alexander Udalov 085bc2197b Merge module 'serialization.jvm' into 'descriptor.loader.java'
It was very small and there proved to be no point in separation of loading Java
classes and deserializing Kotlin classes
2015-03-30 17:22:06 +03:00
Natalia Ukhorskaya 785f7e749f InlineCodegen: find virtual file using findVirtualFileWithHeader 2015-03-30 14:03:24 +03:00
Denis Zharkov ce3bf423ad Prohibit 'native' annotation on constructors
Currently doesn't work for primary ones

 #KT-7000 Fixed
2015-03-27 16:09:41 +03:00
Pavel V. Talanov ed218c473a Get rid of 'class object' usages in code and builtins
Replace some comments and library usages as well
2015-03-25 18:28:00 +03:00
Alexander Udalov 9a041136f2 Make ClassId's relative class name FqName instead of FqNameUnsafe
It was FqNameUnsafe in times when there were classes without identifier names,
specifically class objects with names like '<class-object-for-...>'
2015-03-23 16:30:25 +03:00
Zalim Bashorov 8673f95dc5 AnnotationChecker -> DeclarationChecker 2015-03-20 21:23:30 +03:00
Pavel V. Talanov 06916d98c6 default -> companion: replace all mentions of default and default object 2015-03-17 15:47:39 +03:00
Pavel V. Talanov 2a6facaef6 default -> companion: default object -> class object in project code, builtins and libs code 2015-03-17 15:46:48 +03:00
Alexander Udalov 094fa2f92b Report error on using reflection without kotlin-reflect.jar in classpath
Should be a warning because strictly speaking, the codegen doesn't need it
during the compilation. It's an error at the moment only to let all clients of
Kotlin reflection know that they must include kotlin-reflect.jar in the
classpath
2015-03-16 20:40:49 +03:00
Stanislav Erokhin 072a9f4977 Refactoring: extract FunctionResolver from DescriptorResolver 2015-03-12 17:11:51 +03:00
Andrey Breslav 2f39cb6243 Remove useless casts after fixing subtyping for star projections 2015-03-12 15:46:40 +03:00
Michael Bogdanov 30832ed774 Properly report diagnostics on platformStatic annotations
#KT-6937 Fixed
2015-03-12 10:29:00 +03:00
Andrey Breslav 704eea2eac TraceBasedErrorReporter converted to Kotlin and [data] added to AbiVersionErrorData 2015-03-11 19:38:16 +03:00
Andrey Breslav 3146b7e1b0 Rename .java file to .kt 2015-03-11 19:38:16 +03:00
Andrey Breslav 0562ab84c2 Minor. Warnings fixed 2015-03-11 19:38:15 +03:00
Andrey Breslav 36bbd2c0e3 ErrorReporter is now Java-independent 2015-03-11 19:38:15 +03:00
Denis Zharkov 67f97fea42 Prohibit data classes with no primary constructor 2015-03-11 17:45:28 +03:00
Pavel V. Talanov 9ecf95532e Replace 'class object' with default object in project code 2015-03-10 18:07:46 +03:00
Alexander Udalov ed022f892b Drop JavaTypeParameter#getIndex 2015-03-07 02:32:14 +03:00
Andrey Breslav bbb59773aa filesToAnalyzeCompletely removed 2015-03-06 21:59:05 +03:00
Andrey Breslav 7d1a826778 Rename. LazinessToken -> TypeLazinessToken 2015-03-06 21:59:04 +03:00
Pavel V. Talanov afe8773e41 Minor: rename OVERRIDE_CANNOT_BE_STATIC and improve message 2015-03-05 13:06:00 +03:00
Pavel V. Talanov 350864b22f Drop some of explicit ClassKind.CLASS_OBJECT and OBJECT usages 2015-03-05 13:05:56 +03:00
Nikolay Krasko 05de376fc3 Don't spam warning when file was removed 2015-03-05 01:30:37 +03:00
Evgeny Gerashchenko 3aa5f5200b Incremental: fixed adding file to package and using it from Java 2015-03-04 18:59:21 +03:00
Pavel V. Talanov 48fbce9582 Refactor: process mentions of class object
Rename usages that refer to "default object" concept now
Test data file names are left as is
2015-03-03 20:57:08 +03:00