Commit Graph

35523 Commits

Author SHA1 Message Date
Alexander Udalov ec03c6decb Introduce K2MetadataCompiler, extract MetadataSerializer out of BuiltInsSerializer
K2MetadataCompiler is a compiler facade similar to K2JVMCompiler and
K2JSCompiler and it produces .kotlin_metadata files. Each .kotlin_metadata file
contains the binary data which is a serialized BuiltIns protobuf message.

There's no 'kotlinc-***' script yet though, so to run this compiler currently
invoke this:

    KOTLIN_COMPILER=org.jetbrains.kotlin.cli.metadata.K2MetadataCompiler kotlinc
2016-11-25 20:50:09 +03:00
Nikolay Krasko b007306740 Make breakpoints work inside nameless function bodies in inline calls 2016-11-25 18:06:36 +03:00
Nikolay Krasko 89ac89f0c6 Fix breakpoints in secondary constructors 2016-11-25 18:06:36 +03:00
Dmitry Petrov 3d2696c81b KT-13440 Bound callable references in reflection 2016-11-25 16:11:18 +03:00
Dmitry Petrov 5879e201cd Proper equality comparison for bound callable references represented as reflection objects
(including references to property accessors).
2016-11-25 14:49:24 +03:00
Dmitry Petrov 3dd0c9d1c7 Equality comparison for bound callable references takes into account bound receiver.
Fixed KT-14939: use expected receiver type when generating receiver code in get/set methods for bound property references.
Otherwise we have VerifyError for bound receiver 'null' of type 'Nothing?', which is mapped to 'java.lang.Void'.

TODO: proper equality comparison for property accessors ('x::prop.getter', 'x::prop.setter').
2016-11-25 14:49:24 +03:00
Alexey Andreev ce6cf6475c JS: fix compilation of project 2016-11-25 14:43:48 +03:00
Alexey Andreev 66c78be10f JS: don't optimize RTTI when possible, i.e. don't remove is and as when object is known at compile time to have type in RHS of expression. Substitute kotlin.Any with Object. Fix #KT-7665, #KT-7664 2016-11-25 14:08:13 +03:00
Alexey Andreev c581ec6dd6 JS: fixes after code review 2016-11-25 14:07:31 +03:00
Alexey Andreev 46242f4430 JS: when RHS of as cast is non-nullable native interface, check LHS for null 2016-11-25 14:07:30 +03:00
Alexey Andreev e17321e1f6 JS: fix some code in stdlib that attempts to to is check against native interface 2016-11-25 14:07:30 +03:00
Alexey Andreev 2eb54f234c JS: prohibit passing native interfaces to reified type parameters 2016-11-25 14:07:29 +03:00
Alexey Andreev acf7fcaebf JS: prohibit is checks against native interfaces. Warn about casts to native interfaces. Fix #KT-14037, fix #KT-14038 2016-11-25 14:07:29 +03:00
Mikhail Glukhikh 2bb81e6a18 Simplify boolean with constants intention supports now == (!=) true (false) cases #KT-13777 Fixed 2016-11-24 18:05:36 +03:00
Alexey Andreev 20669c1b97 JS: fix building stubs for JS library that contains classes in default package 2016-11-24 17:49:11 +03:00
Nikolay Krasko efeccd0929 Filter out variables with null values (EA-87276) 2016-11-24 17:22:33 +03:00
Mikhail Glukhikh 5c09e1ca98 KT-13393 related: convert reference to lambda inspection (off by default) introduced 2016-11-24 15:26:38 +03:00
Mikhail Glukhikh 9c75324188 Minor: rename in KtPsiFactory 2016-11-24 15:26:30 +03:00
Mikhail Glukhikh b111d1ba69 Convert reference to lambda intention introduced #KT-13393 Fixed 2016-11-24 15:26:18 +03:00
Mikhail Glukhikh 27df76b02d Minor: typo fixed 2016-11-24 15:26:07 +03:00
Mikhail Glukhikh c6997a1213 Redundant if inspection supports now assignments and just if (...) true else false #KT-13259 Fixed 2016-11-24 15:25:56 +03:00
Mikhail Glukhikh 14787e3583 VarianceChecker: correct handing of nested classes and their methods #KT-14733 Fixed 2016-11-24 14:22:23 +03:00
Sergey Mashkov 1954cffd01 IDL2K: regenerate stubs 2016-11-24 12:14:34 +03:00
Sergey Mashkov 379afa187b IDL2K: consider attribute ignores (from config.kt) before merge 2016-11-24 12:14:33 +03:00
Sergey Mashkov ae69233d9c IDL2K: render dictionaries as interfaces, always use nullable types 2016-11-24 12:14:32 +03:00
Sergey Mashkov d3afb683a3 Update tests expected files 2016-11-24 12:14:31 +03:00
Sergey Mashkov ecbf2c023d Upgrade example 2016-11-24 12:14:31 +03:00
Sergey Mashkov 3285728391 IDL2K: generate declarations for partial interfaces 2016-11-24 12:14:30 +03:00
Sergey Mashkov 25461b42b9 IDL2K: manually fix SVGUseElementShadowRoot due to error in the SVG 2 specification 2016-11-24 12:14:29 +03:00
Sergey Mashkov 44335901c5 IDL2K: rename trait to interface, render NoInterfaceObject as native interface 2016-11-24 12:14:28 +03:00
Sergey Mashkov 5e01d4c993 IDL2K: update downloaded IDLs 2016-11-24 12:14:28 +03:00
Sergey Mashkov f098d6881e IDL2K: better logging 2016-11-24 12:14:27 +03:00
Sergey Mashkov b0414fe905 IDL2K: better property duplicates handling, better reserved words handling 2016-11-24 12:14:26 +03:00
Sergey Mashkov 3c60e73d19 IDL2K: map array literal 2016-11-24 12:14:26 +03:00
Sergey Mashkov df21b8bb7e IDL2K: remove dfn-panel class during IDL extraction 2016-11-24 12:14:25 +03:00
Sergey Mashkov 2496f24817 IDL2K: update download urls 2016-11-24 12:14:24 +03:00
Sergey Mashkov 453cd943e4 IDL2K: fix grammar for better generic types supprt 2016-11-24 12:14:23 +03:00
Sergey Mashkov d4c7831edd IDL2K: upgrade antlr 2016-11-24 12:14:23 +03:00
Alexey Andreev 9c8b58b8bf JS: when possible, treat WebIDL interfaces as abstract classes, not interfaces 2016-11-24 12:14:22 +03:00
Dmitry Petrov f415050913 Suppress TOPLEVEL_TYPEALIASES_ONLY in decompiler and stubBuilder tests. 2016-11-24 10:41:50 +03:00
Ilya Gorbunov 03bbe875d4 Fix the links to the language docs from JvmStatic and JvmName annotations. Add a link from JvmField annotation.
#KT-14953 Fixed
2016-11-23 23:41:16 +03:00
Vyacheslav Gerasimov 663d999ac4 Fixed testOnDestroyFragment 2016-11-23 23:30:28 +03:00
Dmitry Jemerov 7f80a1faff Workaround for Android databinding issue: apply extra scope filtering to classes returned from getClassesByName() (part of EA-75803 assert: ResolverForProjectImpl.descriptorForModule) 2016-11-23 18:29:26 +01:00
Dmitry Jemerov 1570886be3 Don't throw exception when resolving out-of-content-root PSI elements to descriptors (EA-92177 assert: ResolverForProjectImpl.descriptorForModule) 2016-11-23 18:29:25 +01:00
Dmitry Jemerov 763782083c Implement KtLightTypeParameter.isEquivalentTo() without referencing delegate (this is faster and more correct) 2016-11-23 18:29:25 +01:00
Dmitry Jemerov 956e1c70dc Provide toString() for classes that extend GlobalSearchScope (to diagnose package fragment errors) 2016-11-23 18:29:24 +01:00
Dmitry Jemerov 32be1940be KtFile.getPackageFqNameByTree() never tries to access stub (EA-82168) 2016-11-23 18:29:24 +01:00
Dmitry Jemerov c56a72d442 Retrieve virtual file for PsiFile via FileViewProvider, which always has a non-null vFile (EA-89047 - assert: LightClassDataProvider.getRepresentativeVirtualFile) 2016-11-23 18:29:23 +01:00
Dmitry Jemerov 89313b3495 Fix exception when companion object is on the top level of a file (EA-89388 - CCE: LightClassUtil$getWrappingClasses$.invoke) 2016-11-23 18:29:23 +01:00
Dmitry Jemerov ebbbe1b801 Include exception in report, not only log it (EA-90231 - assert: ClsJavaStubByVirtualFileCache.createStub) 2016-11-23 18:29:22 +01:00