Commit Graph

817 Commits

Author SHA1 Message Date
Andrey Breslav 4dd0b27e93 JVM Back-end does not handle complex patterns any more
#KT-2359 In Progress
2012-09-05 14:18:40 +04:00
Evgeny Gerashchenko bd5b8d3287 Added "$" in the end of multi-file namespace internal names to prevent them from having "Test" suffix. This blows JUnit test-runner's mind. 2012-08-31 19:02:42 +04:00
Alex Tkachman a54776196a fixed bug with compilation of this/outer. no need to check context hierarchy for superclasses except case of super call. 2012-08-31 17:42:35 +03:00
Alex Tkachman 737b794935 fix for KT-2711 wrong check on descriptor being integral range
method added to JetStandardLibrary to get all integral range descriptors
#KT-2711 fixed
2012-08-31 13:49:20 +03:00
Andrey Breslav 002f34e6f5 Fields renamed in accordance to out conventions 2012-08-31 13:19:13 +04:00
Andrey Breslav 6b7a6c1cd2 Unused class removed 2012-08-31 13:18:38 +04:00
Andrey Breslav d8e562319f Clarifying comment 2012-08-31 13:16:40 +04:00
Andrey Breslav fee7131484 Relace a literal with a constant access 2012-08-31 12:52:47 +04:00
Andrey Breslav ce1320bab3 Multi-declarations supported in all flavours of for loops
(KT-2635 Support iteration with multiple range variable in JVM back-end)
 #KT-2635 Fixed
2012-08-31 12:52:47 +04:00
Andrey Breslav f1c4ab7188 Fix for RangeTo intrinsic for the case of LongRange 2012-08-31 12:52:46 +04:00
Andrey Breslav d57986d3ca Commented code fragment deleted 2012-08-31 12:52:46 +04:00
Alex Tkachman bf892870e1 fix for multiple evaluation of expression on multi var declaration 2012-08-31 11:45:56 +03:00
Alex Tkachman 5038c906b2 fixed critical bug with receiver used in constructor, field initializer 2012-08-31 08:20:51 +03:00
Alex Tkachman d26b3e04e4 micro cleanup 2012-08-30 19:18:21 +03:00
Andrey Breslav 59724296d6 Fix continue in for loops. Tests added 2012-08-30 20:16:09 +04:00
Alex Tkachman 8a71cf7bf7 fix for KT=2702 - wrong bridges on super call 2012-08-30 15:37:15 +03:00
Andrey Breslav 925b2b9f99 isPrimitiveNumberClassDescriptor() fixed to actually check the classes 2012-08-30 16:10:56 +04:00
Andrey Breslav 3ee6afd519 Utility method moved to CodegenUtil 2012-08-30 16:07:10 +04:00
Alex Tkachman 59958ea0de fixining what IDEA formatter did 2012-08-30 15:00:49 +03:00
Andrey Breslav d38b028768 Code restructured to simplify the API 2012-08-30 15:56:48 +04:00
Andrey Breslav 42bf62f870 KT-2704 Remove support for enum-entry constructor generation in the front-end code
#KT-2704 Fixed
2012-08-30 15:28:41 +04:00
Alex Tkachman a45bae63ab @NotNull CodegenContext.ownerKind 2012-08-30 14:18:54 +03:00
Alex Tkachman 6a6f214b82 got rid of unneeded ReceiverContext 2012-08-30 14:04:34 +03:00
Alex Tkachman 8560039db7 unnecesary and confusing field receiverDescriptor removed 2012-08-30 13:54:16 +03:00
Alex Tkachman d407b9e917 protected constructor for GenerationStrategy 2012-08-30 13:38:29 +03:00
Alex Tkachman 0b22a3ab4b optimize imports and other minor cleanups 2012-08-30 13:31:12 +03:00
Alex Tkachman 1313ef64fd NamespaceCodegen extends GenerationStateAware 2012-08-30 13:08:43 +03:00
Alex Tkachman da064f95fd MapTypeMode renamed to JetTypeMapperMode and moved to state package 2012-08-30 13:08:43 +03:00
Alex Tkachman df094a4cd0 ClassBodyCodegen & PropertyCodegen extend GenerationStateAware 2012-08-30 13:08:42 +03:00
Alex Tkachman 7bd88f5031 FunctionCodegen extend GenerationStateAware 2012-08-30 13:08:41 +03:00
Alex Tkachman 02be7ec6f8 ClosureCodegen extends GenerationStateAware 2012-08-30 13:08:41 +03:00
Alex Tkachman 6cc85a6ce3 JetTypeMapper moved to state package 2012-08-30 13:08:41 +03:00
Alex Tkachman 20eb285f35 binding package introduced 2012-08-30 13:08:41 +03:00
Kirill Berezin b84f068c33 kt-1760 delegation to java iface:
- removed codegen's unnecessary lookup for a declaration
- skipped class' only supertype (if any) methods when delegating
2012-08-30 14:03:43 +04:00
Alex Tkachman 0852f3939f (BindingContext,BindingTrace,TypeMapper,GenerationState)Aware classes introduced and related changes in GenerationState construction/injection 2012-08-30 11:50:51 +03:00
Natalia.Ukhorskaya 92a782ce6c AnnotationDescriptor refactoring: contains map of ValueParameterDescriptor and CompileTimeConstant for valueArgument.
DescriptorUtils: add method to get a list of sorted value arguments from AnnotationDescriptor
2012-08-30 10:56:31 +04:00
Alex Tkachman b45f19c0e2 GenerationState refactored to be (almost) immutable and methodless (modulo little protection from reuse)
GenerationStrategy introduced to handle separately cases of regular compilation and building of JetLightClasses (this was only real overridable behavior of GenerationState in old code)
state subpackage introduced
2012-08-30 09:33:10 +03:00
Alex Tkachman 65c3b7dab0 subclasses of CodegenContext moved to upper level 2012-08-29 21:16:34 +03:00
Alex Tkachman 85dcfac2b8 some unmotivated uses of typeMapper.getBindingContext() replace with use of local field 2012-08-29 21:00:39 +03:00
Pavel V. Talanov b7b0dd0146 Rename private constants in CodegenUtil in order not be confused with asm real flags. 2012-08-29 20:26:52 +04:00
Pavel V. Talanov 32f9dcedff Merge with Alex's refactroings. 2012-08-29 17:12:07 +04:00
Pavel V. Talanov 5855c242f5 Add a TODO and a note describing why objects have public constructors in jvm-backend atm. 2012-08-29 16:01:19 +04:00
Pavel V. Talanov d831f164cc Enum classes have private constructor visibility from front-end point of view.
Protected visibility hardcoded in jvm backend.
2012-08-29 15:58:40 +04:00
Pavel V. Talanov 544be17c3d Refactor JetTypeMapper#getAccessFlags.
Rename to getVisibilityAccessFlag.
Separate logic for special cases and default mapping.
Use meaningful name instead of "magic" zero number.
Add TODO for future refactoring.
Various logic clarifications.
2012-08-29 15:58:35 +04:00
Pavel V. Talanov ae348a0547 Nested packages visibilities in jvm-backend. 2012-08-29 15:58:29 +04:00
Pavel V. Talanov e6e6f7e598 Object's constructor is private from frontend point of view.
Test data changed.
Js-backend test objectInObject turned off.
Public constructors for objects hard-coded in jvm-backend.
2012-08-29 15:58:27 +04:00
Alex Tkachman 67e7491d4c unused parameters removed 2012-08-29 14:32:06 +03:00
Alex Tkachman 8840a9bdd8 some static methods moved from JetTypeMapper to CodegenUtil & CodegenBinding 2012-08-29 14:30:44 +03:00
Alex Tkachman 50107b1429 AsmTypeConstants introduced 2012-08-29 14:17:23 +03:00
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