Skip to content

Proof of Concept: Lambda Method Reference#688

Open
nickl- wants to merge 969 commits intobeanshell:masterfrom
nickl-:poc-method-reference
Open

Proof of Concept: Lambda Method Reference#688
nickl- wants to merge 969 commits intobeanshell:masterfrom
nickl-:poc-method-reference

Conversation

@nickl-
Copy link
Member

@nickl- nickl- commented Jan 5, 2023

As discussed on #675 not RTBC needs work.

opeongo and others added 24 commits December 19, 2022 10:48
Fix the problem with operator precedence (beanshell#590)
Merge of work done at and resolves beanshell#672
Fix issues with block name space cache may help beanshell#655
Fix beanshell#659 methods returning This reference
Fix beanshell#676 with additional tests
Fixes beanshell#508 again commands to exclude namespace overrid
Improve for, enhanced for, while, and try-catch use of block name spaces
Added more debug info for methods, commands and variables
Fixed some generics for class types
Refactored this and super implementations and addressed commented concerns
late binding and block name space cache
Fixes beanshell#421 which originally reported the problems with cloning scripted objects.
Had to deep copy all the contexts and most references to finally be able to produce two independent instances after a clone.
Also completed the existing attempt to implement cloning, and we now return an actual instance instead of just copied This namespace.
Changed block name space cache to Soft references, to preserve most recently used references
Added daemon thread factory, to auto shutdown pool and avoid blocking java vm exit
Handle dereference of cleared reference values which were causing NPEs
Fix reference queue test asserts, correct expected vs actual, and add additional unit test
Null check not required when checking whether to clear block name space.
To release additional resources and when completely done with interpreter. fixes beanshell#413
In BshClassManager change the synchronized collections to use concurrent instead
Fixes beanshell#369 properly handle OutOfMemoryError thrown in try blocks, caught and handled to continue processing data.
Only required a minor name change in our custom code on the lexer, been testing it for 3 days with zero hassles.
Fixes beanshell#498 NPE in TargetError with null cause.
Fixes beanshell#322 /*** ***/ is not a formal comment
Fixes beanshell#536 added 5 new operators ??, ??=, ?:, ?., and <=>
Fixes beanshell#609 obfuscate bsh.Primitive to expose math methods
Fixes beanshell#684 can now cast to type Number from primitive
Fixes beanshell#663 identifier defined array dimensions for parameters
Fixes beanshell#651 avoid NPE on package access property and use null
Support for var keyword tested, appears to work with nothing added.
Added Types get primitive type and isNumeric from class
Auto narrowing and widening of primitives cast added
Detect method signature of widening to BigInteger and BigDecimal as assignable and more specific then Object
Obfuscate bsh.Primitive from script engine
Void was not supposed to make it to here but apparantly it does.
Include the operation flag in the debug output obtained from Node.toString
Avoid a default operation if not set from grammar because int has default value 0
As discussed on beanshell#675 not RTBC needs work.
@codecov

This comment was marked as resolved.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.