Commit Graph

52 Commits

Author SHA1 Message Date
Alexander Udalov 0db60bf6cb Do not always generate synthetic "$annotations" as private
Since annotations are a part of the declaration, they must have the same
visibility as the declaration in the bytecode. Otherwise obfuscators like
Proguard might strip the "$annotations" method and no annotations would be
found via Kotlin reflection

 #KT-15993 Fixed
2017-02-03 19:35:15 +03:00
Mikhael Bogdanov 004ff86bec Fix for KT-14774: Incorrect inner class modifier generated for sealed inner classes
#KT-14774 Fixed
2016-12-16 11:22:40 +01:00
Michael Bogdanov 0910f166a5 Make default methods for inlineOnly and reified functions package private 2016-10-27 11:03:35 +03:00
Alexander Udalov 36de3008e3 Fix visibility flags for lambda classes in InnerClasses attribute 2016-02-19 12:52:40 +03:00
Michael Bogdanov 71c2a6e792 Generate package private visibility in bytecode for private classes 2016-02-03 10:32:41 +03:00
Michael Bogdanov 0274ce4619 Always generate ACC_SUPER flag for all classes; Fix for KT-10260: java.lang.VerifyError in Android 4.x when Instant Run is used
#KT-10260 Fixed
2016-01-11 09:55:56 +03:00
Michael Bogdanov e116cc3206 Private visibility for non-const, non-jvmField class companion property backing field 2015-12-29 16:45:22 +03:00
Michael Bogdanov 85ae0cb78e Restrict companion properties copying to interface by const 2015-12-29 16:45:22 +03:00
Mikhail Glukhikh f56dc722d9 Lateinit property backing field now inherits visibility from the property setter 2015-12-23 18:02:20 +03:00
Yan Zhulanow 9d1af5a17e Fix tests: "infix modifier required" and "operator modifier required" errors 2015-11-27 15:51:11 +03:00
Michael Nedzelsky 981d471ebe fix KT-9843 Bug in incremental compilation: module is not recompiled when optional parameter added
and KT-8434 Removing parameter with default value from function in different module breaks incremental compilation

#KT-9843 Fixed

#KT-8434 Fixed
2015-11-06 07:45:46 +03:00
Michael Bogdanov c8c3e88c82 Make top-level property backing field private in bytecode 2015-10-19 19:09:30 +03:00
Dmitry Petrov 3502c393fc Drop package facades: JVM BE tests passed. 2015-10-19 16:03:16 +03:00
Alexander Udalov 51bf68ce27 Update compiler tests to use KProperty instead of PropertyMetadata 2015-10-14 20:45:54 +03:00
Michael Bogdanov 0209cd080e Deprecated flag for static non-JvmField and non-const properties 2015-10-14 13:13:49 +03:00
Michael Bogdanov 27a1a17c09 Deprecate non-const properties copies in interface 2015-10-13 14:15:47 +03:00
Andrey Breslav 8e7f6f3c8c Migrated from @HiddenDeclaration to @Deprecated(..., level = DeprecationLevel.HIDDEN) 2015-10-13 13:50:16 +03:00
Michael Bogdanov ee6dbac381 Remove synthetic flag from internal members 2015-10-13 10:48:37 +03:00
Yan Zhulanow 1f2b4e20fe Replace get() and set() to getValue() and setValue() (property delegates) 2015-10-09 22:49:16 +03:00
Michael Bogdanov afa281357a Changed visibility for trait static fields 2015-10-09 16:25:20 +03:00
Michael Bogdanov 8198ac77cb Generate private constructor for object
#KT-9510 Fixed
2015-10-09 16:25:20 +03:00
Michael Bogdanov 12afbffb09 Copy to interface just companion object public const properties 2015-10-09 16:25:15 +03:00
Michael Bogdanov a9aa2bc147 Interface companion object backing fields become static 2015-10-09 16:25:14 +03:00
Mikhail Glukhikh a1e3471d92 "field": deprecated warnings introduced, compiler tests migrated to the new syntax 2015-09-21 15:48:00 +03:00
Denis Zharkov bae3320d52 Get rid of deprecated annotations in testData 2015-09-18 10:14:32 +03:00
Valentin Kipyatkov 08e7a9d826 Made methods generated from declarations marked with @HiddenDeclaration synthetic in JVM 2015-09-14 17:42:40 +03:00
Dmitry Petrov cd6ff31129 Update tests depending on part class naming 2015-09-07 16:28:43 +03:00
Denis Zharkov 31244edec9 Deprecate deprecated in favor of Deprecated 2015-09-04 18:19:31 +03:00
Yan Zhulanow 2ce9903356 Fix tests 2015-08-31 15:33:13 +03:00
Alexander Udalov f8815d9450 Test visibility of anonymous classes for callable references 2015-07-10 20:10:13 +03:00
Denis Zharkov c9f79c2d05 Adjust testData: get rid of obsolete annotations 2015-06-12 09:23:31 +03:00
Dmitry Jemerov 4bdf598bfe compiler testdata: s/trait/interface 2015-05-12 19:43:17 +02:00
Stanislav Erokhin b152211096 Added init keyword to testdata 2015-04-07 13:08:51 +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 59f192ef90 Replace 'class object' with 'default object' in renderers and test data
Includes changes to decompiled text
Old syntax is used in builtins and project code for now
2015-03-06 19:36:54 +03:00
Dmitry Jemerov b4eb3e0f43 add test for visibility of setter for delegated property (KT-5957) 2015-03-05 19:04:18 +03:00
Pavel V. Talanov 35b88fb1a5 Update test data for write flags test 2015-02-16 15:38:34 +03:00
Alexander Udalov c57441b51b Use '$' instead of '-' in package part class names
Otherwise some tools break (e.g. CheckMethodAdapter in ASM, used in generic
signature writer) because they expect class names to be Java identifiers.

Some tests fixed, some will be fixed in future commits
2014-09-26 10:22:20 +04:00
Alexander Udalov d78d4bc44c Disallow extension properties with backing fields
#KT-1682 Fixed
2014-05-29 21:24:05 +04:00
Alexander Udalov b68e47f705 Move JVM-specific annotations out of built-ins
Move 'volatile' and 'synchronized' to package 'kotlin' in stdlib. Also delete
'atomic', since its support was never implemented
2014-03-02 19:54:55 +04:00
Alexander Udalov 18c59d5495 Treat anonymous objects as classes (ClassKind.CLASS)
They're not objects per se, i.e. they're not singletons
2013-12-02 19:55:19 +04:00
Alexander Udalov 8a5336aca2 Don't use $ in package fragment class names
Package fragment classes now are named "*Package-<filename>-<hash>" instead of
"*Package$src$<filename>$<hash>". This will help to avoid erroneous code in
intellij FileManager, which assumes that classes with dollars are always inner
classes of some other class (see AnnotationDescriptorDeserializer)
2013-10-02 17:03:24 +04:00
Mikhael Bogdanov 76d4dcef7f Tests for renamed fields 2013-06-17 15:20:42 +04:00
Mikhael Bogdanov 4feb395dcc Test for static 2013-06-17 15:20:41 +04:00
Mikhael Bogdanov 47fe81471a Synthetic accessors for class object private members
#KT-3338 Fixed
2013-06-17 15:20:34 +04:00
Natalia.Ukhorskaya d501e8821c Move top level properties from package class to package$src 2013-03-06 16:22:44 +04:00
Alexander Udalov cc5ba53c80 Support inner/nested classes in JVM back-end
#KT-1174 In Progress
2013-01-16 23:11:48 +04:00
Natalia.Ukhorskaya 47abdcf565 Rename namespace class to {package.name}Package
Conflicts:

	compiler/jet.as.java.psi/src/org/jetbrains/jet/asJava/JavaElementFinder.java
2013-01-15 19:45:06 +04:00
Natalia.Ukhorskaya a739964c74 Back-end: write correct visibility flags for private inner classes 2012-12-06 17:25:13 +04:00
Evgeny Gerashchenko c84cd7f961 Renamed ClassObject$ to object in JVM backend. 2012-10-30 18:41:00 +04:00