Andrey Breslav
839d986f44
KT-385 type inference does not work properly
...
KT-109 Good code is red: type arguments are not inferred
KT-441 Exception in type inference when multiple overloads accepting an integer literal are accessible
2011-11-10 20:55:12 +03:00
Pavel Talanov
8e147b26a7
Added default getter/setter support and initializer support.
2011-11-10 21:29:50 +04:00
Andrey Breslav
1e3f2889a4
KT-336 Can't infer type parameter for ArrayList in a generic function (Exception in type inference)
...
KT-335 Type inference fails on Collections.sort
2011-11-10 19:44:59 +03:00
Stepan Koltsov
a4b62868fa
KT-424 also check overloads in namespaces
2011-11-10 20:00:34 +04:00
Stepan Koltsov
31b049893f
fix wrong test (unnecessary overload)
2011-11-10 20:00:26 +04:00
Stepan Koltsov
d155de2bdc
better diagnostics for KT-424
...
highlight full function definition, not only function name
2011-11-10 20:00:19 +04:00
Stepan Koltsov
5218246d80
KT-424: Check declarations for overload-compatibility
...
===
fun a() {}
fun a() {}
===
must be an error.
2011-11-10 20:00:15 +04:00
svtk
89b4faa6fe
started work on "unused value" analysis
2011-11-10 19:42:53 +04:00
Stepan Koltsov
5fbf684998
continue work on KT-458
...
70b7810c30 fixed parser
this commit fixes typer
2011-11-10 19:07:51 +04:00
Stepan Koltsov
70b7810c30
KT-458 Need to improve quoted identifiers support
...
class `$$$`
should not fail
2011-11-10 16:50:23 +04:00
Stepan Koltsov
ea9b67c5cd
regenerate grammar
2011-11-10 16:27:25 +04:00
Stepan Koltsov
44b631cdd0
enhancements in character constant parsing
...
* missing assertion converted to ErrorValue
* added test for 'a
* '\' must be error (KT-461)
2011-11-10 16:16:31 +04:00
Andrey Breslav
dda5759643
More tests for KT-451 Incorrect character literals cause assertion failures
2011-11-10 15:42:14 +03:00
Stepan Koltsov
c8e2e06d59
missing test for KT-451 incorrect character liternals assertion error
2011-11-10 15:13:08 +04:00
Stepan Koltsov
763be2af9e
fix comment: it is not automatically generated
2011-11-10 15:09:11 +04:00
Stepan Koltsov
cd2dab3e53
KT-451 Incorrect character literals cause assertion failures
...
''
'21'
2011-11-10 15:05:07 +04:00
Andrey Breslav
c03a256353
Merge remote branch 'origin/master'
2011-11-10 14:51:54 +03:00
Andrey Breslav
2c2c6ea099
Clarifying comments added
2011-11-10 14:51:41 +03:00
Pavel Talanov
fe54dc78e8
Added a test for extractor.
2011-11-10 14:15:30 +04:00
Pavel Talanov
f4b18c277f
Added DeclarationExtractor logic.
2011-11-10 14:06:15 +04:00
svtk
7ef0debbc7
Merge remote-tracking branch 'origin/master'
2011-11-10 14:00:40 +04:00
svtk
1b8e5a4a11
Added return type check for non-local return (despite it is prohibited yet)
2011-11-10 14:00:32 +04:00
Stepan Koltsov
abec6933cf
KT-499 allow class object in static inner classes
...
like this:
===
class A {
class object {
class B {
class object { }
}
}
}
===
2011-11-10 12:59:29 +04:00
Andrey Breslav
a28716af1d
Constant propagation guarded by the class jet.Number where the properties are defined.
...
NOTE: currently, local extension properties are not allowed, but they may be allowed in future versions, and the old propagation would break
2011-11-09 22:29:48 +03:00
Andrey Breslav
c6f6f182b6
KT-353 Generic type argument inference sometimes doesn't work
...
KT-459 Type argument inference fails when class names are fully qualified
2011-11-09 22:15:37 +03:00
Andrey Breslav
8ab1f1b420
KT-287 Infer constructor type arguments
...
More test data
2011-11-09 21:51:01 +03:00
Andrey Breslav
0c492ae0eb
KT-287 Infer constructor type arguments
2011-11-09 21:48:36 +03:00
Andrey Breslav
a24e448973
Simplistic type inference:
...
KT-258 Support equality constraints in type inference
KT-399 Type argument inference not implemented for CALL_EXPRESSION
2011-11-09 19:52:05 +03:00
Pavel Talanov
da1a1a3727
Added simple method call support.
2011-11-09 20:29:51 +04:00
Andrey Breslav
787d3aa450
New type checking algorithm is used for subtyping constraint generation
2011-11-09 18:54:23 +03:00
Pavel Talanov
f3d8b2c3b1
Added constructor calls. Working on method logic.
2011-11-09 19:12:10 +04:00
Pavel Talanov
b514c180b4
Added string constant support.
2011-11-09 18:39:29 +04:00
Pavel Talanov
681100c4bc
Added while/do while support
2011-11-09 18:18:29 +04:00
Andrey Breslav
d4ea1d42c8
CommonSupertypes factored out
...
equalTypes() moved to TypeUtils
Lower bounds (stub implementation) introduced to type parameters
2011-11-09 16:56:05 +03:00
Andrey Breslav
0a2ad80234
Unused parameter removed
2011-11-09 16:53:33 +03:00
Pavel Talanov
d9d8a40d5c
Added if else support
2011-11-09 17:38:05 +04:00
svtk
0356bd98ec
KT-411 Wrong type expected when returning from a function literal
2011-11-09 16:43:29 +04:00
Pavel Talanov
6654405efc
Fixed JDK hack
2011-11-09 16:36:40 +04:00
Pavel Talanov
1bf6efce87
Added test files and the infamous jet/Library.jet
2011-11-09 16:34:32 +04:00
Pavel Talanov
c811814037
Finished reorganising project structure.
2011-11-09 16:32:49 +04:00
Stepan Koltsov
099725da7f
KT-449 class object in inner class must be an error
...
===
class A {
class B {
class object { }
}
}
===
2011-11-09 16:26:12 +04:00
Stepan Koltsov
a6898c7c64
simplify KT-249
...
for KT-449
2011-11-09 16:26:12 +04:00
Andrey Breslav
df79fa2f3d
Type checking procedure simplified (dramatically!)
2011-11-09 15:22:35 +03:00
Andrey Breslav
a4768eda98
TypeInfo should be covariant. Consider the common case in Java when something wants, say, an annotation class. They write Class<? extends Annotation>. We can write just TypeInfo<Annotation>
2011-11-09 15:22:35 +03:00
Pavel Talanov
42a252c6a9
split code into modules and lots of other code changes
2011-11-09 16:11:18 +04:00
Sergey Ignatov
fdf18e85fc
IdentifierImpl fixed
2011-11-09 16:04:57 +04:00
Sergey Ignatov
d4b35bc27f
EQEQ added as a token type
2011-11-09 16:04:57 +04:00
Sergey Ignatov
1bc527cd92
supported two cases for constructor calling
2011-11-09 16:04:57 +04:00
Sergey Ignatov
54265da366
improved quoting for identifier added
2011-11-09 16:04:57 +04:00
Sergey Ignatov
846ac36fab
cleanup
2011-11-09 16:04:57 +04:00