Dave Holoway
e84509a072
update changelog and readme
2020-07-03 01:37:13 +01:00
Dave Holoway
6a29651208
add terminate reason to debugger
2020-07-03 00:47:38 +01:00
Dave Holoway
f551a92236
include current time in startup event
2020-07-03 00:19:43 +01:00
Dave Holoway
33daf68649
add basic debugger analytics
2020-07-03 00:15:39 +01:00
Dave Holoway
cc3b995de3
apply statics filter to enum values
2020-07-02 22:42:07 +01:00
Dave Holoway
f2137eb35c
add unqualified type members when inside a method
2020-07-02 22:39:13 +01:00
Dave Holoway
78c8c4ac6a
add file to build script
2020-07-02 21:12:41 +01:00
Dave Holoway
f33cc13ebd
add language server debug config
2020-07-02 19:44:43 +01:00
Dave Holoway
346c4a937b
set empty cache file markers
2020-07-02 19:17:10 +01:00
Dave Holoway
2fd2c001ce
fix dependency versions
2020-07-02 18:58:57 +01:00
Dave Holoway
a902d3daeb
fix dependency versions
2020-07-02 18:27:09 +01:00
Dave Holoway
b5cc60a516
add basic analytics
2020-07-02 18:20:51 +01:00
Dave Holoway
4740f6533a
add mixpanel package
2020-07-02 14:43:26 +01:00
Dave Holoway
92129e4cb0
update version of java-mti
2020-07-02 14:38:34 +01:00
Dave Holoway
f50aaa48aa
add support for loading filtered androidx libraries for code completion
2020-07-02 13:34:47 +01:00
Dave Holoway
7aa04dfc56
update initial file loading to use URIs passed from the client
...
changes to the appSourceRoot now require an extension restart
2020-06-30 18:32:15 +01:00
Dave Holoway
b2eb0c973b
revert @types/vscode
2020-06-30 18:19:19 +01:00
Dave Holoway
27db9f5e3b
reference java-mti package from GitHub
2020-06-30 15:42:19 +01:00
Dave Holoway
279807a4c5
add basic build script
2020-06-30 14:51:07 +01:00
Dave Holoway
ea9a7f1a85
use a specialised map for handling case-insenstive file uris
2020-06-30 14:26:37 +01:00
Dave Holoway
10848b2910
ignore synthetic members in completion list
2020-06-30 14:02:35 +01:00
Dave Holoway
4cd0764a9d
add type name to parameter completion labels
2020-06-30 13:49:53 +01:00
Dave Holoway
dc8098c471
improve support for completion of enum values
2020-06-30 13:48:52 +01:00
Dave Holoway
ad585a8a84
fix some type warnings
2020-06-30 12:40:41 +01:00
Dave Holoway
9fde7bcd9d
code comments and minor improvements
2020-06-30 12:07:01 +01:00
Dave Holoway
3e1bd63330
hide some method modifiers which aren't useful to show
2020-06-30 00:44:23 +01:00
Dave Holoway
7d1d215b79
add support for parsing and validating anonymous types
2020-06-29 23:48:29 +01:00
Dave Holoway
1b2cd957ec
validate more statements
2020-06-29 19:35:19 +01:00
Dave Holoway
2f5ed65461
remove unused ResolvedType class
2020-06-29 16:29:43 +01:00
Dave Holoway
00da3cd2f1
move addproblem into TokenList
2020-06-29 16:24:01 +01:00
Dave Holoway
31f3826971
remove redundant types and functions used by old parser
2020-06-29 16:15:24 +01:00
Dave Holoway
9498888ee6
remove old parser files
2020-06-29 15:54:12 +01:00
Dave Holoway
d74837158a
remove validation modules that used old parser types
2020-06-29 15:50:21 +01:00
Dave Holoway
cd1c360ef0
remove unused field from ResolvedImport
2020-06-29 15:49:04 +01:00
Dave Holoway
61397dab95
clean up import resolving code
2020-06-29 15:45:46 +01:00
Dave Holoway
bdb5986c4b
rename body-parser3 to body-parser
2020-06-29 15:38:43 +01:00
Dave Holoway
acd18e4105
remove debugging pause
2020-06-29 15:26:28 +01:00
Dave Holoway
3dbe1dea3e
get main node install to install langserver dependencies
2020-06-29 15:26:05 +01:00
Dave Holoway
0205a317d9
relocate java-mti package into project
2020-06-29 14:46:27 +01:00
Dave Holoway
3e77b3f1c9
simplify handling of this and class member qualifiers
2020-06-29 14:14:49 +01:00
Dave Holoway
a278237486
add option to allow language server to be shutdown
2020-06-29 12:55:50 +01:00
Dave Holoway
6ca4ea353d
make sure we only try and parse java files
2020-06-29 00:59:55 +01:00
Dave Holoway
4554b8890e
handle java file change notifications
2020-06-29 00:49:10 +01:00
Dave Holoway
2716505a77
ignore unnamed type declarations
2020-06-28 23:30:16 +01:00
Dave Holoway
fed16b22f5
Rename language client extension to Android
2020-06-28 23:04:29 +01:00
Dave Holoway
3a55d3627f
refactoring
2020-06-28 23:03:46 +01:00
Dave Holoway
2ee1c72b6a
handle null token passed to ParseProblem
2020-06-28 21:24:50 +01:00
Dave Holoway
c8311ea2e4
description updates
2020-06-28 21:24:05 +01:00
Dave Holoway
bb1a326768
set configurable trace logging and update section names
2020-06-28 21:05:08 +01:00
Dave Holoway
18049ea08c
allow configurable app root setting
2020-06-28 19:23:39 +01:00
Dave Holoway
113a7379ed
android-29 library cache
2020-06-28 15:37:19 +01:00
Dave Holoway
baabf1e7a9
load single android library cache from local folder
2020-06-28 15:34:27 +01:00
Dave Holoway
71600cf366
cache decoded android library in globalStoragePath
2020-06-27 18:33:13 +01:00
Dave Holoway
a567ea7266
update @types/vscode
2020-06-27 18:28:48 +01:00
Dave Holoway
2c522e38b1
improve extraction of parameter docs
2020-06-27 00:01:19 +01:00
Dave Holoway
8f9bf25e4c
resolve new object contructors
2020-06-26 23:05:59 +01:00
Dave Holoway
edb16c667b
wait for reparsing before returning method signatures
2020-06-26 22:10:21 +01:00
Dave Holoway
c943408613
remove parsed type list logging
2020-06-26 21:36:39 +01:00
Dave Holoway
43dbcb4d47
implement shceduleReparse to reduce parsing load while typing
2020-06-26 21:35:57 +01:00
Dave Holoway
8aaf6a6f0e
add single trace function with timestamps
2020-06-26 17:52:50 +01:00
Dave Holoway
563142661a
add support for displaying method signatures
2020-06-26 17:02:24 +01:00
Dave Holoway
f9a2665364
load and parse files at startup
2020-06-26 11:34:57 +01:00
Dave Holoway
7038bf7090
allow multiple source files to be used in parsing
2020-06-26 10:32:32 +01:00
Dave Holoway
175ce1d644
add support for editing multiple files
2020-06-25 17:16:01 +01:00
Dave Holoway
849c49acb6
fix bad member resolution at end of block
...
fix missing method and type docs
2020-06-25 15:47:12 +01:00
Dave Holoway
cda0810df1
add source types to list
...
hide this and super for non-methods
2020-06-25 15:07:04 +01:00
Dave Holoway
e2765fd982
improve code completion list
...
add method parameters
order list items by scope
2020-06-25 14:43:48 +01:00
Dave Holoway
f67c03bb34
add owning method to statements
...
create common keyword statement class
2020-06-25 11:43:53 +01:00
Dave Holoway
b0a2475696
ensure Object is always last in the list of inherited types
2020-06-25 10:56:02 +01:00
Dave Holoway
69e77eae8a
support member completion for array types
...
improve comment formatting
2020-06-25 10:24:54 +01:00
Dave Holoway
b45314cc95
add support for docs in source types
2020-06-24 23:28:35 +01:00
Dave Holoway
e7e73387aa
add support for field and method docs
2020-06-24 21:26:09 +01:00
Dave Holoway
089d174e08
use exact type signatures for locating types for completion items
2020-06-24 19:55:18 +01:00
Dave Holoway
b70592a0f7
support for member expressions
2020-06-24 17:10:49 +01:00
Dave Holoway
db865825d0
support package, type and static field import completion
2020-06-23 18:57:07 +01:00
Dave Holoway
591907f523
initial test of context-dependant code completion
2020-06-23 17:03:40 +01:00
Dave Holoway
cd6bf29e9f
perform more detailed search of implemented methods
2020-06-23 14:41:20 +01:00
Dave Holoway
ce345965e5
improve support for ternary operators in assignments and method invocations
2020-06-23 11:26:14 +01:00
Dave Holoway
3073dfcd25
fix assert statement checks
2020-06-22 19:56:25 +01:00
Dave Holoway
085f027856
fix return type check
2020-06-22 19:52:13 +01:00
Dave Holoway
56464ef537
add basic type checking of lambda expressions
2020-06-22 19:05:26 +01:00
Dave Holoway
4f0e55a909
add implicit enum methods values() and valueOf()
2020-06-22 15:47:26 +01:00
Dave Holoway
fbb275600a
check castability using type assignments
2020-06-22 14:41:32 +01:00
Dave Holoway
4fc616daa1
ensure tokens are assigned for qualified expressions
2020-06-22 13:03:28 +01:00
Dave Holoway
df210b4659
add checks for unary operators
2020-06-22 11:09:50 +01:00
Dave Holoway
491086a750
remove return type for source constructors
2020-06-21 21:36:56 +01:00
Dave Holoway
43c701adc8
add support for this() and super() constructor calls
2020-06-21 21:29:03 +01:00
Dave Holoway
153a6e869b
improve method call resolving
2020-06-21 18:52:41 +01:00
Dave Holoway
6badc9fdb6
implement method body and ststement validation
2020-06-21 13:47:56 +01:00
Dave Holoway
a034a90735
support package name as a resolved value
2020-06-19 11:08:02 +01:00
Dave Holoway
82e660eabc
improve checking of number literals
2020-06-18 18:39:41 +01:00
Dave Holoway
9be298293f
rename ResolvedType to ResolvedValue
2020-06-18 17:22:17 +01:00
Dave Holoway
7fd7809be3
improve validation of binary operators
2020-06-18 17:12:18 +01:00
Dave Holoway
f4743e456b
validate array indexes
2020-06-18 15:57:30 +01:00
Dave Holoway
1255a15bba
validate array literals
2020-06-18 15:45:34 +01:00
Dave Holoway
f05b34171c
add new array validation
2020-06-18 14:54:12 +01:00
Dave Holoway
d869afe2fa
improve reporting of unresolved identifiers
2020-06-18 13:16:39 +01:00
Dave Holoway
c1f2ccdc4a
allow assigns for assignable type arguments
2020-06-18 12:45:04 +01:00
Dave Holoway
b143772b26
check for valid type in class member expressions
2020-06-18 12:35:21 +01:00
Dave Holoway
0f296379c6
add type cast checking
2020-06-18 12:24:16 +01:00
Dave Holoway
2da127edc0
implement resolveExpression
2020-06-18 11:46:42 +01:00
Dave Holoway
13cdd1e0bc
support token extraction in expressions
2020-06-17 15:37:30 +01:00
Dave Holoway
3c505b05be
remove some parse checks that should be in verify
2020-06-17 13:50:14 +01:00
Dave Holoway
458d8e553e
rename source types module
2020-06-17 13:09:50 +01:00
Dave Holoway
4f62b5a06e
remove Value class, add NewExpression and separate out Any classes
2020-06-17 13:00:04 +01:00
Dave Holoway
b9fd805a6d
extract literals into separate files
2020-06-17 12:14:48 +01:00
Dave Holoway
29e6132cac
fix type warnings
2020-06-17 11:30:20 +01:00
Dave Holoway
d85f49546a
extract statement types into separate files
2020-06-17 11:26:48 +01:00
Dave Holoway
143a31b0c4
extract expression types into separate files
2020-06-17 11:07:57 +01:00
Dave Holoway
1c8eb75b4f
fix resolving imported enclosed types
2020-06-17 00:09:49 +01:00
Dave Holoway
fe28924e0c
parse try-with-resources
2020-06-16 23:47:16 +01:00
Dave Holoway
dc39ae53b1
add hex exponent support
2020-06-16 22:40:55 +01:00
Dave Holoway
9d4e8ab7d0
remove this qualifier from isCastExpression
2020-06-16 22:31:22 +01:00
Dave Holoway
ecf67d44c0
import types from same package
2020-06-16 22:25:58 +01:00
Dave Holoway
198317a5c2
add support for static member imports
2020-06-16 20:22:19 +01:00
Dave Holoway
bccc29251c
allow null scope in findIdentifier
2020-06-16 18:55:14 +01:00
Dave Holoway
e88475dddd
fix bad imports when resolving annotations
2020-06-16 18:51:00 +01:00
Dave Holoway
8df1a3464b
fix resolving of class type variables
2020-06-16 18:50:35 +01:00
Dave Holoway
26e54bba37
update typemap declarations to use CEIType instead of JavaType
2020-06-16 18:21:14 +01:00
Dave Holoway
b61ef125fc
don't report missing constructors if superclass has none
2020-06-16 18:01:32 +01:00
Dave Holoway
6af16cac43
allow empty enums
2020-06-16 17:51:31 +01:00
Dave Holoway
9017752d7b
allow super as a member qualifier
2020-06-16 17:43:59 +01:00
Dave Holoway
58ff585a9d
implement specialisation of SourceType
2020-06-16 17:41:01 +01:00
Dave Holoway
46838686ea
ignore unresolved types in extends/implements
2020-06-16 16:01:21 +01:00
Dave Holoway
9ac6086bad
add support for parsing parameterless lambdas
2020-06-16 15:42:48 +01:00
Dave Holoway
8b71037a58
include enclosing types in identifier search
2020-06-16 15:05:17 +01:00
Dave Holoway
eeb6d7c3d0
allow uppercase 0X in hex literals
2020-06-16 13:58:45 +01:00
Dave Holoway
f74f4b26c6
add support for parsing enum values
2020-06-16 13:57:08 +01:00
Dave Holoway
b050f3a82d
start separating validation from parsing
2020-06-16 12:59:08 +01:00
Dave Holoway
1801a81c0f
allow trailing comma for array literals
2020-06-15 17:30:17 +01:00
Dave Holoway
14582503da
remove local modifier validation during parse
...
add parameter modifier checking to validation
2020-06-15 17:16:39 +01:00
Dave Holoway
4af183e4e1
report errors from unit parsing
2020-06-15 16:58:45 +01:00
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
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
18ff477d34
clear diagnostics when document is closed
2020-06-07 12:58:01 +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
61b787d5ff
update SourceMethod to pass name in super constructor
2020-06-06 11:38:19 +01:00
Dave Holoway
c113e8bee0
add constructor parameters to list of resolvable types
2020-06-05 18:31:32 +01:00
Dave Holoway
ee8f6513bf
add missing constructor validator
2020-06-05 17:56:46 +01:00
Dave Holoway
4ed8411180
add default constructor for class types with no explicit constructors
2020-06-05 17:19:58 +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
Dave Holoway
4f70cb0128
fix || and && not being tokenized as operators
...
allow float literals starting with dot
2020-05-28 17:17:08 +01:00
Dave Holoway
81a608b6da
add support for array-literal expressions
2020-05-27 13:01:31 +01:00
Dave Holoway
ff8cf5b91a
updated validation to use new JavaTypes module instead of MTIs
2020-05-26 18:41:35 +01:00
Dave Holoway
a46474c3c2
fix parsing of binary operstors following a bracket expression
2020-05-23 13:22:01 +01:00
Dave Holoway
23dc6d3871
different attempt to parse using collapsable text
...
ranges
2020-05-23 13:20:51 +01:00
Dave Holoway
bdc5b1d4cd
add basic support for parsing new expressions
2020-05-18 15:04:19 +01:00
Dave Holoway
25a6ace1e4
add support for prefix/postfix inc expressions
2020-05-18 13:11:38 +01:00
Dave Holoway
66cee87685
first iteration of method body parser
2020-05-18 13:10:45 +01:00
Dave Holoway
79bba76b9f
first hacky version of source parsing and type checking
2020-05-16 16:59:58 +01:00
Dave Holoway
3156a2ddc2
initial working language server
2020-04-30 11:38:15 +01:00