version 1.2 #67

Closed
opened 2025-08-09 17:13:13 +00:00 by fergalmoran · 0 comments
Owner

Originally created by @adelphes on 7/3/2020

Beta release of Java Intellisense.

  • update changelog and readme
  • add terminate reason to debugger
  • include current time in startup event
  • add basic debugger analytics
  • apply statics filter to enum values
  • add unqualified type members when inside a method
  • add file to build script
  • add language server debug config
  • set empty cache file markers
  • fix dependency versions
  • fix dependency versions
  • add basic analytics
  • add mixpanel package
  • update version of java-mti
  • add support for loading filtered androidx libraries for code completion
  • update initial file loading to use URIs passed from the client changes to the appSourceRoot now require an extension restart
  • revert @types/vscode
  • reference java-mti package from GitHub
  • add basic build script
  • use a specialised map for handling case-insenstive file uris
  • ignore synthetic members in completion list
  • add type name to parameter completion labels
  • improve support for completion of enum values
  • fix some type warnings
  • code comments and minor improvements
  • hide some method modifiers which aren't useful to show
  • add support for parsing and validating anonymous types
  • validate more statements
  • remove unused ResolvedType class
  • move addproblem into TokenList
  • remove redundant types and functions used by old parser
  • remove old parser files
  • remove validation modules that used old parser types
  • remove unused field from ResolvedImport
  • clean up import resolving code
  • rename body-parser3 to body-parser
  • remove debugging pause
  • get main node install to install langserver dependencies
  • relocate java-mti package into project
  • simplify handling of this and class member qualifiers
  • add option to allow language server to be shutdown
  • make sure we only try and parse java files
  • handle java file change notifications
  • ignore unnamed type declarations
  • Rename language client extension to Android
  • refactoring
  • handle null token passed to ParseProblem
  • description updates
  • set configurable trace logging and update section names
  • allow configurable app root setting
  • android-29 library cache
  • load single android library cache from local folder
  • cache decoded android library in globalStoragePath
  • update @types/vscode
  • improve extraction of parameter docs
  • resolve new object contructors
  • wait for reparsing before returning method signatures
  • remove parsed type list logging
  • implement shceduleReparse to reduce parsing load while typing
  • add single trace function with timestamps
  • add support for displaying method signatures
  • load and parse files at startup
  • allow multiple source files to be used in parsing
  • add support for editing multiple files
  • fix bad member resolution at end of block fix missing method and type docs
  • add source types to list hide this and super for non-methods
  • improve code completion list add method parameters order list items by scope
  • add owning method to statements create common keyword statement class
  • ensure Object is always last in the list of inherited types
  • support member completion for array types improve comment formatting
  • add support for docs in source types
  • add support for field and method docs
  • use exact type signatures for locating types for completion items
  • support for member expressions
  • support package, type and static field import completion
  • initial test of context-dependant code completion
  • perform more detailed search of implemented methods
  • improve support for ternary operators in assignments and method invocations
  • fix assert statement checks
  • fix return type check
  • add basic type checking of lambda expressions
  • add implicit enum methods values() and valueOf()
  • check castability using type assignments
  • ensure tokens are assigned for qualified expressions
  • add checks for unary operators
  • remove return type for source constructors
  • add support for this() and super() constructor calls
  • improve method call resolving
  • implement method body and ststement validation
  • support package name as a resolved value
  • improve checking of number literals
  • rename ResolvedType to ResolvedValue
  • improve validation of binary operators
  • validate array indexes
  • validate array literals
  • add new array validation
  • improve reporting of unresolved identifiers
  • allow assigns for assignable type arguments
  • check for valid type in class member expressions
  • add type cast checking
  • implement resolveExpression
  • support token extraction in expressions
  • remove some parse checks that should be in verify
  • rename source types module
  • remove Value class, add NewExpression and separate out Any classes
  • extract literals into separate files
  • fix type warnings
  • extract statement types into separate files
  • extract expression types into separate files
  • fix resolving imported enclosed types
  • parse try-with-resources
  • add hex exponent support
  • remove this qualifier from isCastExpression
  • import types from same package
  • add support for static member imports
  • allow null scope in findIdentifier
  • fix bad imports when resolving annotations
  • fix resolving of class type variables
  • update typemap declarations to use CEIType instead of JavaType
  • don't report missing constructors if superclass has none
  • allow empty enums
  • allow super as a member qualifier
  • implement specialisation of SourceType
  • ignore unresolved types in extends/implements
  • add support for parsing parameterless lambdas
  • include enclosing types in identifier search
  • allow uppercase 0X in hex literals
  • add support for parsing enum values
  • start separating validation from parsing
  • allow trailing comma for array literals
  • remove local modifier validation during parse add parameter modifier checking to validation
  • report errors from unit parsing
  • fix checking of array literal compatability
  • fix support for resolving type variables in method declarations
  • generate source types before parsing
  • replace regex parsing with linear parsing
  • refactor to allow expressions to have a type scope
  • update to use new set of SourceX classes
  • initial changes to support local type declarations
  • replace Locals with scopeable MethodDeclarations to allow labels and types to be stored
  • refactor in preparation for parsing local types
  • add missng strictfp modifier
  • fix type checking of field and method declarations
  • improve reporting of unresolved type errors
  • improve modifier checks for interface types
  • add support for generic inferred-type arguments
  • refactor new term qualifiers
  • parse labels and break/continue targets
  • improve assert statement support
  • update isCallCompatible to handle variable arity calls
  • tidy array constructors and fix some warnings
  • make variable arity parameters an array type
  • don't require default interface methods to be implemented
  • specialise methods with type variables
  • initial attempt to support type variable arguments in methods
  • add type variables to SourceMethod
  • post-name array qualifiers in method decls
  • add support for post-name array qualifiers in fields and parameters
  • update ResolvableType to use same type resolving as method body parsing
  • pass scoped type instead of method to typeIdent
  • add support for array qualifiers in type identifiers
  • refactor to prepare for merging with type parsing
  • add SourceInitialiser support
  • treat default and synchronized as modifiers
  • re-add throws as a keyword
  • reuse parsed tokens instead of tokenizing each method body
  • make type parser and body parser use same tokenizer
  • allow unicode char literals
  • support assert statement
  • map primitive types to their boxed versions for class member
  • allow unicode characters, $ and _ in identifiers
  • allow generic types to be assigned to inherited types with compatible type arguments
  • fix parse issue with nested generic types
  • initial support for wildcard type arguments
  • make default a modifer keyword for interface default method support
  • improve invalid array expression message add AnyType array element to prevent cascading errors
  • make sure any long specifier is stripped from a bigint value
  • add support for array qualifiers after a variable name
  • allow character literals to be assigned to number types
  • use better regex for string literals
  • allow null to be cast to any non-primitve
  • update primitive type compatibility
  • add support for synchronized statement
  • allow all primitive-number-type casts
  • casting only applies to qualified term not a whole expression
  • update check for cast expression
  • clear diagnostics when document is closed
  • add support for literal numbers to be assignable to multiple primtive types
  • split shift operators from bitwise operators
  • allow AnyValue to be a constant value
  • use isTypeAssignable for checking branch test expressions
  • allow interfaces to be cast to class instances
  • add more info when methods/ctrs cannot be matched
  • tidy up isTypeAssignable allow class equivilents for primitives
  • update method call parameter checking use isTypeAssignable instead of getParameterCompatibleTypeSignatures
  • add Any* classes to reduce cascading errors
  • update SourceMethod to pass name in super constructor
  • add constructor parameters to list of resolvable types
  • add missing constructor validator
  • add default constructor for class types with no explicit constructors
  • Fix resolving of enclosed type identifiers
  • fix assignment operator types
  • fix interface constructors check constructor type modifiers
  • add super as an object literal
  • add new method body parser to use direct linear parsing
  • fix || and && not being tokenized as operators allow float literals starting with dot
  • add support for array-literal expressions
  • updated validation to use new JavaTypes module instead of MTIs
  • fix parsing of binary operstors following a bracket expression
  • different attempt to parse using collapsable text ranges
  • add basic support for parsing new expressions
  • add support for prefix/postfix inc expressions
  • first iteration of method body parser
  • first hacky version of source parsing and type checking
  • initial working language server
*Originally created by @adelphes on 7/3/2020* Beta release of Java Intellisense. * update changelog and readme * add terminate reason to debugger * include current time in startup event * add basic debugger analytics * apply statics filter to enum values * add unqualified type members when inside a method * add file to build script * add language server debug config * set empty cache file markers * fix dependency versions * fix dependency versions * add basic analytics * add mixpanel package * update version of java-mti * add support for loading filtered androidx libraries for code completion * update initial file loading to use URIs passed from the client changes to the appSourceRoot now require an extension restart * revert @types/vscode * reference java-mti package from GitHub * add basic build script * use a specialised map for handling case-insenstive file uris * ignore synthetic members in completion list * add type name to parameter completion labels * improve support for completion of enum values * fix some type warnings * code comments and minor improvements * hide some method modifiers which aren't useful to show * add support for parsing and validating anonymous types * validate more statements * remove unused ResolvedType class * move addproblem into TokenList * remove redundant types and functions used by old parser * remove old parser files * remove validation modules that used old parser types * remove unused field from ResolvedImport * clean up import resolving code * rename body-parser3 to body-parser * remove debugging pause * get main node install to install langserver dependencies * relocate java-mti package into project * simplify handling of this and class member qualifiers * add option to allow language server to be shutdown * make sure we only try and parse java files * handle java file change notifications * ignore unnamed type declarations * Rename language client extension to Android * refactoring * handle null token passed to ParseProblem * description updates * set configurable trace logging and update section names * allow configurable app root setting * android-29 library cache * load single android library cache from local folder * cache decoded android library in globalStoragePath * update @types/vscode * improve extraction of parameter docs * resolve new object contructors * wait for reparsing before returning method signatures * remove parsed type list logging * implement shceduleReparse to reduce parsing load while typing * add single trace function with timestamps * add support for displaying method signatures * load and parse files at startup * allow multiple source files to be used in parsing * add support for editing multiple files * fix bad member resolution at end of block fix missing method and type docs * add source types to list hide this and super for non-methods * improve code completion list add method parameters order list items by scope * add owning method to statements create common keyword statement class * ensure Object is always last in the list of inherited types * support member completion for array types improve comment formatting * add support for docs in source types * add support for field and method docs * use exact type signatures for locating types for completion items * support for member expressions * support package, type and static field import completion * initial test of context-dependant code completion * perform more detailed search of implemented methods * improve support for ternary operators in assignments and method invocations * fix assert statement checks * fix return type check * add basic type checking of lambda expressions * add implicit enum methods values() and valueOf() * check castability using type assignments * ensure tokens are assigned for qualified expressions * add checks for unary operators * remove return type for source constructors * add support for this() and super() constructor calls * improve method call resolving * implement method body and ststement validation * support package name as a resolved value * improve checking of number literals * rename ResolvedType to ResolvedValue * improve validation of binary operators * validate array indexes * validate array literals * add new array validation * improve reporting of unresolved identifiers * allow assigns for assignable type arguments * check for valid type in class member expressions * add type cast checking * implement resolveExpression * support token extraction in expressions * remove some parse checks that should be in verify * rename source types module * remove Value class, add NewExpression and separate out Any classes * extract literals into separate files * fix type warnings * extract statement types into separate files * extract expression types into separate files * fix resolving imported enclosed types * parse try-with-resources * add hex exponent support * remove this qualifier from isCastExpression * import types from same package * add support for static member imports * allow null scope in findIdentifier * fix bad imports when resolving annotations * fix resolving of class type variables * update typemap declarations to use CEIType instead of JavaType * don't report missing constructors if superclass has none * allow empty enums * allow super as a member qualifier * implement specialisation of SourceType * ignore unresolved types in extends/implements * add support for parsing parameterless lambdas * include enclosing types in identifier search * allow uppercase 0X in hex literals * add support for parsing enum values * start separating validation from parsing * allow trailing comma for array literals * remove local modifier validation during parse add parameter modifier checking to validation * report errors from unit parsing * fix checking of array literal compatability * fix support for resolving type variables in method declarations * generate source types before parsing * replace regex parsing with linear parsing * refactor to allow expressions to have a type scope * update to use new set of SourceX classes * initial changes to support local type declarations * replace Locals with scopeable MethodDeclarations to allow labels and types to be stored * refactor in preparation for parsing local types * add missng strictfp modifier * fix type checking of field and method declarations * improve reporting of unresolved type errors * improve modifier checks for interface types * add support for generic inferred-type arguments * refactor new term qualifiers * parse labels and break/continue targets * improve assert statement support * update isCallCompatible to handle variable arity calls * tidy array constructors and fix some warnings * make variable arity parameters an array type * don't require default interface methods to be implemented * specialise methods with type variables * initial attempt to support type variable arguments in methods * add type variables to SourceMethod * post-name array qualifiers in method decls * add support for post-name array qualifiers in fields and parameters * update ResolvableType to use same type resolving as method body parsing * pass scoped type instead of method to typeIdent * add support for array qualifiers in type identifiers * refactor to prepare for merging with type parsing * add SourceInitialiser support * treat default and synchronized as modifiers * re-add throws as a keyword * reuse parsed tokens instead of tokenizing each method body * make type parser and body parser use same tokenizer * allow unicode char literals * support assert statement * map primitive types to their boxed versions for class member * allow unicode characters, $ and _ in identifiers * allow generic types to be assigned to inherited types with compatible type arguments * fix parse issue with nested generic types * initial support for wildcard type arguments * make default a modifer keyword for interface default method support * improve invalid array expression message add AnyType array element to prevent cascading errors * make sure any long specifier is stripped from a bigint value * add support for array qualifiers after a variable name * allow character literals to be assigned to number types * use better regex for string literals * allow null to be cast to any non-primitve * update primitive type compatibility * add support for synchronized statement * allow all primitive-number-type casts * casting only applies to qualified term not a whole expression * update check for cast expression * clear diagnostics when document is closed * add support for literal numbers to be assignable to multiple primtive types * split shift operators from bitwise operators * allow AnyValue to be a constant value * use isTypeAssignable for checking branch test expressions * allow interfaces to be cast to class instances * add more info when methods/ctrs cannot be matched * tidy up isTypeAssignable allow class equivilents for primitives * update method call parameter checking use isTypeAssignable instead of getParameterCompatibleTypeSignatures * add Any* classes to reduce cascading errors * update SourceMethod to pass name in super constructor * add constructor parameters to list of resolvable types * add missing constructor validator * add default constructor for class types with no explicit constructors * Fix resolving of enclosed type identifiers * fix assignment operator types * fix interface constructors check constructor type modifiers * add super as an object literal * add new method body parser to use direct linear parsing * fix || and && not being tokenized as operators allow float literals starting with dot * add support for array-literal expressions * updated validation to use new JavaTypes module instead of MTIs * fix parsing of binary operstors following a bracket expression * different attempt to parse using collapsable text ranges * add basic support for parsing new expressions * add support for prefix/postfix inc expressions * first iteration of method body parser * first hacky version of source parsing and type checking * initial working language server
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github/android-dev-ext#67
No description provided.