Commit Graph

3759 Commits

Author SHA1 Message Date
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 1cf5e92981 Support multi-file tests with Java in CodegenTestCase 2012-10-08 14:11:54 +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
Alexander Udalov 1f3586a151 Minor refactoring in ReplInterpreter
GenerationState is now created with default configuration parameters
2012-10-08 14:11:48 +04:00
Pavel V. Talanov e72c38aabb Make members in *Resolver classes private where possible and classes themselves final
Overall: very roughly split monster class JavaDescriptorResolver into smaller pieces of functionality represented by *ResolverClasses
It by no means improves abstraction (and no significant changes to the logic has been made) but makes the whole subsystem more structured and easier to understand/modify in the future
2012-10-06 20:39:38 +04:00
Pavel V. Talanov cae349d4f0 Move method from JavaDescriptorResolver to PropertiesResolver and ClassResolver 2012-10-06 20:25:54 +04:00
Pavel V. Talanov 55a60b3296 Move util method from JavaDescriptorResolver to DescriptorResolverUtils 2012-10-06 20:17:37 +04:00
Pavel V. Talanov 086fadc9be Move util method from JavaDescriptorResolver to JavaDescriptorSignatureResolver 2012-10-06 20:16:40 +04:00
Pavel V. Talanov dee9902d64 Move util method from JavaDescriptorResolver to ClassResolver 2012-10-06 20:14:48 +04:00
Pavel V. Talanov 37fd1aebf6 Extract util methods from JavaDescriptorResolver to the new class DescriptorResolverUtils 2012-10-06 20:09:45 +04:00
Pavel V. Talanov b70ba37c34 Extract ValueParameterResolver class from JavaDescriptorResolver 2012-10-06 20:02:29 +04:00
Pavel V. Talanov 471169303a Extract InnerClassResolver class from JavaDescriptorResolver 2012-10-06 19:57:18 +04:00
Pavel V. Talanov e3d631fb63 Move method from JavaDescriptorResolver to FunctionResolver 2012-10-06 19:54:12 +04:00
Pavel V. Talanov bf76fa665e Move method from JavaDescriptorResolver to NamespaceResolver 2012-10-06 19:51:51 +04:00
Pavel V. Talanov f3c707a71f Move methods from JavaDescriptorResolver to ClassResolver 2012-10-06 19:49:59 +04:00
Pavel V. Talanov 913659a58a Move methods from JavaDescriptorResolver to ClassResolver 2012-10-06 19:47:49 +04:00
Pavel V. Talanov a0bcc27ffa Move methods from JavaDescriptorResolver to ClassResolver 2012-10-06 19:43:49 +04:00
Pavel V. Talanov 4f0ac287b3 Move methods from JavaDescriptorResolver to FunctionResolver 2012-10-06 19:31:45 +04:00
Pavel V. Talanov 6424e0fe22 Extract NamespaceResolver class from JavaDescriptorResolver 2012-10-06 19:13:43 +04:00
Pavel V. Talanov 88bd991729 Extract FunctionResolver and AnnotationResolver classes from JavaDescriptorResolver 2012-10-06 19:08:57 +04:00
Pavel V. Talanov 6ce1f8c111 Extract CompileTimeResolver class from JavaDescriptorResolver 2012-10-06 18:56:11 +04:00
Pavel V. Talanov a9b4b1ca68 JavaDescriptorResolver.ValueParameterDescriptor: encapsulate fields 2012-10-06 18:52:39 +04:00
Pavel V. Talanov 09501f3215 Extract ConstructorResolver class from JavaDescriptorResolver 2012-10-06 18:50:50 +04:00
Pavel V. Talanov 38a10bfb86 Rename: JavaDescriptorPropertiesResolver -> PropertiesResolver 2012-10-06 18:46:05 +04:00
Pavel V. Talanov 2d33b50b55 Extract ClassResolver class from JavaDescriptorResolver 2012-10-06 18:45:00 +04:00
Pavel V. Talanov bcb6686805 Move JavaDescriptorPropertiesResolver to new resolver package
Make used classes and methods public
2012-10-06 18:32:54 +04:00
Pavel V. Talanov aa4665bfba Refactor NamedMembers: encapsulate fields
Also some stylistic changes
2012-10-06 18:19:40 +04:00
Nikolay Krasko 0c48fbf959 Simplify and sharpen tests 2012-10-05 18:45:40 +04:00
Nikolay Krasko e41bce013d Move common getSignatureAnnotation() to base class 2012-10-05 15:51:26 +04:00
Nikolay Krasko 572173a8f8 Fields alternative signature processing with refactoring of AlternativeSignatureData
Refactoring details:
- Move and rename AlternativeSignatureData to kotlinSignature.AlternativeMethodSignatureData
- Extract TypeTransforming visitor
- Extract AlternativeSignatureMistmatchException
- Move errors, return type, and syntax processing to base class
2012-10-05 15:51:23 +04:00
Nikolay Krasko 4bb0181613 Move AlternativeSignatureData.java to kotlinSignature/AlternativeMethodSignatureData.java 2012-10-05 15:51:20 +04:00
Nikolay Krasko 9476a8aeb4 Weaken parameter type 2012-10-05 15:51:11 +04:00
Nikolay Krasko 8d608f2887 Tests for loading KotlinSignature annotation for constructors
#KT-2774 In Progress
2012-10-05 15:51:09 +04:00
Nikolay Krasko 14b7759a2a Load constructor descriptors with information from KotlinSignature annotations
#KT-2774 In Progress
2012-10-05 15:50:36 +04:00
Natalia.Ukhorskaya a5b43cbbae Stub for annotations: write shortName instead getText 2012-10-05 12:07:22 +04:00
Natalia.Ukhorskaya ae6aa1b160 Stub for annotations 2012-10-04 19:45:52 +04:00
Evgeny Gerashchenko 22e62c5723 KT-1973 added tests.
#KT-1973 Fixed
2012-10-03 23:33:16 +04:00
Evgeny Gerashchenko f33669bc83 KT-1973 Loading object declarations from compiled classes.
#KT-1973 in progress
2012-10-03 23:33:15 +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 a6ab74fc15 Renamed FLAG_KIND_* to FLAG_METHOD_KIND_* 2012-10-03 22:14:15 +04:00
Pavel V. Talanov 3db3745439 Refactor: move *Descriptor classes to descriptor package 2012-10-03 21:56:44 +04:00
Pavel V. Talanov 7fd98f5ef5 Refactor: correct field description in PsiParameterWrapper and remove unused code in PsiClassWrapper 2012-10-03 21:56:42 +04:00
Pavel V. Talanov 9d2446ab9a JDR: move *Wrapper classes to wrapper package 2012-10-03 21:56:40 +04:00
Pavel V. Talanov c5b29354c0 JDR: move *Scope classes to scope package 2012-10-03 21:56:38 +04:00
Pavel V. Talanov 5d93fa6c47 Remove mysterious abstract method with one usage 2012-10-03 21:56:37 +04:00
Pavel V. Talanov 1d36188589 Refactor mysterious field typeParameters to be local variable with a less mysterious name 2012-10-03 21:15:13 +04:00
Pavel V. Talanov 09c609e765 JavaDescriptorResolveData.ResolverClassData classDescriptor is private and accessed via getter 2012-10-03 20:58:40 +04:00