Alexander Udalov
753ae9e550
Add a compiler parameter to generate not-null parameter assertions
...
Enable/disable assertion generation on parameters in the beginning of
methods accessible from Java
2012-10-08 19:03:36 +04:00
Alexander Udalov
12ce447c24
Refactor FunctionCodegen.generateMethod()
2012-10-08 19:03:33 +04:00
Alexander Udalov
bf779b4ca5
Generate not-null assertions only for descriptors coming from Java
...
Introduce BindingContext.IS_DECLARED_IN_JAVA, store that info in
JavaDescriptorResolver
2012-10-08 19:03:29 +04:00
Alexander Udalov
fcbc95bbb4
Generate not-null assertions after getting a field
2012-10-08 14:11:57 +04:00
Alexander Udalov
27bea0a607
Pass state and property descriptor to StackValue.Property
2012-10-08 14:11:57 +04:00
Alexander Udalov
95ec2448eb
Generate not-null assertions after method calls
...
If a method comes from Java and is annotated as returning NotNull, after
calling it we should check if it actually returned something other than null.
Introduce checkReturnedValueIsNotNull() in jet/runtime/Intrinsics which does
exactly that.
CallableMethod's invoke() and invokeDefault() are now private, use asserted
versions instead
2012-10-08 14:11:56 +04:00
Alexander Udalov
19a6a3f390
Add a compiler parameter to generate not-null assertions on method call sites
...
It is off by default when invoking compiler directly, and on by default when
compiling from IDE
2012-10-08 14:11:52 +04:00
Evgeny Gerashchenko
998095c55c
KT-1973 Added class kind to JetClass annotations to distinguish object declarations and regular classes.
...
#KT-1973 in progress
2012-10-03 23:33:15 +04:00
Evgeny Gerashchenko
889a238fbc
KT-1973 Made classes for objects declarations/expressions final.
...
#KT-1973 in progress
2012-10-03 23:30:55 +04:00
Evgeny Gerashchenko
069ef8ef91
KT-2712 Debugger should show value of receiver of extension functions
...
#KT-2712 fixed
2012-10-01 21:23:09 +04:00
Evgeny Gerashchenko
e4f2fdc5f2
Better names for THIS$0 and RECEIVER$0 constants.
2012-10-01 21:23:09 +04:00
Evgeny Gerashchenko
3d8b6e758a
Typo.
2012-10-01 21:23:09 +04:00
Alexander Udalov
acf8702ccf
KT-2822 Can't make a super call from an object literal
...
#KT-2822 Fixed
2012-09-27 16:30:58 +04:00
Svetlana Isakova
0c89c57a10
optimize imports in injectors rollback
2012-09-26 15:23:59 +04:00
Andrey Breslav
92ac865c72
KT-2819 Duplicate toString() method generated in data class
...
#KT-2819 Fixed
2012-09-26 12:32:16 +04:00
Alex Tkachman
4600990d52
JetValueParameter.nullable is deprecated as it duplicates info in type field
2012-09-23 13:19:51 +02:00
Alex Tkachman
edc0bf0b15
returnTypeNullable in flags duplicates info in returnType annotation field
2012-09-23 12:22:57 +02:00
Alex Tkachman
1ec32810f4
- small optimizations of JavaDescriptorResolver
...
- kind of method encoded in flags
- nullable return type encoded in flags
2012-09-23 12:08:55 +02:00
Alex Tkachman
95489c4444
common superclass introduced for (Namespace/ClassBody/Script)Codegen
2012-09-21 16:41:50 +03:00
Alex Tkachman
bc1a4a1fe9
massive refactoring of CodegenUtil
...
- generation method names standartized on genXXX
- many methods moved to newly created AsmUtil
- some methods moved to CodegenContext
- got rid of almost trivial StubCodegen
2012-09-20 20:19:26 +03:00
Alex Tkachman
be09227569
generation of inner classes inside object literal. #KT-2607 fixed
...
on the way ClassCodegen and MemberCodegen refactored out and injectors regenerated
2012-09-20 17:57:07 +03:00
Alex Tkachman
242ee38606
generic signatures for properties #KT2677 fixed
2012-09-20 17:54:40 +03:00
Alex Tkachman
eaf9a79420
correct handling of delegate properties #KT-2786 fixed
2012-09-20 17:54:40 +03:00
Nikolay Krasko
c7af6de16b
KT-1187 Wrong unnecessary completion
...
#KT-1187 Fixed
2012-09-20 16:50:12 +04:00
Alexander Udalov
83fb970066
Write correct inner enum info in codegen
...
#KT-2771 In Progress
writeInnerClasses() now writes correct InnerClasses attribute with respect to
inner enums (see comments in the code).
2012-09-20 15:02:57 +04:00
Alexander Udalov
5af90c2a83
Extract some methods in codegen
...
Introduce DescriptorUtils#getInnerClasses(), which gets all descriptors from
inner classes scope and asserts that they are classes.
Inner/outer classes attributes are generated in separate methods.
2012-09-20 15:02:54 +04:00
Alex Tkachman
b022eec0fa
call correct methods String.valueOf/StringBuilder.append in case of byte/short. #KT-2794 fixed
2012-09-20 11:46:40 +03:00
Alex Tkachman
3dd9c6ab10
{} replaced by () in data classes toString
2012-09-19 13:50:50 +03:00
Svetlana Isakova
4bdeaffa04
use "JvmClassName.byFqNameWithoutInnerClasses" instead of "replace('.', '/')"
2012-09-19 13:06:25 +04:00
Svetlana Isakova
618f1b377b
added signatureName format to JvmClassName
2012-09-19 13:06:25 +04:00
Svetlana Isakova
290343ed02
refactoring
2012-09-19 13:06:25 +04:00
Svetlana Isakova
d721287db6
write kotlin signature for ambiguous mapped types e.g. jet.List/MutableList for java.util.List
2012-09-19 13:06:25 +04:00
Andrey Breslav
b8ef69e044
Tuple support removed from the JVM back-end
...
#KT-2358 In progress
2012-09-18 20:50:02 +04:00
Andrey Breslav
dee5152f9b
Supporting Unit.VALUE, to replace #()
...
#KT-2358 In Progress
2012-09-18 20:27:09 +04:00
Andrey Breslav
83bc835343
Assert message addded
2012-09-18 20:27:09 +04:00
Alex Tkachman
7b066faa9f
changed behavior of componentX/toString/hashCode and equals to work naturally with overriden properties
2012-09-18 18:08:16 +03:00
Alex Tkachman
ae93018546
fix for several (unlikely all) closely related problems with handling of byte/short/char on Delvik #KT-2251 fixed
2012-09-18 16:53:55 +03:00
Alex Tkachman
0ffc8f355b
attempt to fix KT-2251
2012-09-18 14:25:09 +03:00
Alex Tkachman
d2c4f5c4a5
field access level change to private which it should be
2012-09-18 09:37:50 +03:00
Alex Tkachman
8e463ac0ac
equals generation for data classes
2012-09-17 18:48:17 +03:00
Evgeny Gerashchenko
8f337cbd7c
Removed 'sure' intrinsic method.
2012-09-17 18:00:22 +04:00
Alex Tkachman
8c823486d7
hashCode generation for data classes
2012-09-17 15:52:23 +03:00
Alex Tkachman
a4e272d7c6
optimization of toString for primitive types and "$expr"
...
- intrinsic toString for promitive types added to stdlib
- utility method added to CodegenUtil
- optimization logic added to generation of interpolating string
2012-09-17 13:00:02 +03:00
Alex Tkachman
3b96624c81
small optimizaton of toString for primitive types (no boxing needed)
2012-09-17 09:07:08 +03:00
Alex Tkachman
58af365eb2
toString() method for data classes and fake implementation for hashCode/equals
2012-09-16 15:56:48 +03:00
Alex Tkachman
e317764a88
correct access flags for package private (coming from java) #KT-2781 fixed
2012-09-16 10:08:36 +03:00
Alex Tkachman
99196c187b
unification of codegen for singletons between object declarations, classobjects and const closures
2012-09-15 22:54:38 +03:00
Alex Tkachman
f8983d8516
static final field for class object moved to class object class from containing class
2012-09-15 21:23:42 +03:00
Alex Tkachman
104f2a08d3
cleanup refactoring - classAsType & superClassAsmType introduced
2012-09-15 15:50:14 +03:00
Alex Tkachman
93def61813
getMethodAsmFlags extracted
2012-09-15 15:28:41 +03:00