Commit Graph

3045 Commits

Author SHA1 Message Date
Alexander Udalov d29757d927 Make upper bounds of type parameter a list instead of a set
The same for lower bounds, also refactor type parameter implementations
2015-10-28 19:11:56 +03:00
Alexander Udalov 8a89662ea5 Remove FqNameBase, simplify FqName and FqNameUnsafe 2015-10-28 19:11:53 +03:00
Michael Nedzelsky 190bab099c fix KT-9441 Unable to Access Internal Classes from Test Code within Same Module
#KT-9441 Fixed
2015-10-28 01:58:54 +03:00
Zalim Bashorov a5708c9c0d Track lookups in JavaSyntheticPropertiesScope 2015-10-27 19:38:32 +03:00
Valentin Kipyatkov 74d14d30b0 No use of "by ..Scope.Empty" 2015-10-27 18:24:55 +03:00
Pavel V. Talanov dc791941d7 JvmAnalyzerFacade: Do not fail when java resolve api behaves in an unexpected way
Fixes a problem when java type from a library can be resolved to a class in source root
2015-10-27 18:07:17 +03:00
Dmitry Petrov ad030a2c03 KT-9721:
- Scripts should be included in files with callables.
2015-10-27 15:06:32 +03:00
Alexander Udalov a97567ea0c Optimize KProperty objects for delegated properties
Don't generate anonymous classes with a lot of methods because this hurts
Android. Add special classes to the runtime instead (also add
FunctionReferenceImpl, to be used later) and just create their instances in the
static initializer of each class
2015-10-26 21:02:34 +03:00
Dmitry Petrov 09f0b3fe87 KT-9721:
- Kotlin/JS still uses package facades.
Handle them properly in StubClassBuilder parentStack.
- Generate backend-related diagnostics in IDE
using light class generation for file facades.
- Drop PackageFacadeStubCache.
2015-10-26 19:37:52 +03:00
Valentin Kipyatkov ed6f845377 Added utility functions for synthetic extensions in scope 2015-10-26 19:30:04 +03:00
Valentin Kipyatkov 5f06f53bfd Renames 2015-10-26 19:30:03 +03:00
Valentin Kipyatkov c93de93332 FileScopeProvider.AdditionalScopes return ImportingScope's 2015-10-26 19:30:00 +03:00
Michael Bogdanov d977d29ec4 Support access to companion private members from nested classes
#KT-5363 Fixed
  #KT-6804 Fixed
2015-10-20 19:19:41 +03:00
Dmitry Jemerov d6a3870101 rename Kt to Kotlin in KtType, KtIcons 2015-10-20 16:23:31 +02:00
Valentin Kipyatkov 8e6b0a26bb Synthetic extensions to take all annotations from original declarations
#KT-9387 Fixed
2015-10-20 10:12:34 +03:00
Dmitry Jemerov 49033e0002 rename Jet* classes to Kt* 2015-10-19 21:35:30 +02:00
Alexey Tsvetkov 3476bed18a Drop @native from stdlib 2015-10-19 21:32:24 +03:00
Alexey Tsvetkov e9e42b0251 Code cleanup 2015-10-19 20:45:03 +03:00
Alexey Tsvetkov 7a1b6ed13f Fix supressing no body errors for external functions 2015-10-19 20:45:02 +03:00
Alexey Tsvetkov d87ce33458 Drop @inline from tests and incremental compilation 2015-10-19 20:45:01 +03:00
Alexey Tsvetkov df8066b1e4 Drop annotations from stdlib and compiler 2015-10-19 20:45:01 +03:00
Alexey Tsvetkov c50aab6a75 Add modifier flags to descriptors 2015-10-19 20:45:01 +03:00
Dmitry Petrov f227908151 Drop package facades:
- update incremental compilation tests
2015-10-19 16:03:21 +03:00
Dmitry Petrov 70c91b2e75 Drop package facades:
- getting rid of package facades in InlineCodegen & related stuff.
Provide binary source element to top-level package members.
2015-10-19 16:03:20 +03:00
Dmitry Petrov 8ab55813fe Dropping package facades:
- clashing JVM signature diagnostics should be reported in stable order
- drop tests for clashes vs package facades
- introduce box test for class named as old package facade
- fix some testData
2015-10-19 16:03:19 +03:00
Dmitry Petrov 6b2b64e438 Drop package facades: fix evaluation tests 2015-10-19 16:03:19 +03:00
Dmitry Petrov 149e70aa07 Dropping package facades:
- light classes: do not generate light class for package facade
- drop package facades as multifile classes compilation mode support
- get rid of some additional package facade fqName usages
- update tests for light classes
2015-10-19 16:03:16 +03:00
Yan Zhulanow 9ae3b0fa9c Drop loading Java annotation methods as functions 2015-10-16 22:13:34 +03:00
Dmitry Petrov 670b49ec5e Dropping package facades: remove unused imports from package facades
(not cleaned up automatically)
2015-10-16 11:23:22 +03:00
Alexander Udalov f62128bdcd Fix protobuf extension API usages
"getExtension" returns default value when the requested extension is not
present, which is 0 for Int, which makes no sense for extensions like
methodImplClassName that are storing the number in the string table
2015-10-15 22:36:22 +03:00
Michael Nedzelsky 890ae3e914 Make single-file classes tolerant to having many main()'s 2015-10-15 15:46:26 +03:00
Dmitry Petrov 8cd624a58a Drop package facades: code cleanup in Kotlin project. 2015-10-15 10:33:47 +03:00
Alexander Udalov 3c74f48f91 Pass KProperty instances to property delegates
Inherit KProperty from PropertyMetadata, cache corresponding KProperty objects
instead of PropertyMetadataImpl objects, add support for properties with 2
receivers
2015-10-14 20:45:24 +03:00
Michael Nedzelsky d05a7224c7 add check for escaped identifiers 2015-10-14 16:57:06 +03:00
Yan Zhulanow bc3d1ddda0 Remove old 'get' delegate convention in interfaces 2015-10-14 01:29:09 +03:00
Alexander Udalov f16f4e5541 Disable loading parameter names from KotlinSignature, update test data 2015-10-13 20:29:15 +03:00
Mikhail Glukhikh 5a16e43579 Synchronized is no more allowed on abstract functions 2015-10-13 16:37:34 +03:00
Mikhail Glukhikh ccf0c363fa Volatile is no more allowed on values #KT-7670 Fixed 2015-10-13 16:37:24 +03:00
Michael Bogdanov f4b7913dd3 sanitizeAsJavaIdentifier function moved to JvmAbi 2015-10-13 11:14:32 +03:00
Pavel V. Talanov d8be99a378 Prohibit @JvmField for private properties 2015-10-13 11:14:31 +03:00
Michael Bogdanov 22142ee44d Initial support of JvmField annotation 2015-10-13 10:50:09 +03:00
Pavel V. Talanov 6cf9bfdb70 publicField -> JvmField
Effectively drop publicField and introduce JvmField (which has the same effect for now)
Implement frontend checks for @JvmField
Replace publicField -> JvmField in test data
2015-10-13 10:50:08 +03:00
Pavel V. Talanov bfaf806f47 Refactor: move various checkers from JvmPlatformConfigurator.kt 2015-10-13 10:50:07 +03:00
Andrey Breslav a2e5e60c68 TRAIT -> INTERFACE in diagnostics 2015-10-12 14:36:38 +03:00
Dmitry Petrov 5d9ee7efee Java 8 rules for method overrides:
- base class method wins against a (default) interface method,
so an abstract base class method should always be implemented
in a derived class;

- interface methods clash regardless of abstract/default
with possibly undefined behavior at run-time,
so a class or interface should always define its own method
for methods inherited from multiple interfaces and not from base class;

- meaningful diagnostics for class inheriting conflicting JVM signatures.
Since no override will happen under Java 8 rules,
ACCIDENTAL_OVERRIDE is misleading for this case;

- update testData.
2015-10-12 14:12:31 +03:00
Alexander Udalov 0218e0351b Deprecate KPackage, to be removed later 2015-10-11 17:10:37 +03:00
Alexander Udalov 8c4d7fdf24 Drop deprecated nested classes from Kotlin metadata annotations 2015-10-11 17:10:33 +03:00
Alexander Udalov 9bf0502a31 Load new proto messages for functions and properties 2015-10-11 17:10:24 +03:00
Denis Zharkov f9c7e7add4 Adjust project code to changes in properties loading 2015-10-10 12:29:15 +03:00
Denis Zharkov ad68378836 Support loading methods from Java as common properties overrides 2015-10-10 12:29:14 +03:00