-
Notifications
You must be signed in to change notification settings - Fork 183
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add 'setClassLoader' with argument 'forceClassLoader' #570
base: master
Are you sure you want to change the base?
Commits on Mar 19, 2019
-
Implement JDK7 number literal additions.
* implement the JDK7, aka project coin, number literal additions * add binary number literals ex. 0b010101 * correctly parsing and processing underscores in numeric literals
Configuration menu - View commit details
-
Copy full SHA for 6af9711 - Browse repository at this point
Copy the full SHA 6af9711View commit details -
Fix concurrency issues with pullBshStatic lazy initialisation.
WeakHashMap would either loose or not correctly set the namespace in multi thread conditions. Instead lets use ConcurrentHashMap and manually remove the entries on retrieval.
Configuration menu - View commit details
-
Copy full SHA for 08ee11e - Browse repository at this point
Copy the full SHA 08ee11eView commit details -
Configuration menu - View commit details
-
Copy full SHA for d7dd857 - Browse repository at this point
Copy the full SHA d7dd857View commit details -
Removed in favour of JSR223 support. BSF engine moved to external module bsh-bsf-engine for anyone that might still require it.
Configuration menu - View commit details
-
Copy full SHA for 600fcde - Browse repository at this point
Copy the full SHA 600fcdeView commit details -
Configuration menu - View commit details
-
Copy full SHA for 41af76b - Browse repository at this point
Copy the full SHA 41af76bView commit details -
Configuration menu - View commit details
-
Copy full SHA for cd5b54d - Browse repository at this point
Copy the full SHA cd5b54dView commit details -
The field attribute is not serializable so when writing object we drop the field and retain the declared class, when needed again we fetch the field from the class again.
Configuration menu - View commit details
-
Copy full SHA for cff58ca - Browse repository at this point
Copy the full SHA cff58caView commit details -
* test is successful if we remove the assert(false); * removed additional junit test not required * remove as known issue
Configuration menu - View commit details
-
Copy full SHA for df0db64 - Browse repository at this point
Copy the full SHA df0db64View commit details -
* rename to BshScriptTestCase and inner class TestBshScript to Script * add Script constructor for String filename in test script folder * simplify setting interpreter "bsh.cwd" variable * properly allow Fail.bsh to fail and assert expected error * add ability to skip tests based on assumptions
Configuration menu - View commit details
-
Copy full SHA for 42aca72 - Browse repository at this point
Copy the full SHA 42aca72View commit details -
Skip accessibility tests if haveAccessibility false.
We'll assume we haveAccessibility before attempting to test illegal access, this will skip these tests if accessibility=false (default)
Configuration menu - View commit details
-
Copy full SHA for 6c6e704 - Browse repository at this point
Copy the full SHA 6c6e704View commit details -
In some cases static imports were failing now we look for the class first before leaving it to Name to try and resolve.
Configuration menu - View commit details
-
Copy full SHA for 9627f3a - Browse repository at this point
Copy the full SHA 9627f3aView commit details -
Pass tests with accessibility=true
Even with setAccessible package private constructors and methods were failing, we now make constructors and methods without modifiers public and super delegates are public by default as they will have any additional modifiers applied when calling the super method.
Configuration menu - View commit details
-
Copy full SHA for d9433d7 - Browse repository at this point
Copy the full SHA d9433d7View commit details -
Java 9 and 10 with --illegal-access=deny pass
JDK8+ does not have rt.jar anymore so we just add an empty boot class path. load command does not need to setAccessible anymore. compile and run tests with accessibility=false (default) now succeeds with --illegal-access=deny with Java 9 or Java 10
Configuration menu - View commit details
-
Copy full SHA for 52ab72f - Browse repository at this point
Copy the full SHA 52ab72fView commit details -
Fix classinner.bsh and remove know issue flag
It is not clear what was originally intended with this script it fails for lack of a default constructor on the anonymous class. The current state of anonymous class capability is uncertain and since this is called classinner and not classanonymous I added something more appropriate to test for. Grouped some more scripts with the InnerClassTest test case for reference.
Configuration menu - View commit details
-
Copy full SHA for 60afa06 - Browse repository at this point
Copy the full SHA 60afa06View commit details -
Fix externalNameSpace.bsh and remove known issue
This test was failing on the if statement Capabilities.classExists("bsh.ExternalNameSpace") for some reason. Added a static import and changed the if block to an assume and all the asserts passed. Refactored the test to use junit asserts seemed more appropriate.
Configuration menu - View commit details
-
Copy full SHA for f72067a - Browse repository at this point
Copy the full SHA f72067aView commit details -
Update modules and reformat pom.xml
* removed some commented lines * ph-javacc-maven-plugin version 4.x uses the new javacc fork ParserGeneratorCC see https://github.com/phax/ParserGeneratorCC * TokenMgrError was made redundant by ParserGeneratorCC so we remove it as well * added bsh.debugClasses as a system property for specifying the location to save generated class files.
Configuration menu - View commit details
-
Copy full SHA for 4025f46 - Browse repository at this point
Copy the full SHA 4025f46View commit details -
Fix find most specific signature
* for null type we give preference to String, then most specific non primitive which is not an array, then arrays * less specific is assignable by most specific unless signature is a match * improved varargs matching no argument or null type as vararg * known issue RefectTest.findMostSpecificSignature elaborated and resolved
Configuration menu - View commit details
-
Copy full SHA for fe48585 - Browse repository at this point
Copy the full SHA fe48585View commit details -
Refactor TestUtil and rename issue_XX tests.
* added some reusability improvements to testUtil * renamed and redistributed issue_XX tests to more intuitive names.
Configuration menu - View commit details
-
Copy full SHA for 7b02565 - Browse repository at this point
Copy the full SHA 7b02565View commit details -
Collected from generically named unit tests.
Configuration menu - View commit details
-
Copy full SHA for a5c48ca - Browse repository at this point
Copy the full SHA a5c48caView commit details -
Configuration menu - View commit details
-
Copy full SHA for 98c4c97 - Browse repository at this point
Copy the full SHA 98c4c97View commit details -
Rename Project_Coin_Test to StatementsTest
Only contains the switch string statement now.
Configuration menu - View commit details
-
Copy full SHA for bc172a6 - Browse repository at this point
Copy the full SHA bc172a6View commit details -
Configuration menu - View commit details
-
Copy full SHA for f6b5d18 - Browse repository at this point
Copy the full SHA f6b5d18View commit details -
implemented try-with-resources
* added new grammar for try TryWithResources and AutoCloseable * implemented BSHAutoCloseable as a subclass of BSHTypedVariableDeclaration to reuse the variable evaluation. * BSHTryWithResources acts as the collection of resources and interface for evaluating and closing the resources. * added a lookup for 1st Block node to BSHTryStatement to avoid the use of magic numbers * on eval start if the 1st Node is TryWithResources we keep a reference and call eval which will create the variables in the namespace in callstack * in the finally block of the try block evaluation, if we have a reference to BSHTryWithResources we auto close, which ensures that all resources are closed. * suppressed on close exceptions will be collected in the target exception from the try block
Configuration menu - View commit details
-
Copy full SHA for f4ddf91 - Browse repository at this point
Copy the full SHA f4ddf91View commit details -
Infer wrapped method missing items
* Infer a collection of parameter names and set a collection of parameter modifiers for the BshMethod wrapped java.reflect.Method delegation.
Configuration menu - View commit details
-
Copy full SHA for 1243402 - Browse repository at this point
Copy the full SHA 1243402View commit details -
Fix try-with-resources for Java 9/10
Java 9/10 handles the close exceptions differently to JDK 8, with the latter the exceptions thrown on close are the same instance as the target exception with suppressed exception already collected. With the newer versions you have to add the suppressions manually.
Configuration menu - View commit details
-
Copy full SHA for 569b6f9 - Browse repository at this point
Copy the full SHA 569b6f9View commit details -
* add grammar to parse multi catch * implement evaluation of catch block with a list of types * improve check assignability to avoid the previous try fail catch continue manoeuvres * enable ability to throw throwable and subtypes - previously limited to exception types only * added some simple multi catch tests
Configuration menu - View commit details
-
Copy full SHA for 74f3359 - Browse repository at this point
Copy the full SHA 74f3359View commit details -
Ensure that members have modifiers on node.
We are loosing state because some nodes don't have modifiers.
Configuration menu - View commit details
-
Copy full SHA for 2e1904a - Browse repository at this point
Copy the full SHA 2e1904aView commit details -
* remove redundant use of token variables * remove redundant comments * some styling ease of readability
Configuration menu - View commit details
-
Copy full SHA for 0b7a318 - Browse repository at this point
Copy the full SHA 0b7a318View commit details -
Improved no access modifier is public implementation.
default behaviour ,regardless of accessibility, if no access modifiers (or package private) bsh default is public visibility
Configuration menu - View commit details
-
Copy full SHA for 892d635 - Browse repository at this point
Copy the full SHA 892d635View commit details -
Abstract methods implemented validation and inheritance rules.
* validate abstract methods are implemented or class declared abstract * bsh classes are virtual abstract only or iow abstract classes can be instantiated * apply inheritance rules overridden methods may not reduce visibility
Configuration menu - View commit details
-
Copy full SHA for f4d7a9b - Browse repository at this point
Copy the full SHA f4d7a9bView commit details -
Implement interface methods (default and static)
* added grammar to parse default as modifier not to be confused with default: as switch token * implement interface static methods, only accessible on interface * implement interface default methods, inherited by class, overridden by class or interface extends, accessible as class instance method * added interface methods unit tests
Configuration menu - View commit details
-
Copy full SHA for 47f1673 - Browse repository at this point
Copy the full SHA 47f1673View commit details -
* added option to test evalError contains message * some modifications utilising new junit asserts
Configuration menu - View commit details
-
Copy full SHA for 8c00c93 - Browse repository at this point
Copy the full SHA 8c00c93View commit details -
Fix calling overridden method from child instance
* correct preference for choosing overridden method based on class hierarchy * fix bug loosing correctly chosen class method * fix initialise class instance This and instance init for calling overridden method from super constructor * fix inherit loose-typed class instance fields * added new tests and unmarked the last known issues as working
Configuration menu - View commit details
-
Copy full SHA for cb92ca2 - Browse repository at this point
Copy the full SHA cb92ca2View commit details -
Ignore null class path component
* improved handling of no rt.jar availability
Configuration menu - View commit details
-
Copy full SHA for a1c0492 - Browse repository at this point
Copy the full SHA a1c0492View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1e9549c - Browse repository at this point
Copy the full SHA 1e9549cView commit details -
props.bsh trhows java.awt.HeadlessException
remove reference to java,awt.Button.
Configuration menu - View commit details
-
Copy full SHA for d6f4397 - Browse repository at this point
Copy the full SHA d6f4397View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7e07233 - Browse repository at this point
Copy the full SHA 7e07233View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1079078 - Browse repository at this point
Copy the full SHA 1079078View commit details -
Configuration menu - View commit details
-
Copy full SHA for f5f2648 - Browse repository at this point
Copy the full SHA f5f2648View commit details -
performance enhancement grammar parser beanshell#67
* as reported by @daudich issue beanshell#67 * nested instantiations caused long parsing time due to excessive syntactic lookahead * modified grammar and applied changes to the node parsing * added unit test performance down from 10s to 0.5s
Configuration menu - View commit details
-
Copy full SHA for 3e60261 - Browse repository at this point
Copy the full SHA 3e60261View commit details -
Configuration menu - View commit details
-
Copy full SHA for 010e797 - Browse repository at this point
Copy the full SHA 010e797View commit details -
Collect fields and retain variable virtual modifiers.
* Once the class has been generated fields will be referenced from the class, doing it here retains the modifiers state.
Configuration menu - View commit details
-
Copy full SHA for 853b55b - Browse repository at this point
Copy the full SHA 853b55bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8c58ca4 - Browse repository at this point
Copy the full SHA 8c58ca4View commit details -
Implement jrt:/java.base class path for Java 9+
* find classes in module java.base via jrtfs file system * modified jar search for rt.jar via file system provider
Configuration menu - View commit details
-
Copy full SHA for b60abf9 - Browse repository at this point
Copy the full SHA b60abf9View commit details -
Add auto-closable validation test for try with resources.
* added unit test for auto closable validation check ensuring that try with resources implement autoclosable. * minor tweaks to try with resources implementation
Configuration menu - View commit details
-
Copy full SHA for d471d96 - Browse repository at this point
Copy the full SHA d471d96View commit details -
Interpreter release resources and script engine enhancements.
* made it possible to release interpreter resources by implementing autocloseable with the ability to close in, out, err resources. * added additional tests for script engine with enhancements and code cleanup of the implementation * added default UTF-8 character encoding support for the WriterOutputStream wrapper class * improved script context engine view map wrapper and reduced duplication * removed impossible exception catches from script engine
Configuration menu - View commit details
-
Copy full SHA for 3cb0f60 - Browse repository at this point
Copy the full SHA 3cb0f60View commit details -
Configuration menu - View commit details
-
Copy full SHA for 912f362 - Browse repository at this point
Copy the full SHA 912f362View commit details -
* address all resource leak warnings and appropriately close and release Closable resources
Configuration menu - View commit details
-
Copy full SHA for 95b52ff - Browse repository at this point
Copy the full SHA 95b52ffView commit details -
Configuration menu - View commit details
-
Copy full SHA for 5c1d1a2 - Browse repository at this point
Copy the full SHA 5c1d1a2View commit details -
Caused some false positives with the truthy returns, instead look for falsy.
Configuration menu - View commit details
-
Copy full SHA for ffeac7e - Browse repository at this point
Copy the full SHA ffeac7eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8d96a57 - Browse repository at this point
Copy the full SHA 8d96a57View commit details -
* Implemented BigInteger and BigDecimal * coerce number narrowing within range while maintaining type safety * fixed illegal assignment of value pre cast exception * refactored Primitives * implemented all operators with unit tests * add power ** and power assign **= operators * improved number operations and assignments * refactored number literal parsing
Configuration menu - View commit details
-
Copy full SHA for a080d02 - Browse repository at this point
Copy the full SHA a080d02View commit details -
* added a typeString method to get the type from a value, checking null, Primitive and class name. * added another methodString function to build method from value args.
Configuration menu - View commit details
-
Copy full SHA for b068641 - Browse repository at this point
Copy the full SHA b068641View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1c1f370 - Browse repository at this point
Copy the full SHA 1c1f370View commit details -
Configuration menu - View commit details
-
Copy full SHA for 590a888 - Browse repository at this point
Copy the full SHA 590a888View commit details -
Consider Thread.interrupted for infinite loops
By taking regard of the state of Thread.interrupted() loops can recover quicker if their threads were interrupted. Also let interpreter assume it was restarted if it is interactive and has a parent there's no need to print the banner again.
Configuration menu - View commit details
-
Copy full SHA for 10a9136 - Browse repository at this point
Copy the full SHA 10a9136View commit details -
make check abstract method implementation strictJava
being able to implement interfaces without implementing abstract methods could be considered a language feature, lets only enforce abstract method implementation validation when strict java is enabled
Configuration menu - View commit details
-
Copy full SHA for e5796e9 - Browse repository at this point
Copy the full SHA e5796e9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 009c831 - Browse repository at this point
Copy the full SHA 009c831View commit details -
Fixes octal literals as per beanshell#25
* incorrectly processed strings with octal number length == 3 and chr(0) > 3, should revert to number length == 2 * ensure char octal <= 255 as larger numbers than 377 may produce valid chars * added unit tests for proving beanshell#25
Configuration menu - View commit details
-
Copy full SHA for 120e0ee - Browse repository at this point
Copy the full SHA 120e0eeView commit details -
Improve Capabilities.classExists as per beanshell#28
* classes now referenced by name * check if name exists and prevent additional class not found exceptions * complete code coverage for capabilities
Configuration menu - View commit details
-
Copy full SHA for 8e7238e - Browse repository at this point
Copy the full SHA 8e7238eView commit details -
- added more history including beanshell2 for - add development roadmap - added projects using beanshell
Configuration menu - View commit details
-
Copy full SHA for 0d2e9a0 - Browse repository at this point
Copy the full SHA 0d2e9a0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1a042b7 - Browse repository at this point
Copy the full SHA 1a042b7View commit details -
StringUtil value and type string improvements
use StringBuilder wrap String values in double quotes and char values in single quotes use simple names for java.lang classes use simple names for BigInteger and BigDecimal
Configuration menu - View commit details
-
Copy full SHA for 0782ae0 - Browse repository at this point
Copy the full SHA 0782ae0View commit details -
Configuration menu - View commit details
-
Copy full SHA for a26942b - Browse repository at this point
Copy the full SHA a26942bView commit details -
Relax static interface method restrictions.
Make enforcing static interface method accessible on declaring interface class only, strict java
Configuration menu - View commit details
-
Copy full SHA for 632e36c - Browse repository at this point
Copy the full SHA 632e36cView commit details -
Numeric Types Round Two beanshell#71
* Apply additional type suffixes as follows * * byte (octet) o or O * * short s or S * * int i or I * * long l or L * * BigInteger w or W * * float f or F * * double d or D * * BigDecimal w or W * Protect type overflow when casting, allow casting wrapper types, apply default value to wrapper types initialise default value in wrapper type arrays. * Added chars identifiable as number with all the casting magic, overflow protection and goodness. * bytes have been extended to allow unsigned 0 to 255 or 0xFF as max value and -128 as min value. Cast byte to int assumes toUnsignedInt automagically, -1 becomes 255, -127 becomes 129 etc. * fixed numeric type comparison, new BigInteger("5") == 5.0f or Long.valueOf(10) == Byte.valueOf(10o) etc. * added scratch variables, 10 variables named $0 to $9 are automatically assigned the last return value, improved show results prompt. * StringUtils extended to decorate the numeric type values with type suffixes and handle multi dimensional arrays.
2Configuration menu - View commit details
-
Copy full SHA for 885936b - Browse repository at this point
Copy the full SHA 885936bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 356ea9a - Browse repository at this point
Copy the full SHA 356ea9aView commit details -
update UndeclaredThrowable use was replaced by getCause update exception message wording
Configuration menu - View commit details
-
Copy full SHA for bd4f86f - Browse repository at this point
Copy the full SHA bd4f86fView commit details -
Configuration menu - View commit details
-
Copy full SHA for f00e9ba - Browse repository at this point
Copy the full SHA f00e9baView commit details -
Configuration menu - View commit details
-
Copy full SHA for 9f64f28 - Browse repository at this point
Copy the full SHA 9f64f28View commit details -
Enum type support v1.0 see beanshell#80 for more details
includes support for switching enums as requested beanshell#31
Configuration menu - View commit details
-
Copy full SHA for 7d2a9a9 - Browse repository at this point
Copy the full SHA 7d2a9a9View commit details -
Refactor ClassGeneratorUtil which was getting big
Moved all the generated class runtime support methods to This.class, seems more appropriate. Nothing added or removed in this commit.
Configuration menu - View commit details
-
Copy full SHA for 626c882 - Browse repository at this point
Copy the full SHA 626c882View commit details -
Prevent EOF Parser Error in interactive mode.
as per stefanofornari/BshConsole#2 EOF parser exception can only occur in interactive mode when interpreter is interrupted (Ctrl+C) during multi line input, since this was a user decision there is no point complaining about it.
Configuration menu - View commit details
-
Copy full SHA for 8cceaa9 - Browse repository at this point
Copy the full SHA 8cceaa9View commit details -
Interpreter: remove legacy work arounds.
Since we are minimum JDK 1.8 and with modern javacc these legacy work arounds are not required anymore.
Configuration menu - View commit details
-
Copy full SHA for bfecf79 - Browse repository at this point
Copy the full SHA bfecf79View commit details -
Fix unwrapping nested target errors beanshell#78
Target errors nested were not properly unwrapped. Removed the need for referencing both target and thrown and other small clean ups.
Configuration menu - View commit details
-
Copy full SHA for 92cdb5c - Browse repository at this point
Copy the full SHA 92cdb5cView commit details -
Running on Windows fix tests beanshell#24
Fixed 1 test asserting for \n but translated to windows \r this is now trimmed before compare Mark 1 test as known issue unicode comparison failed Can now successfully compile and run Tested on Windows 10 with both JDK 1.8 and Java 10
Configuration menu - View commit details
-
Copy full SHA for a0bfdfe - Browse repository at this point
Copy the full SHA a0bfdfeView commit details -
Fix unicode test for Windows beanshell#24
Ensure that we are comparing apples with apples.
Configuration menu - View commit details
-
Copy full SHA for 8333371 - Browse repository at this point
Copy the full SHA 8333371View commit details -
Add some BshClassPathTests beanshell#24
Tests for BshClassPath coverage and to ensure rt.jar or equivalent gets loaded.
Configuration menu - View commit details
-
Copy full SHA for 75e4d9f - Browse repository at this point
Copy the full SHA 75e4d9fView commit details -
Interpreter remove legacy, dead, commented, unreachable code.
Add additional unit tests.
Configuration menu - View commit details
-
Copy full SHA for 11f1748 - Browse repository at this point
Copy the full SHA 11f1748View commit details -
Configuration menu - View commit details
-
Copy full SHA for c1f0669 - Browse repository at this point
Copy the full SHA c1f0669View commit details -
Configuration menu - View commit details
-
Copy full SHA for b64c67a - Browse repository at this point
Copy the full SHA b64c67aView commit details -
Configuration menu - View commit details
-
Copy full SHA for ff9cbd5 - Browse repository at this point
Copy the full SHA ff9cbd5View commit details -
Configuration menu - View commit details
-
Copy full SHA for ca9da3f - Browse repository at this point
Copy the full SHA ca9da3fView commit details -
Wrap null parameters as Primitive.NULL byte code
In byte code when building the args array instead of having to loop the args again in This.invokeMethod. Logically order the primitives.
Configuration menu - View commit details
-
Copy full SHA for 6943089 - Browse repository at this point
Copy the full SHA 6943089View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0e54fc2 - Browse repository at this point
Copy the full SHA 0e54fc2View commit details -
Improved and normalised Interpreter.DEBUG
Made Interpreter.DEBUG ThreadLocal to play nice with others. Improved Interpreter.debug prompt method to use varargs and StringBuilder. Normalised usage and removed redundant if (DEBUG) checks when calling debug prompt.
2Configuration menu - View commit details
-
Copy full SHA for d028612 - Browse repository at this point
Copy the full SHA d028612View commit details -
Configuration menu - View commit details
-
Copy full SHA for 05a0ef1 - Browse repository at this point
Copy the full SHA 05a0ef1View commit details -
ThreadLocal accessibility to play nice with others.
Made accessibility a singleton for assigning an initial value via consumer supplier functions. setAccessible will now be thread safe.
2Configuration menu - View commit details
-
Copy full SHA for 61935ba - Browse repository at this point
Copy the full SHA 61935baView commit details -
Rollback getBshPrompt optimisation.
Caching the prompt is not useful when we are externally expecting the to be called.
Configuration menu - View commit details
-
Copy full SHA for 15a2295 - Browse repository at this point
Copy the full SHA 15a2295View commit details -
Fix some problems with Interpreter.close()
Don't close System.out or System.err. Make EOF an instance variable, set true on close and allow thread yield, using Thread.sleep, on parser exception to wait for closing. Make console null and avoid null pointer exception if printing after close. On eval enclosing interpreter might share local reader, avoid auto close.
Configuration menu - View commit details
-
Copy full SHA for bd81e6e - Browse repository at this point
Copy the full SHA bd81e6eView commit details -
Change scale of interpreter initialize debug benchmark.
From millisecond time to nanoseconds as the former only reported 0.
Configuration menu - View commit details
-
Copy full SHA for c4a37fd - Browse repository at this point
Copy the full SHA c4a37fdView commit details -
Refactor class This reference methods to Reflect.
Moved getClassStaticThis and getClassInstanceThis from This to Reflect.
Configuration menu - View commit details
-
Copy full SHA for c02e1ba - Browse repository at this point
Copy the full SHA c02e1baView commit details -
Fix inner class and local class scope.
Before all classes were treated as non static inner classes and local classes didn't get local variable scope. Now static inner classes only have static scope, inner classes and local classes have static and instance scope of outer class and local classes have method scope.
Configuration menu - View commit details
-
Copy full SHA for 8eb2091 - Browse repository at this point
Copy the full SHA 8eb2091View commit details -
use string split instead of string manipulation (indexOf, substring). lazy build compounds as needed. weak reference cache name compounds build only once. completed unit tests.
Configuration menu - View commit details
-
Copy full SHA for a4b6743 - Browse repository at this point
Copy the full SHA a4b6743View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6ed3f8c - Browse repository at this point
Copy the full SHA 6ed3f8cView commit details -
Fixes to primitives concerning equality and operators.
* Fix equality at Primitive.equals as well as operators * Fixes to castNumber ** removed redundant checkonly which cannot exist with fromvalue and we need the value for castNumber. ** return the number instead of Primitive, rather wrap on demand than having to unwrap needlessly ** removed BigDecimal reference requirement and parse string number operations ** optimise constant zero and one assessment * abandon shrink to float minimum, turns out the loss in precision is significant. back to default floating point data type double... as per java. see beanshell#71 * cleanup and fixes to BSH nodes BinaryExpression, UnaryExpression, Assignment (operators implementation) and Literal. * refactor, relocate methods Type lookups isNumeric, isFloatingPoint, isPrimitive * additional primitive unit tests including floating point precision analysis
Configuration menu - View commit details
-
Copy full SHA for f331dbf - Browse repository at this point
Copy the full SHA f331dbfView commit details -
Delegating the management of the prompt to the the ConsoleInterface.
This allows a better integration with console libraruies which usually manage the prompt on their own. It seems to be a functionality closer to the responsibility of the console rather than the interpreter.
Configuration menu - View commit details
-
Copy full SHA for bd7c6b0 - Browse repository at this point
Copy the full SHA bd7c6b0View commit details -
Delegating the display of the prompt to prompt() so that subclasses c…
…an apply specialized logic.
Configuration menu - View commit details
-
Copy full SHA for 17cf042 - Browse repository at this point
Copy the full SHA 17cf042View commit details -
Configuration menu - View commit details
-
Copy full SHA for dcb6c8c - Browse repository at this point
Copy the full SHA dcb6c8cView commit details -
Configuration menu - View commit details
-
Copy full SHA for e95d8c4 - Browse repository at this point
Copy the full SHA e95d8c4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6b9f80f - Browse repository at this point
Copy the full SHA 6b9f80fView commit details -
Added args collection for enum constant args.
Instead of using the namespace.
Configuration menu - View commit details
-
Copy full SHA for 4cd3525 - Browse repository at this point
Copy the full SHA 4cd3525View commit details -
Add modifier lookup for java method in bshmethod.
Ahh hasModifier lookup for java method.
Configuration menu - View commit details
-
Copy full SHA for 78ec46e - Browse repository at this point
Copy the full SHA 78ec46eView commit details -
Configuration menu - View commit details
-
Copy full SHA for b057772 - Browse repository at this point
Copy the full SHA b057772View commit details -
Interpreter refactor as discussed at beanshell#87 beanshell#88 beansh…
…ell#79 Implement inner class Console for resource management. Drop ConsoleInterface implementation for interpreter. Delegate public methods to console instance to be non breaking. Removed stream references and related class variables. Improved target error output for isNative stack trace.
Configuration menu - View commit details
-
Copy full SHA for 0ef875f - Browse repository at this point
Copy the full SHA 0ef875fView commit details -
Remove default import of gui classes.
Remove default import of java.awt and javax.swing classes.
Configuration menu - View commit details
-
Copy full SHA for 38124c2 - Browse repository at this point
Copy the full SHA 38124c2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 294e326 - Browse repository at this point
Copy the full SHA 294e326View commit details -
Cast null to wrapper type default value.
Added Primitive zero value as constants and improved typed default value allocation.
Configuration menu - View commit details
-
Copy full SHA for 5c7978a - Browse repository at this point
Copy the full SHA 5c7978aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 87bb80a - Browse repository at this point
Copy the full SHA 87bb80aView commit details -
Configuration menu - View commit details
-
Copy full SHA for ae49cc7 - Browse repository at this point
Copy the full SHA ae49cc7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3047d2b - Browse repository at this point
Copy the full SHA 3047d2bView commit details -
Removed the need for collecting a list Added more values() unit tests
Configuration menu - View commit details
-
Copy full SHA for 84c7343 - Browse repository at this point
Copy the full SHA 84c7343View commit details -
Refactor Types.getTypes and reduce code duplication
Extracted Types.getType method implementation. Remove all instanceof Primitive cast and getType duplicated code replacing it with Types.getType.
Configuration menu - View commit details
-
Copy full SHA for 4d317f5 - Browse repository at this point
Copy the full SHA 4d317f5View commit details -
Introduce number order list constant and get common type.
Replace primitive widening rules with number order list implementation. Implement basic finding of a common type between two classes.
Configuration menu - View commit details
-
Copy full SHA for a1ac7b4 - Browse repository at this point
Copy the full SHA a1ac7b4View commit details -
Remove duplicated functionality.
Remove Reflect.normalizeClassName replaced with StringUtil.typeString Remove Reflect.getArrayDimensions replaced with Types.arrayDimensions Remove Reflect.getArrayBaseType only used by normalizeClassName
Configuration menu - View commit details
-
Copy full SHA for d1531ca - Browse repository at this point
Copy the full SHA d1531caView commit details -
Refactor operators and implement array concat/repeat see beanshell#89
Refactored operators for arbitrary objects and consolidate duplication in BSHAssignment and BSHBinaryExpressions. Implemented array and list concat + and repeat * operators as introduced at beanshell#89
Configuration menu - View commit details
-
Copy full SHA for 0e5a9d8 - Browse repository at this point
Copy the full SHA 0e5a9d8View commit details -
Added functionality to cast array to the element type which iterates over all dimensions and casts the value elements to element type. Also adds the ability to cast array to List, Queue, Deque, Map and Map.Entry collections.
Configuration menu - View commit details
-
Copy full SHA for 5d9bd78 - Browse repository at this point
Copy the full SHA 5d9bd78View commit details -
Implements array slice see beanshell#89
Implementation of the array slice functionality introduced at beanshell#89. Refactored set and get Index methods moved to BshArray class.
Configuration menu - View commit details
-
Copy full SHA for c556625 - Browse repository at this point
Copy the full SHA c556625View commit details -
Arrays 3.0 and Collections see beanshell#89
Implementation of loose typed arrays with inferred dimensions and inferred type. Also includes many fixes to the expected java usage which was broken previously. Includes new map expressions and support for collections as introduced at beanshell#89
Configuration menu - View commit details
-
Copy full SHA for 6b222d8 - Browse repository at this point
Copy the full SHA 6b222d8View commit details -
Unit tests for Arrays 3.0 with Collections
See beanshell#89 for more details...
Configuration menu - View commit details
-
Copy full SHA for 1c91071 - Browse repository at this point
Copy the full SHA 1c91071View commit details -
Reusing some of the new functionality added with improvements in particular to the varargs implementation.
Configuration menu - View commit details
-
Copy full SHA for 8042dec - Browse repository at this point
Copy the full SHA 8042decView commit details -
Configuration menu - View commit details
-
Copy full SHA for f6508d3 - Browse repository at this point
Copy the full SHA f6508d3View commit details -
Sort projects alphabetically. Leave the history towards the end and adopt reverse chronological order. We are focused on the future now ;).
Configuration menu - View commit details
-
Copy full SHA for fa1190a - Browse repository at this point
Copy the full SHA fa1190aView commit details -
Configuration menu - View commit details
-
Copy full SHA for fe89b2e - Browse repository at this point
Copy the full SHA fe89b2eView commit details -
It corresponds to the LICENSE file.
Configuration menu - View commit details
-
Copy full SHA for 0e2aeca - Browse repository at this point
Copy the full SHA 0e2aecaView commit details -
Configuration menu - View commit details
-
Copy full SHA for 230e05b - Browse repository at this point
Copy the full SHA 230e05bView commit details -
Configuration menu - View commit details
-
Copy full SHA for fcc4bd5 - Browse repository at this point
Copy the full SHA fcc4bd5View commit details -
Configuration menu - View commit details
-
Copy full SHA for f9c3b48 - Browse repository at this point
Copy the full SHA f9c3b48View commit details -
Configuration menu - View commit details
-
Copy full SHA for 18c3b51 - Browse repository at this point
Copy the full SHA 18c3b51View commit details -
Configuration menu - View commit details
-
Copy full SHA for e4cdda6 - Browse repository at this point
Copy the full SHA e4cdda6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 61c99d1 - Browse repository at this point
Copy the full SHA 61c99d1View commit details -
Configuration menu - View commit details
-
Copy full SHA for ab4ef68 - Browse repository at this point
Copy the full SHA ab4ef68View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6d0b59f - Browse repository at this point
Copy the full SHA 6d0b59fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0ed1b18 - Browse repository at this point
Copy the full SHA 0ed1b18View commit details -
Configuration menu - View commit details
-
Copy full SHA for 756d81a - Browse repository at this point
Copy the full SHA 756d81aView commit details -
Add super constructor for anonymous subclass. see beanshell#488
As reported and assisted by @opeongo Find the super constructor for the supplied arguments. Add super constructor as constructor for anonymous sub-classes. Create BshMethod from reflect constructor. Refactor This.getConstructorArgs with methods extracted to DelayedEvalBshMethod for finding first statement method invocation.
Configuration menu - View commit details
-
Copy full SHA for 16d82e7 - Browse repository at this point
Copy the full SHA 16d82e7View commit details -
Improved byte code and clean up
Use class name .class in byte code instead of Class.forName. Fix some spelling mistakes and error messages in This.getConstructorArgs
Configuration menu - View commit details
-
Copy full SHA for 362904d - Browse repository at this point
Copy the full SHA 362904dView commit details -
Bean Properties 3.0 see beanshell#489 fixes beanshell#461
Enables bean property access consistently for object instance an class static bean properties. Correctly imports object or static bean properties as variables. Ensures private members are not imported or accessible. Ensures bean accessor "is" methods are only applicable to boolean properties.
Configuration menu - View commit details
-
Copy full SHA for 2ccaaad - Browse repository at this point
Copy the full SHA 2ccaaadView commit details -
Removed .jj grammar definition.
The .jj grammar definition gets auto generated from the .jjt JJTree grammar definition and is not needed anymore.
Configuration menu - View commit details
-
Copy full SHA for a06f155 - Browse repository at this point
Copy the full SHA a06f155View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6f8a75a - Browse repository at this point
Copy the full SHA 6f8a75aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 5c3f479 - Browse repository at this point
Copy the full SHA 5c3f479View commit details -
Parser errors with anonymous sub class as method args.
Fixes beanshell#426 When AllocationExpression with Ambiguous name appears as MethodInvocation argument the method fails to be identified. With a more specific context we were able to hit the target with more accuracy. This also improved the token manager errors being closer on target. With the shorter context this will also improve parser performance.
Configuration menu - View commit details
-
Copy full SHA for 8e8de0e - Browse repository at this point
Copy the full SHA 8e8de0eView commit details -
Grammar optimisation reducing 17 productions down to 4.
Inherited from the standard java grammar when processing expressions we had to create 17 tokens one for each of the operators, this has now been reduced to only 4 which should give a performance bump but significantly reduces overall grammar complexity. Productions used before ConditionalExpression, ConditionalOrExpression, ConditionalAndExpression, InclusiveOrExpression, ExclusiveOrExpression, AndExpression, EqualityExpression, InstanceOfExpression, RelationalExpression, ShiftExpression, AdditiveExpression, MultiplicativeExpression, UnaryExpression, PreIncrementExpression, PreDecrementExpression, UnaryExpressionNotPlusMinus and PostfixExpression. Reduced to ConditionalExpression, RelationalExpression, BinaryExpression and UnaryExpression. Also optimised the cast lookahead and cast expression removing several LOOKAHEAD statements..
Configuration menu - View commit details
-
Copy full SHA for 8e712ba - Browse repository at this point
Copy the full SHA 8e712baView commit details -
Interpreter: cache getBshPrompt and ensure streams not null.
Cache the default prompt string retrieved via eval("getBshPrompt();"); for interactive mode, to avoid having to evaluate the string on every command. Console ensures out and err streams are never null by returning default streams from System if not set.
Configuration menu - View commit details
-
Copy full SHA for 1dbf23e - Browse repository at this point
Copy the full SHA 1dbf23eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 4a39f00 - Browse repository at this point
Copy the full SHA 4a39f00View commit details -
Apply appropriate java operator rules for null values.
Fixes beanshell#425 Operator + does not always work with a null String Identify type of null values by retrieving their variables from the name space. If type is String and operator kind is PLUS turn null value into "null" string. If null value and null value value two and is kind EQ == or NE != and is comparable allow null values returned. If not comparable null values raise incomparable types error. If any value is wrapper type and the operator is valid operator for type throw null pointer exception. If not wrapper type or not valid operator cause bad operand types error. Apply wild card generic type to Class in Variable. Unit tests to proof...
Configuration menu - View commit details
-
Copy full SHA for b951740 - Browse repository at this point
Copy the full SHA b951740View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4103acc - Browse repository at this point
Copy the full SHA 4103accView commit details -
Make numberValue throw runtime exception instead of checked exception. Add strictJava number cast without checking boundary constraints. Implementation of strictJava declaration fixes beanshell#455
Configuration menu - View commit details
-
Copy full SHA for a3da4d0 - Browse repository at this point
Copy the full SHA a3da4d0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 964155c - Browse repository at this point
Copy the full SHA 964155cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 6a43ee6 - Browse repository at this point
Copy the full SHA 6a43ee6View commit details -
Fix escape for string and char literals.
As reported by @opeongo at, and fixes beanshell#495 Double escape \ \ and string or char quote escape especially with multiple literals on the same line would throw parser errors. Escapes are now ignored in char and string literals and redefined as 2 character literals starting with an escape and followed by another character.
Configuration menu - View commit details
-
Copy full SHA for 15e9d12 - Browse repository at this point
Copy the full SHA 15e9d12View commit details -
Fix for abstract method implementation sort comparator.
As pointed out by @wiix at and fixes beanshell#499. Extracted constant ACCESS_MODIFIERS the sum of all access modifiers public, protected and private, as defined in reflect Modifier but oddly not accessible. Also implements a simplified version of reflect gather methods recursive as that method is marked for deletion.
Configuration menu - View commit details
-
Copy full SHA for f8ee5f3 - Browse repository at this point
Copy the full SHA f8ee5f3View commit details -
Apply missing license header in files
As reported by @pgiffuni at and fixes beanshell#490
Configuration menu - View commit details
-
Copy full SHA for a386e74 - Browse repository at this point
Copy the full SHA a386e74View commit details -
Replacement member cache, lookup and invocation.
Fixes beanshell#444 by including property cache, design as explained at beanshell#502 Also introduces additional property types Map, Entry an Entry[].
10Configuration menu - View commit details
-
Copy full SHA for 32e8be5 - Browse repository at this point
Copy the full SHA 32e8be5View commit details -
Configuration menu - View commit details
-
Copy full SHA for c42361a - Browse repository at this point
Copy the full SHA c42361aView commit details -
Change the test to revert to the original lf line endings, but prior …
…to doing the comparison remove any cr characters that may have shown up. This fixes a platform specific problem (along with the path separator) that occurs up on Windows and prevents the test suite from succeeding.
Configuration menu - View commit details
-
Copy full SHA for 6808fcf - Browse repository at this point
Copy the full SHA 6808fcfView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2c1f344 - Browse repository at this point
Copy the full SHA 2c1f344View commit details -
Configuration menu - View commit details
-
Copy full SHA for 85fcf7f - Browse repository at this point
Copy the full SHA 85fcf7fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 161ff86 - Browse repository at this point
Copy the full SHA 161ff86View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8a43c11 - Browse repository at this point
Copy the full SHA 8a43c11View commit details -
Configuration menu - View commit details
-
Copy full SHA for c42a6b8 - Browse repository at this point
Copy the full SHA c42a6b8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 06bdb90 - Browse repository at this point
Copy the full SHA 06bdb90View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0585cf1 - Browse repository at this point
Copy the full SHA 0585cf1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 95ec9e7 - Browse repository at this point
Copy the full SHA 95ec9e7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3e1d662 - Browse repository at this point
Copy the full SHA 3e1d662View commit details -
Configuration menu - View commit details
-
Copy full SHA for a074eff - Browse repository at this point
Copy the full SHA a074effView commit details -
Configuration menu - View commit details
-
Copy full SHA for 395e977 - Browse repository at this point
Copy the full SHA 395e977View commit details -
Configuration menu - View commit details
-
Copy full SHA for 27bff58 - Browse repository at this point
Copy the full SHA 27bff58View commit details -
Bah .. .remove the coverity line for now
It's in the repo history when we need it back.
Configuration menu - View commit details
-
Copy full SHA for b7892c3 - Browse repository at this point
Copy the full SHA b7892c3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0216aac - Browse repository at this point
Copy the full SHA 0216aacView commit details -
Configuration menu - View commit details
-
Copy full SHA for f839c4b - Browse repository at this point
Copy the full SHA f839c4bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 498b379 - Browse repository at this point
Copy the full SHA 498b379View commit details -
Configuration menu - View commit details
-
Copy full SHA for 54ffc05 - Browse repository at this point
Copy the full SHA 54ffc05View commit details -
Configuration menu - View commit details
-
Copy full SHA for e2c6b2e - Browse repository at this point
Copy the full SHA e2c6b2eView commit details -
Configuration menu - View commit details
-
Copy full SHA for e38a926 - Browse repository at this point
Copy the full SHA e38a926View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4395272 - Browse repository at this point
Copy the full SHA 4395272View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7015b8e - Browse repository at this point
Copy the full SHA 7015b8eView commit details -
Configuration menu - View commit details
-
Copy full SHA for b000684 - Browse repository at this point
Copy the full SHA b000684View commit details -
Fix beanshell#393 void string concatenation.
It should not be possible to concatenate void or undefined variables in strings.
Configuration menu - View commit details
-
Copy full SHA for 98628cd - Browse repository at this point
Copy the full SHA 98628cdView commit details -
Configuration menu - View commit details
-
Copy full SHA for d2e8749 - Browse repository at this point
Copy the full SHA d2e8749View commit details -
Configuration menu - View commit details
-
Copy full SHA for e101198 - Browse repository at this point
Copy the full SHA e101198View commit details -
Configuration menu - View commit details
-
Copy full SHA for d994609 - Browse repository at this point
Copy the full SHA d994609View commit details -
Configuration menu - View commit details
-
Copy full SHA for 809e980 - Browse repository at this point
Copy the full SHA 809e980View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1696e93 - Browse repository at this point
Copy the full SHA 1696e93View commit details -
Configuration menu - View commit details
-
Copy full SHA for 89c64cf - Browse repository at this point
Copy the full SHA 89c64cfView commit details -
Configuration menu - View commit details
-
Copy full SHA for b915d67 - Browse repository at this point
Copy the full SHA b915d67View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1b0c384 - Browse repository at this point
Copy the full SHA 1b0c384View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1cd0f6a - Browse repository at this point
Copy the full SHA 1cd0f6aView commit details -
Configuration menu - View commit details
-
Copy full SHA for ad80459 - Browse repository at this point
Copy the full SHA ad80459View commit details -
Configuration menu - View commit details
-
Copy full SHA for 92caa0f - Browse repository at this point
Copy the full SHA 92caa0fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 5c0e5d6 - Browse repository at this point
Copy the full SHA 5c0e5d6View commit details -
Fixes beanshell#544 object methods return void
For scripted objects that do not return a value void should be returned net null. Also bean properties that do not exist should return void
Configuration menu - View commit details
-
Copy full SHA for ac08a8d - Browse repository at this point
Copy the full SHA ac08a8dView commit details -
Fixes beanshell#530 do not close
ScriptContext
writersThe scripting engine uses in/out writers from `ScriptContext` so we do not have to manage these resources.
Configuration menu - View commit details
-
Copy full SHA for d4108b8 - Browse repository at this point
Copy the full SHA d4108b8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7faec16 - Browse repository at this point
Copy the full SHA 7faec16View commit details -
Configuration menu - View commit details
-
Copy full SHA for bb3ea02 - Browse repository at this point
Copy the full SHA bb3ea02View commit details -
Fixes beanshell#81 and beanshell#17 mvn package descriptor
BeanShell new version number 3.0.0 Group id changed to org.beanshell
Configuration menu - View commit details
-
Copy full SHA for 04ae91a - Browse repository at this point
Copy the full SHA 04ae91aView commit details -
JDK 9 method signature is different and fails on accessibility.
Configuration menu - View commit details
-
Copy full SHA for 662fa5a - Browse repository at this point
Copy the full SHA 662fa5aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 6f0af31 - Browse repository at this point
Copy the full SHA 6f0af31View commit details -
Remove redundant isBshIterable
Method always returns true since everything is iterable. Added for loop return control tests for continue, break and return.
Configuration menu - View commit details
-
Copy full SHA for 90b2c74 - Browse repository at this point
Copy the full SHA 90b2c74View commit details
Commits on Mar 20, 2019
-
unit test strings.bsh fails on windows
It appears to have something to do with the escaped new line string and the differently interpreted line endings.
Configuration menu - View commit details
-
Copy full SHA for fdddee3 - Browse repository at this point
Copy the full SHA fdddee3View commit details
Commits on May 28, 2019
-
Add test for method selection with null parameter - identified in Issue
Tom Moore committedMay 28, 2019 Configuration menu - View commit details
-
Copy full SHA for 5ec43ed - Browse repository at this point
Copy the full SHA 5ec43edView commit details -
Merge pull request beanshell#552 from opeongo/master
Add test for method selection with null parameter - identified in Iss…
Configuration menu - View commit details
-
Copy full SHA for 89d39f7 - Browse repository at this point
Copy the full SHA 89d39f7View commit details
Commits on Jun 7, 2019
-
Added a notice pending the new release to inform everyone of current plans decisions. Updated roadmap, we can consider code coverage at 70% as a milestone reached.
Configuration menu - View commit details
-
Copy full SHA for 6bf3238 - Browse repository at this point
Copy the full SHA 6bf3238View commit details
Commits on Jun 8, 2019
-
Configuration menu - View commit details
-
Copy full SHA for b7ce43d - Browse repository at this point
Copy the full SHA b7ce43dView commit details
Commits on Jun 15, 2019
-
Remove redundant isBshIterable
Method always returns true since everything is iterable. Added for loop return control tests for continue, break and return.
Configuration menu - View commit details
-
Copy full SHA for ffd6fcb - Browse repository at this point
Copy the full SHA ffd6fcbView commit details -
Configuration menu - View commit details
-
Copy full SHA for 23e5b3c - Browse repository at this point
Copy the full SHA 23e5b3cView commit details -
Clear array initializer eval cache.
Clear the evaluated nodes cache used to avoid redundancy when inferring types and dimensions for dynamic arrays. Fixes beanshell#513 which reported blocks using cached array values. Includes block tests for array, map, entry an collections.
Configuration menu - View commit details
-
Copy full SHA for b95a2b0 - Browse repository at this point
Copy the full SHA b95a2b0View commit details -
Added ScriptEngine compile with args test.
Added unit test for bsh.engine.BshScriptEngine, javax.script.Compilable compile script and eval with context arguments to satisfy query raised under beanshell#528
Configuration menu - View commit details
-
Copy full SHA for 3408e52 - Browse repository at this point
Copy the full SHA 3408e52View commit details -
Improvements to Node interface and SimpleNode implementation to finally move away from cast to SimpleNode spagetti. Added many useful functions for accessing and manipulating the tree with check safety as well as a complete ListIterator implementation for traversal.
Configuration menu - View commit details
-
Copy full SHA for 1384054 - Browse repository at this point
Copy the full SHA 1384054View commit details -
Configuration menu - View commit details
-
Copy full SHA for 35e3962 - Browse repository at this point
Copy the full SHA 35e3962View commit details
Commits on Jun 16, 2019
-
Removed unreachable code. Added extra unit tests.
Configuration menu - View commit details
-
Copy full SHA for d4256fa - Browse repository at this point
Copy the full SHA d4256faView commit details -
Exposing ScriptEngine compiled methods.
More examples for beanshell#528 exposing compiled methods for use by other scripts.
Configuration menu - View commit details
-
Copy full SHA for 3b589ce - Browse repository at this point
Copy the full SHA 3b589ceView commit details
Commits on Jun 17, 2019
-
Add support for empty List and Map expressions.
Added support for initializing List (and other Collection types) and Map with empty initializer expressions `{}`. Refactored BSHArrayInitializer and made some improvements to Types an BshArray classes. Include tests for empty initialization expressions.
Configuration menu - View commit details
-
Copy full SHA for 9b544dd - Browse repository at this point
Copy the full SHA 9b544ddView commit details
Commits on Jun 18, 2019
-
Improved the bsh test script test suite runner's verbosity output and other optimisations. Adding the maven argument `-Dverbose=true` will output each unit tests duration and outcome.
Configuration menu - View commit details
-
Copy full SHA for 01a034b - Browse repository at this point
Copy the full SHA 01a034bView commit details -
Developer @nickl- added to developer list in pom.xml
Configuration menu - View commit details
-
Copy full SHA for 67d043e - Browse repository at this point
Copy the full SHA 67d043eView commit details -
Change javacc plugin configuration for jdk version to use project property instead of hard coded value.
Configuration menu - View commit details
-
Copy full SHA for 7da3148 - Browse repository at this point
Copy the full SHA 7da3148View commit details -
Added default skip = false configuration for reference. Bind prepare agent goal execution to the generate resources phase.
Configuration menu - View commit details
-
Copy full SHA for 46782cf - Browse repository at this point
Copy the full SHA 46782cfView commit details
Commits on Jun 19, 2019
-
One more edge case for beanshell#513 and the caching issue
With a completely new fix which now gets down to the actual problem by clearing the specific items that are being cached. Caching is the correct solution and there is also not any clean way around it, if we don't cache some values can be evaluated as many as 3 times and that will only spell disaster. 1. Infer the dimensions if they are not known The least amount of effort still requires to traverse the hierarchy of child nodes, looking at the first element element only, counting the dimensions. At the last element we need to evaluate the node because it may be null which adds an additional dimension in itself but this empty dimension allows for a subsequent dimension to increase the dimensions for example { null, {{{1}}} 2. Infer the common element or array base type if that is not known. This does require every element in all dimensions to be traversed and evaluated to obtain a type. Unless we have reached the common type Object.class there no aborting early because a bigger value than the common type we may currently know could still exist. This does leave very unpredictable outcomes of maybe all, maybe some and also maybe none. 3. Instantiate and populate the array With base type and dimensions known, which could've been specified, we can no proceed with a new array instance of type in hand coaxing all the values again to conform. Also managed a few other optimisations and clean up plus the unit tests for the edge case.
Configuration menu - View commit details
-
Copy full SHA for 9c5451b - Browse repository at this point
Copy the full SHA 9c5451bView commit details
Commits on Jun 20, 2019
-
Configuration menu - View commit details
-
Copy full SHA for f31d614 - Browse repository at this point
Copy the full SHA f31d614View commit details
Commits on Jun 21, 2019
-
Improve and normalise source from script file functionality
As mentioned in the issue beanshell#534 raised by @orbitalair requesting support to source from `URL`. After investigation it was found that the `source` command did indeed support `URL` so the issue was closed. In a new discovery it was found that the `source` command and the interpreter `source` methods did not correspond. This patch now normalises the two locations and along with support for sourcing from `String` file name and `URL` we also added `File` capabilities.
Configuration menu - View commit details
-
Copy full SHA for 96de3d9 - Browse repository at this point
Copy the full SHA 96de3d9View commit details -
This commit only updates documentation, some minor code style fixes and parameter name normalisation. This does not change any functionality.
Configuration menu - View commit details
-
Copy full SHA for 06a6426 - Browse repository at this point
Copy the full SHA 06a6426View commit details -
Optimised string manipulation.
It is more efficient to do the new line replacements on the shortened source string instead of before.
Configuration menu - View commit details
-
Copy full SHA for de81114 - Browse repository at this point
Copy the full SHA de81114View commit details -
Eval only interpreter does not require an input stream.
There is no point in creating the `new StringReader("")` instance for the standard input when it is not useful and will be changed from `eval()` anyway. Assign null for input stream and defer to eval to provide the correct input.
Configuration menu - View commit details
-
Copy full SHA for b9d3a1b - Browse repository at this point
Copy the full SHA b9d3a1bView commit details -
Exception asserts fail on OpenJ9
The messages were different for ArrayStoreException and NoDefaultConstructor on OpenJ9 jdk 8 but at least the types are equivalent so no harm done.
Configuration menu - View commit details
-
Copy full SHA for cb6a345 - Browse repository at this point
Copy the full SHA cb6a345View commit details
Commits on Jun 24, 2019
-
Configuration menu - View commit details
-
Copy full SHA for 3dd4c6a - Browse repository at this point
Copy the full SHA 3dd4c6aView commit details -
Don't use SimpleNode when a simple Node will do.
Configuration menu - View commit details
-
Copy full SHA for de1e093 - Browse repository at this point
Copy the full SHA de1e093View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5d90ee0 - Browse repository at this point
Copy the full SHA 5d90ee0View commit details -
Optimise Interpreter Parser init.
If possible ReInit an existing parser instead of initialising it from new. Inherit parent parser and if parent not interactive and there are no child nodes on the parser stack then we may reinitialise the parser. This will show a drastic performance increase to eval and other child Interpreters.
Configuration menu - View commit details
-
Copy full SHA for 7b2cabc - Browse repository at this point
Copy the full SHA 7b2cabcView commit details -
Add name space constructor name only.
Instead of always using null parent constructor lets just accommodate a name only constructor too.
Configuration menu - View commit details
-
Copy full SHA for 6012c31 - Browse repository at this point
Copy the full SHA 6012c31View commit details
Commits on Jun 25, 2019
-
Additional Interpreter constructors.
Added additional eval only constructors for Interpreter which uses the system standard output and standard error but defers input to be supplied by eval.
Configuration menu - View commit details
-
Copy full SHA for 35911c3 - Browse repository at this point
Copy the full SHA 35911c3View commit details -
Extract method terminatedScript.
Refactored eval method to extract reusable method for terminating statement strings.
Configuration menu - View commit details
-
Copy full SHA for 6a3e6d0 - Browse repository at this point
Copy the full SHA 6a3e6d0View commit details -
Optimise pre-parsed script implementation.
Simplified the implementation of the PreparsedScript class, simple interpreter instance apply class loader to interpreter, eval the script to retrieve the callable object and reference the prepared instance. On invoke create the scoped name space and local interpreter, set the context variables invoke the prepared script and unwrap the results. Added compound name resolution in context variable names. Standardised the source file info and do not reveal the wrapped method name. Added terminated script conversion to ensure statement is terminated fixes beanshell#529 Fixed unit tests and enabled multi threaded test, added additional tests to illustrate compound name resolution. Added serial garbage collector java vm argument to properly apply large eden algorithms which parallel gc will stall on. Added an empty map and a map of key value pair list helper to TestUtil for supplying tests with data maps.
Configuration menu - View commit details
-
Copy full SHA for 7ddef7a - Browse repository at this point
Copy the full SHA 7ddef7aView commit details -
Changes as per enhancements made to StringUtil for data type values to string. Fixes beanshell#527
Configuration menu - View commit details
-
Copy full SHA for 542bd0e - Browse repository at this point
Copy the full SHA 542bd0eView commit details
Commits on Jul 14, 2019
-
Configuration menu - View commit details
-
Copy full SHA for 0ae2c1c - Browse repository at this point
Copy the full SHA 0ae2c1cView commit details
Commits on Jul 17, 2019
-
Merge pull request beanshell#562 from morris821028/master
Performance: O(1) Listener add/delete
Configuration menu - View commit details
-
Copy full SHA for 800e6c0 - Browse repository at this point
Copy the full SHA 800e6c0View commit details
Commits on Jul 21, 2019
-
Fix for beanshell#566 cannot concat assign null string.
Configuration menu - View commit details
-
Copy full SHA for 25427cb - Browse repository at this point
Copy the full SHA 25427cbView commit details -
Refactor and optimise binary expression AST.
It was not immediately clear what the purpose of checkNullValues was so refactored the implementation. Optimised if statements to release as soon as possible by finding most likely to fail first. Found and fixed bug with null comparison with wrapper types not working like Java. Now allows for comparing 3 states of Boolean types. Reduce operators required stack memory footprint.
Configuration menu - View commit details
-
Copy full SHA for bd63c84 - Browse repository at this point
Copy the full SHA bd63c84View commit details
Commits on Oct 13, 2019
-
Configuration menu - View commit details
-
Copy full SHA for e16ea4a - Browse repository at this point
Copy the full SHA e16ea4aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 28d09fe - Browse repository at this point
Copy the full SHA 28d09feView commit details
Commits on Dec 16, 2019
-
Configuration menu - View commit details
-
Copy full SHA for 37688c7 - Browse repository at this point
Copy the full SHA 37688c7View commit details -
Configuration menu - View commit details
-
Copy full SHA for a9da27a - Browse repository at this point
Copy the full SHA a9da27aView commit details -
Configuration menu - View commit details
-
Copy full SHA for fabaa5d - Browse repository at this point
Copy the full SHA fabaa5dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7fb24c2 - Browse repository at this point
Copy the full SHA 7fb24c2View commit details -
Configuration menu - View commit details
-
Copy full SHA for ef21e91 - Browse repository at this point
Copy the full SHA ef21e91View commit details -
Configuration menu - View commit details
-
Copy full SHA for 318d6d6 - Browse repository at this point
Copy the full SHA 318d6d6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 53be487 - Browse repository at this point
Copy the full SHA 53be487View commit details
Commits on Jan 31, 2020
-
Bump checkstyle from 8.10 to 8.29 in /bsh-bsf-engine
Bumps [checkstyle](https://github.com/checkstyle/checkstyle) from 8.10 to 8.29. - [Release notes](https://github.com/checkstyle/checkstyle/releases) - [Commits](checkstyle/checkstyle@checkstyle-8.10...checkstyle-8.29) Signed-off-by: dependabot[bot] <support@github.com>
Configuration menu - View commit details
-
Copy full SHA for af1b837 - Browse repository at this point
Copy the full SHA af1b837View commit details
Commits on Feb 4, 2020
-
Merge pull request beanshell#582 from beanshell/dependabot/maven/bsh-…
…bsf-engine/com.puppycrawl.tools-checkstyle-8.29 Bump checkstyle from 8.10 to 8.29 in /bsh-bsf-engine
Configuration menu - View commit details
-
Copy full SHA for 6014e15 - Browse repository at this point
Copy the full SHA 6014e15View commit details
Commits on Feb 12, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 27d526a - Browse repository at this point
Copy the full SHA 27d526aView commit details -
Configuration menu - View commit details
-
Copy full SHA for be47004 - Browse repository at this point
Copy the full SHA be47004View commit details