Commit Graph

291 Commits

Author SHA1 Message Date
Dave Holoway
a8653f26df fix checking of array literal compatability 2020-06-15 16:57:00 +01:00
Dave Holoway
2f3349c359 fix support for resolving type variables in method declarations 2020-06-15 16:07:23 +01:00
Dave Holoway
549473d765 generate source types before parsing 2020-06-15 14:34:29 +01:00
Dave Holoway
01ae51d91a replace regex parsing with linear parsing 2020-06-15 11:15:25 +01:00
Dave Holoway
18d56e0bc0 refactor to allow expressions to have a type scope 2020-06-13 16:47:59 +01:00
Dave Holoway
da8d37aafd update to use new set of SourceX classes 2020-06-13 15:16:35 +01:00
Dave Holoway
f4a18ebcdc initial changes to support local type declarations 2020-06-12 14:32:11 +01:00
Dave Holoway
c70b75783e replace Locals with scopeable MethodDeclarations to allow labels and types to be stored 2020-06-12 13:32:15 +01:00
Dave Holoway
ac9a7ed43a refactor in preparation for parsing local types 2020-06-11 18:06:44 +01:00
Dave Holoway
d0308781f7 add missng strictfp modifier 2020-06-11 15:54:20 +01:00
Dave Holoway
974ec93841 fix type checking of field and method declarations 2020-06-11 15:50:55 +01:00
Dave Holoway
c454753385 improve reporting of unresolved type errors 2020-06-11 15:00:26 +01:00
Dave Holoway
3ab97ef235 improve modifier checks for interface types 2020-06-11 14:40:34 +01:00
Dave Holoway
5b29b9998d add support for generic inferred-type arguments 2020-06-11 13:44:59 +01:00
Dave Holoway
90c537b82d refactor new term qualifiers 2020-06-10 23:41:41 +01:00
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
b175b52065 make variable arity parameters an array type 2020-06-10 14:50:40 +01:00
Dave Holoway
6dffe61d62 don't require default interface methods to be implemented 2020-06-10 13:22:37 +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
74a21ecbf8 add type variables to SourceMethod 2020-06-09 12:51:43 +01:00
Dave Holoway
252b476147 post-name array qualifiers in method decls 2020-06-09 12:05:25 +01:00
Dave Holoway
74a0339962 add support for post-name array qualifiers in fields and parameters 2020-06-08 22:50:30 +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
261abb9cc7 add support for array qualifiers in type identifiers 2020-06-08 16:02:30 +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
6fd6376dea re-add throws as a keyword 2020-06-08 12:40:39 +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
6ef64b1d9c make default a modifer keyword for interface default method support 2020-06-07 16:22:38 +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
ebc5f73bcc use better regex for string literals 2020-06-07 15:17:54 +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