Commit Graph

2840 Commits

Author SHA1 Message Date
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
Natalia Ukhorskaya 0dfc793a45 Merge pull request #515 from dmekhanikov/master
Introduce propertyDelegated method in delegates
2014-09-24 18:50:56 +04:00
Michael Bogdanov cde74504d4 Test for obsolete kt5307 2014-09-24 17:12:27 +04:00
Denis Zharkov 4ed744428b Generate substatements as statements too
Preventing pushing on stack redundant Unit instances

 #KT-5667 fixed
2014-09-24 15:51:43 +04:00
Denis Mekhanikov c4bfa0edca Introduce propertyDelegated method in delegates 2014-09-24 15:34:12 +04:00
Nikolay Krasko f5ee68064f Don't generate ValueParameter annotations in light class mode 2014-09-22 14:02:02 +04:00
Michael Bogdanov 432ec31daf Support returns in nested finallies 2014-09-19 17:14:17 +04:00
max.kammerer 9564eaa6fd Support finnaly blocks from inline fun in non-local returns 2014-09-19 17:14:17 +04:00
Nikolay Krasko e796f88b38 Regenerate test data with constructed descriptors for diagnostics tests 2014-09-18 17:58:23 +04:00
Zalim Bashorov 040d1693e8 Minor: revert semicolons after package declaration for java parts inside kt file. 2014-09-18 16:00:45 +04:00
Alexander Udalov c0a8e8a4fc Fix safe call on a static method in JVM back-end
#KT-5796 Fixed
2014-09-18 11:13:30 +04:00
Alexander Udalov 9434114c45 Make DescriptorRenderer escape names with dollars and other characters
#KT-5791 Fixed
2014-09-18 10:42:48 +04:00
Alexander Udalov 483232a3e5 Minor, add test for obsolete issue
#KT-5159 Obsolete
2014-09-17 21:20:57 +04:00
Natalia Ukhorskaya 655682ac97 Move regression tests from stdlib to compiler
#KT-5770 FIxed
2014-09-17 13:59:52 +04:00
Zalim Bashorov 30208d5532 Minor: drop semicolon in package declaration everywhere. 2014-09-16 19:32:37 +04:00
Michael Bogdanov a735d67e86 Check noinline annotation on non-local return processing 2014-09-16 15:33:14 +04:00
Michael Bogdanov b763aa9995 Added platform static checker with provider implementation 2014-09-16 14:38:15 +04:00
Alexander Udalov 73a92c6aa9 Remove JavaClass.getAllMethods()/getAllFields()
Their behavior is different in PSI and reflection (two things that this
interface is supposed to unify), so there's no point in making it interface
methods, rather we should just walk supertype hierarchy manually

Also make JavaClassImpl.getSupertypes() invoke PsiClass.getSuperTypes(),
because it also contains java.lang.Object for interfaces, which makes
equals/hashCode/toString appear in interfaces' getAllMethods() as well
2014-09-15 19:30:53 +04:00
Alexander Udalov f39c3041d2 Make MISSING_VAL_ON_ANNOTATION_PARAMETER error instead of warning
Annotation with a parameter that is not stored doesn't make any sense
2014-09-15 19:30:52 +04:00
Alexander Udalov 7595e32bb6 Use ClassId instead of JvmClassName in KotlinJvmBinaryClass
ClassId contains exact information about origin of the class (e.g. if '$' in
the class name denotes nested classes separator or just a character in the
name)
2014-09-15 19:30:51 +04:00
Alexander Udalov ec02382976 Assert that reference annotation argument is always an enum value
Rename JavaReferenceAnnotationArgument on that occasion to
JavaEnumValueAnnotationArgument. Also add a test on a nested enum annotation
argument
2014-09-15 19:30:49 +04:00
Andrey Breslav f1cf446e10 KT-5773 Smart cast doesn't work with Nothing on the rhs of "?:"
#KT-5773 FIxed
2014-09-15 18:24:13 +04:00
Alexander Udalov e0ee890486 Move properties of enum class object to the enum class
Similar to how it's done for usual classes
2014-09-11 17:56:43 +04:00
Alexander Udalov 81004889eb Fix initialization of object's INSTANCE$ field
Call object's constructor in <clinit> and ignore the result, but in the first
line of <init> save the current "this" to INSTANCE$

 #KT-4516 Fixed
 #KT-4543 Fixed
 #KT-5291 Fixed
 #KT-5523 Fixed
 #KT-5582 Fixed
2014-09-11 17:56:43 +04:00
Nikolay Krasko 65d358a066 Don't generate component function in lazy resolve for parameter if it has no val/var 2014-09-11 12:52:56 +04:00
Nikolay Krasko caee19cdc7 Generate copy() in data class even if constructor is empty or not present 2014-09-11 12:52:55 +04:00
Nikolay Krasko fa393cf4f5 Escape surrogate characters 2014-09-11 12:52:54 +04:00
Zalim Bashorov 6d0bcf8b32 Frontend: added the support file annotations to TopDownAnalyzer. 2014-09-10 22:39:12 +04:00
Zalim Bashorov 486b6be32c Minor in Parser: "attribute" -> "annotation" 2014-09-10 22:39:11 +04:00
Zalim Bashorov d71c3d6166 Minor in Parser: moved some annotation tests. 2014-09-10 22:39:11 +04:00
Zalim Bashorov fb97b1df93 Minor in Parser: drop obsolete code. 2014-09-10 22:39:11 +04:00
Zalim Bashorov 3c60d0de93 Parser: added the support file annotations. 2014-09-10 22:39:11 +04:00
Michael Bogdanov 08e02f4176 Moving platformStatic annotation to kotlin.platform package 2014-09-10 17:35:59 +04:00
Andrey Breslav b8b0316d97 Reporting ACCIDENTAL_OVERRIDE on jvm signatures that have no descriptors
(marking them SYNTHETIC)
2014-09-10 17:35:54 +04:00
Alexander Udalov 5b1993f62a Resolve "values" and "valueOf" in enum class object
Import enum class's static scope into its class object's member scope
2014-09-09 20:42:38 +04:00
Alexander Udalov b52f337f7f Drop enum class object hack
Place valueOf() and values() into the static scope of the corresponding enum
class

 #KT-5580 Fixed
 #KT-2410 Fixed
2014-09-09 20:42:37 +04:00
Alexander Udalov bb54825fac Fix incorrect test data for wrong KotlinSignature CLI test
Classes from the root package cannot be referenced from a non-root package
2014-09-09 20:42:36 +04:00
Alexander Udalov bcfb5f3b09 Rewrite Java resolve to use static class scope instead of synthesized packages
#KT-4149 Fixed
 #KT-4839 Fixed
2014-09-09 20:42:36 +04:00
Alexander Udalov 7ad88f7799 Minor, add test for obsolete issue
#KT-4021 Obsolete
2014-09-09 20:42:35 +04:00
Alexander Udalov d86903ccd4 Minor, add codegen test on extension to nested class 2014-09-09 20:42:35 +04:00
Michael Bogdanov e26d635633 Initial implementation of platformStatic 2014-09-09 16:28:28 +04:00
Michael Bogdanov 7bbedd9685 Added platformStatic annotation 2014-09-09 16:26:15 +04:00
Svetlana Isakova f5feb3bf33 Fixed: label copies should be added to all labels 2014-09-07 01:04:01 +04:00
Svetlana Isakova 976d5ab030 Pseudocode: don't write full label name when jump on it 2014-09-07 01:04:00 +04:00
Svetlana Isakova 067ac5c94a Fixed one part of 'Resolution error of this type shouldn't occur for...'
Result for "IF<T>(T, T)" can be "hasUnknownParameters"
if both arguments have types 'uninferred type parameter' (incomplete resolve case),
no constraints are added to the system.
2014-09-07 01:03:58 +04:00
Svetlana Isakova 61dc110cc7 Report 'break or continue outside a loop'
for break/continue outside a loop body (e.g. in loop condition)

 #KT-5724 Fixed
2014-09-07 01:03:57 +04:00
Svetlana Isakova 0b4f313b6d Jump on 'continue' to condition entry points for all loops 2014-09-05 18:31:53 +04:00
Michael Nedzelsky 25a0854dbd fix KT-5645: 'continue' inside 'do...while' statement works as goto to the beginning of the loop (not checking loop condition)
#KT-5645 Fixed
2014-09-05 18:31:53 +04:00
Svetlana Isakova 3d7c22f242 Added exact label names for labels 2014-09-05 18:31:53 +04:00
Alexey Sedunov f11621615b Pseudocode: Do not generate VALUE_CONSUMER if property delegate has no value (EA-59276) 2014-09-05 17:39:54 +04:00