Pavel V. Talanov
76029ee9b2
Introduce JvmBuiltIns and DefaultBuiltIns, different instances of KotlinBuiltIns
...
Make KotlinBuiltIns an abstract class
JsPlatform has DefaultBuiltIns
2015-10-01 17:53:14 +03:00
Pavel V. Talanov
0ae842a05d
'descriptors' module exports 'deserialization', not the other way around
...
Also remove some of redundantly specified dependencies
2015-10-01 17:53:13 +03:00
Pavel V. Talanov
22e3e192ee
ModuleDescriptorImpl: remove KBI as default parameter
2015-10-01 17:53:12 +03:00
Zalim Bashorov
94b110936e
Add the ability to get containing source file from SourceElement
2015-10-01 14:37:25 +03:00
Yan Zhulanow
3be050640c
Fix Method.invoke() signature
2015-09-26 03:29:03 +03:00
Michael Nedzelsky
2c952dcc22
Revert "add isKotlinSourceElement method to Source interface in order to recognize kotlin source elements during compilation"
...
This reverts commit c342f6870a .
2015-09-23 17:45:47 +03:00
Michael Nedzelsky
c342f6870a
add isKotlinSourceElement method to Source interface in order to recognize kotlin source elements during compilation
2015-09-23 07:49:21 +03:00
Michael Nedzelsky
bcd85aa30d
changes some internal modifiers to public for elements which are used outside their modules
2015-09-23 07:49:17 +03:00
Denis Zharkov
9c4564a5a6
Get rid of deprecated annotations and modifiers in project code
2015-09-18 09:34:27 +03:00
Alexander Udalov
949144e0c0
Report incomplete hierarchy error for deserialized types
...
#KT-5129 Fixed
Delete a JPS test that was specifically testing that we would not fail in this
situation; now there's a compilation error
2015-09-15 13:11:17 +03:00
Alexander Udalov
b1d9e5c961
Minor, improve exception message for reflection on built-ins
2015-09-15 13:11:16 +03:00
Alexander Udalov
6cecc66d10
Improve ABI version from one number to "major.minor.patch"
2015-09-11 19:28:46 +03:00
Michael Bogdanov
5805c42305
Write abi version to mapping file
2015-09-07 16:29:16 +03:00
Michael Bogdanov
4958116566
RuntimePackagePartProvider.registerModule refactoring
2015-09-07 16:29:14 +03:00
Michael Bogdanov
cbe42aa0a2
Extracted 'kotlin_module' constant
2015-09-07 16:29:13 +03:00
Michael Bogdanov
f1c091e897
Serialize mappings via proto
2015-09-07 16:29:03 +03:00
Michael Bogdanov
672d25e7e0
PackagePartProvider refactoring
2015-09-07 16:29:02 +03:00
Michael Bogdanov
9f0662468f
Lazy module name propagation
2015-09-07 16:28:56 +03:00
Michael Bogdanov
c274ceffe8
PackageFacadeProvider refactoring
2015-09-07 16:28:55 +03:00
Michael Bogdanov
e83ec1017b
Reflection support
2015-09-07 16:28:51 +03:00
Michael Bogdanov
1fcacecf93
stubs for new components
2015-09-07 16:28:48 +03:00
Alexander Udalov
df935f5bb7
Support reflection on lambdas and function expressions
...
Write a special annotation containing the bytes for the Callable protobuf
message and deserialize it at runtime properly
#KT-9005 Fixed
2015-09-03 21:43:58 +03:00
Alexander Udalov
408a86c761
Minor, add toString() for easier debug
2015-08-29 18:37:42 +03:00
Alexander Udalov
94d45f35d4
Support KClass.nestedClasses
2015-08-29 17:59:45 +03:00
Alexander Udalov
89f3cfc704
Support parameter names for Java 8 classes in reflection
...
Also support specifying additional options to javac in codegen tests, which was
needed to compile Java sources with the "-parameters" option
2015-08-28 21:11:01 +03:00
Alexander Udalov
30967baca8
Minor, rename extension property to avoid name clash
2015-08-28 21:11:00 +03:00
Pavel V. Talanov
5cc39e3fb2
GlobalJavaResolverContext -> JavaResolverComponents
2015-08-19 21:18:45 +03:00
Mikhail Glukhikh
45cc3c025f
Mapping of JavaDoc deprecated to Kotlin Deprecated + a pair of tests
2015-08-05 12:25:39 +03:00
Alexander Udalov
d1e67805fc
Fix supertypes for reflected Java classes, always include j.l.Object
...
equals/hashCode/toString had not appeared in Java classes' "members" because of
this
2015-08-03 23:06:15 +03:00
Alexander Udalov
d0562b7b90
Add SourceElement to AnnotationDescriptor
...
Use KotlinSourceElement in the compiler for annotations resolved from PSI,
introduce ReflectAnnotationSource for reflection
2015-07-29 23:44:18 +03:00
Alexander Udalov
936bede8b1
Support mapping between Kotlin functions and JVM methods/constructors
2015-07-29 21:36:41 +03:00
Alexander Udalov
83bcfd090c
Delete obsolete comment at RuntimeSourceElementFactory
...
Source elements are now used for Kotlin->Java reflection object mapping,
get/set of reflected properties, invoke of reflected functions, etc.
2015-07-23 03:51:49 +03:00
Dmitry Jemerov
aa1f6f2252
code cleanup: core modules
2015-07-21 16:21:45 +02:00
Pavel V. Talanov
c313887641
Split CompileTimeConstant into two entities
...
1. ConstantValue
* just holds some value and its type
* implementations for concrete constants
2. CompileTimeConstant
* is only produced by ConstantExpressionEvaluator
* has additional flags (canBeUsedInAnnotation etc)
* has two implementations TypedCompileTimeConstant containing a constant value
and IntegerValueConstant which does not have exact type
* can be converted to ConstantValue
Adjustt usages to use ConstantValue if flags are not needed
Add tests for some uncovered cases
2015-07-16 02:28:05 +03:00
Alexander Udalov
3549e1e035
Add KFunction.name, support reflection for function references
...
#KT-7694 Fixed
2015-07-10 20:10:07 +03:00
Andrey Breslav
31f4ff749c
Type annotations supported in Java elements
...
Reflection-related implementations are pending
2015-07-09 16:32:25 +03:00
Ilya Gorbunov
86f4a1b6e4
Compiler&plugin deprecations cleanup: replace streams with sequences.
2015-06-29 17:06:40 +03:00
Ilya Gorbunov
2c31a1a345
Compiler&plugin deprecations cleanup: *array -> *arrayOf, copyToArray -> toTypedArray.
2015-06-29 17:06:12 +03:00
Pavel V. Talanov
65c6adfaa4
Drop "injector-generator" module, tests and existing generated injectors
...
Move GeneratorsFileUtil to "generators" module
Drop "Generate Injectors" run configuration
2015-06-26 15:21:43 +03:00
Pavel V. Talanov
df529f1a4b
Convert usages of existing generated injectors to dynamic injectors
...
Rewrite RuntimeModuleData to use hand-written code as we do not pack container module into runtime
This change introduces some overhead (up to 10% for the tests I ran) in some scenarios in IDE, that should be addressed later
2015-06-26 15:21:41 +03:00
Pavel V. Talanov
705f35450f
Refactor setting dependencies for ModuleDescriptors
2015-06-13 20:36:47 +03:00
Denis Zharkov
eb7114bd53
Add 'constructor' keyword in whole project where needed
2015-06-12 09:55:15 +03:00
Alexander Udalov
d4c18b3d55
Drop PsiBasedMethodSignatureChecker
2015-06-10 14:41:56 +03:00
Alexander Udalov
d1df234cfe
Support annotations as annotation arguments in reflection, add test
...
A follow-up to 281acb8 where this was supported in the compiler
2015-06-02 17:31:19 +03:00
Pavel V. Talanov
cfdb1f4ec3
Refactor creation of ModuleDescriptor
...
Add storageManager to ModuleDescriptorImpl (to be used later)
Extract ModuleParameters to hold default imports and platform class map
Introduce MutableModuleContext to simplify module creation code
2015-05-20 19:45:50 +03:00
Alexander Udalov
0a66c78449
Disperse primitive type mapping in JavaToKotlinClassMap
2015-04-24 02:09:02 +03:00
Denis Zharkov
0abc63261d
Inject reflectionTypes into LazyJavaResolverContext
2015-04-16 10:40:20 +03:00
Alexander Udalov
0202217135
Fix JVM signatures involving multi-dimensional array types
...
Apparently ASM's Type#getElementType returns the type of the array even if it's
multi-dimensional, so the loop was incorrect
2015-04-07 20:06:23 +03:00
Alexander Udalov
0b252505d9
Minor, add clarifying comment & inline useless property
2015-04-02 03:22:58 +03:00
Alexander Udalov
57be11a7e6
Minor, move common logic to ReflectJavaModifierListOwner
2015-04-02 03:22:22 +03:00