Commit Graph

12440 Commits

Author SHA1 Message Date
Svetlana Isakova 0cd131fcfe refactoring
use method instead of its realisation, inline method
2013-10-16 19:51:54 +04:00
Svetlana Isakova b32bb2302d todo comment added 2013-10-16 19:51:54 +04:00
Svetlana Isakova 4666b0f50c refactoring: removed logic of rendering 'expected type mismatch' error from constraint system 2013-10-16 19:51:53 +04:00
Svetlana Isakova af930012d5 removed stored systemWithoutExpectedTypeConstraint
now we can filter out constraints of special type if necessary
2013-10-16 19:51:53 +04:00
Svetlana Isakova a19acc43e0 removed ExtendedInferenceErrorData
after 'type bound violated' error had gone to constraint system
2013-10-16 19:51:53 +04:00
Svetlana Isakova 0e507e6b40 rename
TypeConstraints -> TypeBounds
2013-10-16 19:51:53 +04:00
Svetlana Isakova 65e2f47bc3 try intersection of upper bounds as a suggestion
not each bound itself
while resolving constraint system
2013-10-16 19:51:53 +04:00
Svetlana Isakova 8a4afb9330 support one more special case of propagating bound constraints
(temporary while there is no common constraint system and its resolution)
2013-10-16 19:51:53 +04:00
Svetlana Isakova cb25e1d55a if some type parameter has only weak constraints (from bounds), then we consider it as unknown 2013-10-16 19:51:53 +04:00
Svetlana Isakova 731efd0781 added declared bound constraints directly to constraint system
added status 'hasViolatedUpperBound'
class TypeConstraintsImpl now stores constraint position for each constraint,
so we can filter out bound constraints and find out if the system is successful without them
2013-10-16 19:51:53 +04:00
Svetlana Isakova ac33ccc0fe refactoring: moved method 2013-10-16 19:51:52 +04:00
Svetlana Isakova c150c22473 refactoring: register type variable together
not one by one
2013-10-16 19:51:52 +04:00
Svetlana Isakova de85d3df72 KT-4009 Unnecessary attempt to do a smart cast causes an error
#KT-4009 Fixed
  do not add smart casted types for vars to constraint system
2013-10-16 19:51:52 +04:00
Svetlana Isakova 9a0ec7949e fixed bug in constraint system
For parameter type T constraint T? <: Int? should NOT transform to T <: Int, it should be T <: Int?
equality constraint T? = Int? should transform to T <: Int? && T >: Int
2013-10-16 19:51:52 +04:00
Alexander Udalov d4aaed2787 Don't add kotlin-runtime to classpath in CliTest
Also remove testing code from KotlinToJVMBytecodeCompiler, delete code
duplication, etc.
2013-10-16 19:02:46 +04:00
Nikolay Krasko b59f797122 Fix invoke later for disposed project
EA-44383 - assert: ComponentManagerImpl.getComponent
2013-10-16 18:56:52 +04:00
Nikolay Krasko 0c49b91098 Complete functions with single parameter on typing '{'
For KT-4049 When completing a function that takes a lambda and immediately typing '{', swallow the '{'
 #KT-4049 Fixed
2013-10-16 18:56:51 +04:00
Zalim Bashorov 31a4d91122 CLI: drop CompilerArguments and unnecessary methods from *CompilerArguments classes 2013-10-16 17:39:49 +04:00
Zalim Bashorov 5e0ef68d64 JPS: switch to using *CompilerArgument classes(from IDEA Project Settings) in build. 2013-10-16 17:39:49 +04:00
Zalim Bashorov 0877dfc1bd CLI: added "-printArgs" arguments to commandline compiler. 2013-10-16 17:39:49 +04:00
Zalim Bashorov 41d0a8be24 JPS: removed unnecessary code for running compiler out of process. 2013-10-16 17:39:48 +04:00
Zalim Bashorov 1176d58f40 JPS: transferring compiler settings to the JPS 2013-10-16 17:39:48 +04:00
Zalim Bashorov 809e25f48a IDEA: created a infrastructure for saving any compiler settings.
Added "generate no warnings" to Settings.
2013-10-16 17:39:48 +04:00
Zalim Bashorov 0901c98ff8 CLI: move *CompilerArguments classes to cli-common module. 2013-10-16 17:39:48 +04:00
Zalim Bashorov db5faf8300 CLI: removed unnecessary code that depended on KT-1863 and KT-2498. 2013-10-16 17:39:48 +04:00
Zalim Bashorov 5d84abb34c CLI: move the compilerPlugins property from CompilerArguments to CLICompiler. 2013-10-16 17:39:47 +04:00
Zalim Bashorov 8cea226a87 CLI: move K2JSCompilerArguments#createMainCallParameters to K2JSCompiler. 2013-10-16 17:39:47 +04:00
Zalim Bashorov fa25489a5b IDEA plugin: dropped the unused setting "JavaScript target version" 2013-10-16 17:39:47 +04:00
Alexander Udalov 4ddd2e6a0b Add jet.KotlinTraitImpl annotation
Similarly to jet.KotlinPackageFragment, will be used to mark "$$TImpl" classes
generated for implementations of trait's methods and annotations of trait's
properties
2013-10-16 15:04:11 +04:00
Alexander Udalov cf1a70a28e Minor, group tests related to synthetic methods for properties 2013-10-16 15:04:11 +04:00
Alexander Udalov 08bc67b925 Generate synthetic methods for annotated properties in TImpl classes
Traits themselves can't have these methods, since it'd be a weird public method
in an interface

 #KT-4072 Fixed
2013-10-16 15:02:37 +04:00
Alexander Udalov 5539a29439 Minor, extract method in CodegenTestCase 2013-10-16 14:59:37 +04:00
Alexander Udalov 6269cb807b Minor, extract test for synthetic methods for properties 2013-10-16 14:59:37 +04:00
Alexander Udalov 2445d04338 Fix synthetic method generation for extension properties
If several annotated extension properties with the same name were declared in
one class, JVM issued a ClassFormatError, since we generated a synthetic method
for each of them with the same name and signature. Make the signature of this
synthetic method depend on a receiver parameter, if a property has one
2013-10-16 14:59:37 +04:00
Alexander Udalov 806d264771 Write full synthetic method signature for annotated property
This will be needed to support annotated extension properties, since they have
the same name but different signatures
2013-10-16 14:59:36 +04:00
Alexander Udalov 6e45533065 Deserialize constructors of static nested classes correctly
Similar to what is done in TopDownAnalyzer
 #KT-4081 Fixed
2013-10-15 21:03:52 +04:00
Alexander Udalov d5bd8eebff Add kotlin-runtime.jar to the class loader when invoking compiler
TopLevelMembersInvocationTestGenerated failed locally because the compiler
couldn't find runtime classes
2013-10-15 21:03:52 +04:00
Alexander Udalov 65b098b327 Minor, remove unchecked casts from JavaElement collection util 2013-10-15 20:34:45 +04:00
Alexander Udalov 1fdb86f733 JavaArrayAnnotationArgument.getElements() returns List 2013-10-15 20:34:44 +04:00
Alexander Udalov 5b916ea108 Type parameters/arguments constitute lists, not collections 2013-10-15 20:34:44 +04:00
Alexander Udalov 0958e63be2 JavaMethod.getValueParameters() returns List 2013-10-15 20:22:59 +04:00
Andrey Breslav d52f2e25b0 AnnotationDescriptor interface extracted 2013-10-15 19:54:39 +04:00
Alexey Sedunov 71a0d4cc45 KT-4018 When moving members move comments too 2013-10-15 18:44:00 +04:00
Alexey Sedunov 28b3db53fe Fix irregular PSI structure for classes without body 2013-10-15 18:43:59 +04:00
Alexey Sedunov bdc908d45f Fix search of package-level function/property usages in Java code 2013-10-15 18:43:57 +04:00
Andrey Breslav 60c9aa559b Fix compilation in KDoc tests 2013-10-15 17:37:53 +04:00
Andrey Breslav 5b04783ee2 Using Disposer.newDisposable() instead of an anonymous class 2013-10-15 15:28:29 +04:00
Andrey Breslav 6384090034 Use reference counting to dispose the application when needed 2013-10-15 15:28:29 +04:00
Andrey Breslav 1d540181b0 Produciton code uses a shared application between many projects.
Tests always dispose the application together with JetCoreEnvironment
2013-10-15 15:28:28 +04:00
Andrey Breslav e8142d6464 Extract method: initApplication 2013-10-15 15:01:35 +04:00