Commit Graph

44 Commits

Author SHA1 Message Date
Dave Holoway
cd725638cd parse labels and break/continue targets 2020-06-10 18:43:43 +01:00
Dave Holoway
87a2d72ae3 improve assert statement support 2020-06-10 16:29:23 +01:00
Dave Holoway
c9ab48031e update isCallCompatible to handle variable arity calls 2020-06-10 16:09:43 +01:00
Dave Holoway
dd9d23c64a tidy array constructors and fix some warnings 2020-06-10 15:11:16 +01:00
Dave Holoway
309cc47107 specialise methods with type variables 2020-06-10 11:57:16 +01:00
Dave Holoway
41adfbe53e initial attempt to support type variable arguments in methods 2020-06-09 15:01:58 +01:00
Dave Holoway
426735aa25 update ResolvableType to use same type resolving as method body parsing 2020-06-08 21:02:34 +01:00
Dave Holoway
7c9acfd7ca pass scoped type instead of method to typeIdent 2020-06-08 16:18:49 +01:00
Dave Holoway
1b1202598c refactor to prepare for merging with type parsing 2020-06-08 15:52:03 +01:00
Dave Holoway
c09620c481 add SourceInitialiser support 2020-06-08 13:53:24 +01:00
Dave Holoway
3a85c6f819 treat default and synchronized as modifiers 2020-06-08 13:04:57 +01:00
Dave Holoway
04c0e97c81 reuse parsed tokens instead of tokenizing each method body 2020-06-08 12:30:31 +01:00
Dave Holoway
bbc6007338 make type parser and body parser use same tokenizer 2020-06-08 11:45:01 +01:00
Dave Holoway
930237359e allow unicode char literals 2020-06-08 00:44:20 +01:00
Dave Holoway
c16bb1b30a support assert statement 2020-06-08 00:31:33 +01:00
Dave Holoway
f14d70feb6 map primitive types to their boxed versions for class member 2020-06-08 00:07:35 +01:00
Dave Holoway
67c1fc9db6 allow unicode characters, $ and _ in identifiers 2020-06-07 23:50:51 +01:00
Dave Holoway
49b5480870 allow generic types to be assigned to inherited types with compatible type arguments 2020-06-07 22:52:37 +01:00
Dave Holoway
6bcdecee07 fix parse issue with nested generic types 2020-06-07 22:38:18 +01:00
Dave Holoway
a4be37d872 initial support for wildcard type arguments 2020-06-07 21:31:11 +01:00
Dave Holoway
4750212484 improve invalid array expression message
add AnyType array element to prevent cascading errors
2020-06-07 15:59:12 +01:00
Dave Holoway
20831c2326 make sure any long specifier is stripped from a bigint value 2020-06-07 15:46:08 +01:00
Dave Holoway
fc9d58b9da add support for array qualifiers after a variable name 2020-06-07 15:40:28 +01:00
Dave Holoway
c56732c689 allow character literals to be assigned to number types 2020-06-07 15:22:12 +01:00
Dave Holoway
7d6af70ae1 allow null to be cast to any non-primitve 2020-06-07 15:12:43 +01:00
Dave Holoway
ce6ed14aaa update primitive type compatibility 2020-06-07 14:54:26 +01:00
Dave Holoway
b30228c10b add support for synchronized statement 2020-06-07 14:22:26 +01:00
Dave Holoway
00d4998301 allow all primitive-number-type casts 2020-06-07 14:01:57 +01:00
Dave Holoway
52db53e65a casting only applies to qualified term not a whole expression 2020-06-07 13:36:29 +01:00
Dave Holoway
37dddc48d9 update check for cast expression 2020-06-07 13:26:46 +01:00
Dave Holoway
de846fef12 add support for literal numbers to be assignable to multiple primtive types 2020-06-07 12:51:49 +01:00
Dave Holoway
4ba7fd1b3d split shift operators from bitwise operators 2020-06-06 15:14:05 +01:00
Dave Holoway
f294cb2af1 allow AnyValue to be a constant value 2020-06-06 14:32:47 +01:00
Dave Holoway
67f1b617ff use isTypeAssignable for checking branch test expressions 2020-06-06 14:07:33 +01:00
Dave Holoway
09c15ef401 allow interfaces to be cast to class instances 2020-06-06 13:57:23 +01:00
Dave Holoway
13068cbcea add more info when methods/ctrs cannot be matched 2020-06-06 13:33:06 +01:00
Dave Holoway
432cd24f3c tidy up isTypeAssignable
allow class equivilents for primitives
2020-06-06 12:30:09 +01:00
Dave Holoway
1238d7980a update method call parameter checking
use isTypeAssignable instead of getParameterCompatibleTypeSignatures
2020-06-06 12:07:01 +01:00
Dave Holoway
19810a2f75 add Any* classes to reduce cascading errors 2020-06-06 11:39:15 +01:00
Dave Holoway
9c579662e6 Fix resolving of enclosed type identifiers 2020-06-05 16:45:07 +01:00
Dave Holoway
b1d4261f28 fix assignment operator types 2020-06-05 16:12:30 +01:00
Dave Holoway
b50e7bea46 fix interface constructors
check constructor type modifiers
2020-06-05 15:20:09 +01:00
Dave Holoway
9a4dd63dc7 add super as an object literal 2020-06-05 14:50:09 +01:00
Dave Holoway
c43ba6ccf1 add new method body parser to use direct linear parsing 2020-06-05 14:36:42 +01:00