Commit Graph

3353 Commits

Author SHA1 Message Date
Pavel V. Talanov 00a12bd013 Constructors for enum entries and class objects have private visibility in frontend.
Introduce DescriptorUtils#getDefaultConstructorVisibility.
DescriptorResolver: remove exception wrapping.
Hardcode package-private visibility for enum entries in JetTypeMapper.

Refactoring:
DescriptorResolver: rename createPrimaryConstructorForObject -> createAndRecordPrimaryConstructorForObject, createPrimaryConstructorForObject now a separate method.
JavaDescriptorResolver: extract containingDeclaration variable.
JetTypeMapper: rename variable declaration -> containingDeclaration.
2012-08-29 14:42:12 +04:00
Alex Tkachman bb3bef41ce optimize imports 2012-08-28 14:34:17 +03:00
Alex Tkachman e8d84c4042 add static import of Opcodes.* 2012-08-28 14:32:05 +03:00
Alex Tkachman 5b8492fd9f add static import of Opcodes.* 2012-08-28 14:30:37 +03:00
Alex Tkachman f1f22a15b0 unused import 2012-08-28 14:25:03 +03:00
Alex Tkachman 164919edaa add static import of BindingContextUtils 2012-08-28 14:22:59 +03:00
Alex Tkachman b3b18d74f3 isNamedFun decommissioned and replace by isLocalFun 2012-08-28 14:16:23 +03:00
Alex Tkachman 36ae1079d6 three utility functions moved from CodegenUtil to CodegenBinding 2012-08-28 14:06:56 +03:00
Alex Tkachman 7452bb2957 CodegenAnnotator does not exist anymore
Injectors regenerated to reflect that
2012-08-28 11:54:52 +03:00
Alex Tkachman 5ee0f0871f CodegenAnnotator has state anymore. Most likely to be completely removed soon 2012-08-28 11:19:52 +03:00
Alex Tkachman fbfc9a9420 LinkedList replaced by Stack 2012-08-28 09:49:50 +03:00
Alex Tkachman a2813a13f0 unused import 2012-08-28 09:34:01 +03:00
Alex Tkachman 15c1d7bda7 most of data previously kept in CodegenAnnotator now lives in binding context (CodegenBinding utility class)
injectors regenerated in order to have BindingTrace around
2012-08-28 09:31:19 +03:00
Alex Tkachman 9cd8f64e00 private constructor added 2012-08-28 00:31:29 +03:00
Alexander Udalov 6af6f2827d get rid of JdkNames 2012-08-27 20:52:40 +04:00
Alexander Udalov d99ffbd120 jet.Annotation
Create a supertype for all Kotlin annotations, jet.Annotation.
Map java.lang.annotation.Annotation to jet.Annotation and vice versa.
Add extension function "annotationType()" to every annotation, similar to java.lang.annotation.Annotation.annotationType()
 #KT-1620 Fixed
2012-08-27 20:44:43 +04:00
Alexander Udalov 9be4f63735 refactor initStdClasses() 2012-08-27 20:28:29 +04:00
Alex Tkachman cfbab55a43 ClosureAnnotator renamed to CodegenAnnotator 2012-08-27 19:06:01 +03:00
Alex Tkachman 10a47ea86f big codegen rewrite 2012-08-27 17:43:03 +03:00
Svetlana Isakova 52386e5294 fixes after merge
rename JetTypeMapper constants
 removed JetStandardLibraryNames class
 check Nothing on equals (removed mapping from Nothing to Nothing)
2012-08-27 17:20:05 +04:00
Svetlana Isakova 440adfb54b types mapping refactoring
(rename, methods reorder)
2012-08-27 17:09:23 +04:00
Svetlana Isakova 298cc82ba0 removed senseless mapping from jet/Nothing to jet/Nothing 2012-08-27 17:09:23 +04:00
Svetlana Isakova 30d3144434 invoke register on java class, not on name 2012-08-27 17:09:20 +04:00
Svetlana Isakova 12aea75b02 removed JetStandardLibraryNames 2012-08-27 17:09:19 +04:00
Svetlana Isakova 35c276be18 removed constants from JetStandardLibraryNames, JetTypeMapper
that are used only in KotlinToJavaTypesMapper
2012-08-27 17:09:07 +04:00
Svetlana Isakova e63ed754f1 rename JetTypeMapper constants 2012-08-27 17:09:07 +04:00
Svetlana Isakova 65ea9dddea KotlinToJavaTypesMap refactoring
removed repeating type names from 'isForceReal'
removed class SpecialTypeKey (added map for nullable types)
moved mapping Any-Object from JetTypeMapper
2012-08-27 17:08:37 +04:00
Svetlana Isakova a386a5eb1e KotlinToJavaTypesMap, JavaToKotlinTypesMap added 2012-08-27 17:08:37 +04:00
Pavel V. Talanov 6132946ced Introduce ClassKind#CLASS_OBJECT and ClassKind#isObject and usages.
Rename LazyClassDescriptor#onlyEnumEntries -> enumClassObjectInfo.
Determine ClassKind in JetClassInfo and JetObjectInfo constructor.
Remove complex constructor for enum entry in enum test.
Logic simplified in LazyClassMemberScope.
Minor refactorings.
2012-08-27 15:52:36 +04:00
Pavel V. Talanov b228fd66e0 Enum entry has final modality when loaded from binaries. 2012-08-27 15:52:34 +04:00
Andrey Breslav c0c2ca0ac2 Report errors when iterator() returns a nullable type 2012-08-24 19:49:33 +04:00
Andrey Breslav 66faa0c03a For-loop range expression (collection) can not be null 2012-08-24 19:49:33 +04:00
Andrey Breslav b315bee7b2 hasNext can't be a property. Corresponding error removed 2012-08-24 19:49:32 +04:00
Andrey Breslav 1d01e66fc8 Tests for multi-decl for-loops over arrays of primitives 2012-08-24 19:49:32 +04:00
Andrey Breslav 707408b241 For loops over arrays generated with multi-decl support 2012-08-24 19:49:32 +04:00
Andrey Breslav d5c44c3dd8 Test data moved 2012-08-24 19:49:32 +04:00
Andrey Breslav c822ce0d67 There is only one way to know element types 2012-08-24 19:49:32 +04:00
Andrey Breslav edbc832861 Multi-decl for loops fixed 2012-08-24 19:49:32 +04:00
Andrey Breslav cab263d7d1 Abstract for-loop generator class extracted 2012-08-24 19:49:31 +04:00
Andrey Breslav 2bdf631b6d Unnecesary fields removed 2012-08-24 19:49:31 +04:00
Andrey Breslav e57e61ac68 For-loop generation rewritten for the case of explicit iterator usage
This implementation includes multi-declarations already, but tests are coming in the next commits.
Old ForLoopgenerator renamed to IntrinsicForLoopGenerator, and will be unified with the newly introduced interface soon.

Side-effect:
KT-2668 Codegen doesn't handle member extensions in for
 #KT-2668 Fixed
2012-08-24 19:49:31 +04:00
Andrey Breslav 4870b92d11 makeFakeCall() uses a fake expression 2012-08-24 19:49:31 +04:00
Andrey Breslav e13fa067cc Proper resolved calls in loop ranges 2012-08-24 19:49:31 +04:00
Andrey Breslav 784bf31a3e Store resolved calls for loop range's iterator(), next(), hasNext()
+ code duplication removed from expression typing visitor
2012-08-24 19:49:30 +04:00
Andrey Breslav b1ba3e1260 Using invokeFunction() instead of invokeFunctionWithNoParams() when generating in-expressions 2012-08-24 19:49:30 +04:00
Andrey Breslav 9ca49b50b8 Using invokeFunction() instead of invokeFunctionWithNoParams() when generating when() conditions 2012-08-24 19:49:30 +04:00
Svetlana Isakova 0dcdaccad1 KT-2640 Provide jet.MutableIterator and jet.MutableIterable
#KT-2640 fixed
2012-08-24 15:07:24 +04:00
Andrey Breslav 017a097094 Fixing compilation (thank you, IDEA's make) 2012-08-24 12:41:43 +04:00
Andrey Breslav 08bb390820 Project is available in codegen 2012-08-24 12:18:18 +04:00
Alex Tkachman 719234b802 codegen contexts work in terms of descriptors in oppose to asm.type 2012-08-23 23:26:03 +03:00