Skip to content
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

Open
wants to merge 808 commits into
base: master
Choose a base branch
from
This pull request is big! We’re only showing the most recent 250 commits.

Commits on Mar 19, 2019

  1. 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
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    6af9711 View commit details
    Browse the repository at this point in the history
  2. 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.
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    08ee11e View commit details
    Browse the repository at this point in the history
  3. Removed LOCALSCOPING

    It was not implemented anymore so remove it.
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    d7dd857 View commit details
    Browse the repository at this point in the history
  4. Remove BSF2.x support.

    Removed in favour of JSR223 support.
    BSF engine moved to external module bsh-bsf-engine for anyone that might still require it.
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    600fcde View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    41af76b View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    cd5b54d View commit details
    Browse the repository at this point in the history
  7. Fix LHS Serializability.

    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.
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    cff58ca View commit details
    Browse the repository at this point in the history
  8. class3.bsh test is working

     * test is successful if we remove the assert(false);
     * removed additional junit test not required
     * remove as known issue
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    df0db64 View commit details
    Browse the repository at this point in the history
  9. Refactor OldScriptsTest

     * 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
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    42aca72 View commit details
    Browse the repository at this point in the history
  10. 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)
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    6c6e704 View commit details
    Browse the repository at this point in the history
  11. Fix import static

    In some cases static imports were failing now we look for the class first before leaving it to Name to try and resolve.
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    9627f3a View commit details
    Browse the repository at this point in the history
  12. 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.
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    d9433d7 View commit details
    Browse the repository at this point in the history
  13. 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
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    52ab72f View commit details
    Browse the repository at this point in the history
  14. 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.
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    60afa06 View commit details
    Browse the repository at this point in the history
  15. 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.
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    f72067a View commit details
    Browse the repository at this point in the history
  16. 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.
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    4025f46 View commit details
    Browse the repository at this point in the history
  17. 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
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    fe48585 View commit details
    Browse the repository at this point in the history
  18. Refactor TestUtil and rename issue_XX tests.

     * added some reusability improvements to testUtil
     * renamed and redistributed issue_XX tests to more intuitive names.
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    7b02565 View commit details
    Browse the repository at this point in the history
  19. Extract NumberLiteralTest

    Collected from generically named unit tests.
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    a5c48ca View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    98c4c97 View commit details
    Browse the repository at this point in the history
  21. Rename Project_Coin_Test to StatementsTest

    Only contains the switch string statement now.
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    bc172a6 View commit details
    Browse the repository at this point in the history
  22. Checkstyle and cosmetics

    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    f6b5d18 View commit details
    Browse the repository at this point in the history
  23. 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
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    f4ddf91 View commit details
    Browse the repository at this point in the history
  24. 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.
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    1243402 View commit details
    Browse the repository at this point in the history
  25. 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.
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    569b6f9 View commit details
    Browse the repository at this point in the history
  26. Implement multi catch

     * 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
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    74f3359 View commit details
    Browse the repository at this point in the history
  27. Ensure that members have modifiers on node.

    We are loosing state because some nodes don't have modifiers.
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    2e1904a View commit details
    Browse the repository at this point in the history
  28. Grammar clean up.

    * remove redundant use of token variables
     * remove redundant comments
     * some styling ease of readability
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    0b7a318 View commit details
    Browse the repository at this point in the history
  29. Improved no access modifier is public implementation.

    default behaviour ,regardless of accessibility, if no access modifiers (or package private) bsh default is public visibility
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    892d635 View commit details
    Browse the repository at this point in the history
  30. 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
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    f4d7a9b View commit details
    Browse the repository at this point in the history
  31. 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
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    47f1673 View commit details
    Browse the repository at this point in the history
  32. script test enhancements

     * added option to test evalError contains message
     * some modifications utilising new junit asserts
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    8c00c93 View commit details
    Browse the repository at this point in the history
  33. 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
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    cb92ca2 View commit details
    Browse the repository at this point in the history
  34. Ignore null class path component

     * improved handling of no rt.jar availability
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    a1c0492 View commit details
    Browse the repository at this point in the history
  35. Add tests to travis build

    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    1e9549c View commit details
    Browse the repository at this point in the history
  36. props.bsh trhows java.awt.HeadlessException

    remove reference to java,awt.Button.
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    d6f4397 View commit details
    Browse the repository at this point in the history
  37. Configuration menu
    Copy the full SHA
    7e07233 View commit details
    Browse the repository at this point in the history
  38. Configuration menu
    Copy the full SHA
    1079078 View commit details
    Browse the repository at this point in the history
  39. Configuration menu
    Copy the full SHA
    f5f2648 View commit details
    Browse the repository at this point in the history
  40. 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
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    3e60261 View commit details
    Browse the repository at this point in the history
  41. Configuration menu
    Copy the full SHA
    010e797 View commit details
    Browse the repository at this point in the history
  42. 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.
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    853b55b View commit details
    Browse the repository at this point in the history
  43. Configuration menu
    Copy the full SHA
    8c58ca4 View commit details
    Browse the repository at this point in the history
  44. 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
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    b60abf9 View commit details
    Browse the repository at this point in the history
  45. 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
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    d471d96 View commit details
    Browse the repository at this point in the history
  46. 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
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    3cb0f60 View commit details
    Browse the repository at this point in the history
  47. attempt codecov.io support

    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    912f362 View commit details
    Browse the repository at this point in the history
  48. patch resource leaks

     * address all resource leak warnings and appropriately close and release Closable resources
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    95b52ff View commit details
    Browse the repository at this point in the history
  49. Configuration menu
    Copy the full SHA
    5c1d1a2 View commit details
    Browse the repository at this point in the history
  50. Fix isVarargsAssignable

    Caused some false positives with the truthy returns, instead look for falsy.
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    ffeac7e View commit details
    Browse the repository at this point in the history
  51. Configuration menu
    Copy the full SHA
    8d96a57 View commit details
    Browse the repository at this point in the history
  52. Fix numeric types

     * 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
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    a080d02 View commit details
    Browse the repository at this point in the history
  53. StringUtil add-ons.

     * 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.
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    b068641 View commit details
    Browse the repository at this point in the history
  54. Add codecov badge

    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    1c1f370 View commit details
    Browse the repository at this point in the history
  55. Configuration menu
    Copy the full SHA
    590a888 View commit details
    Browse the repository at this point in the history
  56. 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.
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    10a9136 View commit details
    Browse the repository at this point in the history
  57. 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
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    e5796e9 View commit details
    Browse the repository at this point in the history
  58. Configuration menu
    Copy the full SHA
    009c831 View commit details
    Browse the repository at this point in the history
  59. 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
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    120e0ee View commit details
    Browse the repository at this point in the history
  60. 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
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    8e7238e View commit details
    Browse the repository at this point in the history
  61. Update Readme.md

     - added more history including beanshell2 for
     - add development roadmap
     - added projects using beanshell
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    0d2e9a0 View commit details
    Browse the repository at this point in the history
  62. Configuration menu
    Copy the full SHA
    1a042b7 View commit details
    Browse the repository at this point in the history
  63. 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
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    0782ae0 View commit details
    Browse the repository at this point in the history
  64. Configuration menu
    Copy the full SHA
    a26942b View commit details
    Browse the repository at this point in the history
  65. Relax static interface method restrictions.

    Make enforcing static interface method accessible on declaring interface class only, strict java
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    632e36c View commit details
    Browse the repository at this point in the history
  66. 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.
    nickl- committed Mar 19, 2019
    2 Configuration menu
    Copy the full SHA
    885936b View commit details
    Browse the repository at this point in the history
  67. Configuration menu
    Copy the full SHA
    356ea9a View commit details
    Browse the repository at this point in the history
  68. Fix target error

    update UndeclaredThrowable use was replaced by getCause
    update exception message wording
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    bd4f86f View commit details
    Browse the repository at this point in the history
  69. test assert fixes

    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    f00e9ba View commit details
    Browse the repository at this point in the history
  70. Serialization fixes.

    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    9f64f28 View commit details
    Browse the repository at this point in the history
  71. Enum type support v1.0 see beanshell#80 for more details

    includes support for switching enums as requested beanshell#31
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    7d2a9a9 View commit details
    Browse the repository at this point in the history
  72. 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.
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    626c882 View commit details
    Browse the repository at this point in the history
  73. 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.
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    8cceaa9 View commit details
    Browse the repository at this point in the history
  74. Interpreter: remove legacy work arounds.

    Since we are minimum JDK 1.8 and with modern javacc these legacy work arounds are not required anymore.
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    bfecf79 View commit details
    Browse the repository at this point in the history
  75. 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.
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    92cdb5c View commit details
    Browse the repository at this point in the history
  76. 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
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    a0bfdfe View commit details
    Browse the repository at this point in the history
  77. Fix unicode test for Windows beanshell#24

    Ensure that we are comparing apples with apples.
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    8333371 View commit details
    Browse the repository at this point in the history
  78. Add some BshClassPathTests beanshell#24

    Tests for BshClassPath coverage and to ensure rt.jar or equivalent gets loaded.
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    75e4d9f View commit details
    Browse the repository at this point in the history
  79. Interpreter remove legacy, dead, commented, unreachable code.

    Add additional unit tests.
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    11f1748 View commit details
    Browse the repository at this point in the history
  80. Avoid possible null pointer

    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    c1f0669 View commit details
    Browse the repository at this point in the history
  81. Configuration menu
    Copy the full SHA
    b64c67a View commit details
    Browse the repository at this point in the history
  82. Remove debugging code.

    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    ff9cbd5 View commit details
    Browse the repository at this point in the history
  83. Upgrade ASM 6.2

    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    ca9da3f View commit details
    Browse the repository at this point in the history
  84. 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.
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    6943089 View commit details
    Browse the repository at this point in the history
  85. fix bad char in tr error

    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    0e54fc2 View commit details
    Browse the repository at this point in the history
  86. 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.
    nickl- committed Mar 19, 2019
    2 Configuration menu
    Copy the full SHA
    d028612 View commit details
    Browse the repository at this point in the history
  87. Configuration menu
    Copy the full SHA
    05a0ef1 View commit details
    Browse the repository at this point in the history
  88. 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.
    nickl- committed Mar 19, 2019
    2 Configuration menu
    Copy the full SHA
    61935ba View commit details
    Browse the repository at this point in the history
  89. Rollback getBshPrompt optimisation.

    Caching the prompt is not useful when we are externally expecting the to be called.
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    15a2295 View commit details
    Browse the repository at this point in the history
  90. 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.
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    bd81e6e View commit details
    Browse the repository at this point in the history
  91. Change scale of interpreter initialize debug benchmark.

    From millisecond time to nanoseconds as the former only reported 0.
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    c4a37fd View commit details
    Browse the repository at this point in the history
  92. Refactor class This reference methods to Reflect.

    Moved getClassStaticThis and getClassInstanceThis from This to Reflect.
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    c02e1ba View commit details
    Browse the repository at this point in the history
  93. 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.
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    8eb2091 View commit details
    Browse the repository at this point in the history
  94. Name Parts optimization.

    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.
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    a4b6743 View commit details
    Browse the repository at this point in the history
  95. Minor cosmetic changes.

    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    6ed3f8c View commit details
    Browse the repository at this point in the history
  96. 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
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    f331dbf View commit details
    Browse the repository at this point in the history
  97. 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.
    stefanofornari authored and nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    bd7c6b0 View commit details
    Browse the repository at this point in the history
  98. Delegating the display of the prompt to prompt() so that subclasses c…

    …an apply specialized logic.
    stefanofornari authored and nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    17cf042 View commit details
    Browse the repository at this point in the history
  99. Configuration menu
    Copy the full SHA
    dcb6c8c View commit details
    Browse the repository at this point in the history
  100. removed redundant public

    stefanofornari authored and nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    e95d8c4 View commit details
    Browse the repository at this point in the history
  101. Configuration menu
    Copy the full SHA
    6b9f80f View commit details
    Browse the repository at this point in the history
  102. Added args collection for enum constant args.

    Instead of using the namespace.
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    4cd3525 View commit details
    Browse the repository at this point in the history
  103. Add modifier lookup for java method in bshmethod.

    Ahh hasModifier lookup for java method.
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    78ec46e View commit details
    Browse the repository at this point in the history
  104. Configuration menu
    Copy the full SHA
    b057772 View commit details
    Browse the repository at this point in the history
  105. 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.
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    0ef875f View commit details
    Browse the repository at this point in the history
  106. Remove default import of gui classes.

    Remove default import of java.awt and javax.swing classes.
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    38124c2 View commit details
    Browse the repository at this point in the history
  107. Configuration menu
    Copy the full SHA
    294e326 View commit details
    Browse the repository at this point in the history
  108. Cast null to wrapper type default value.

    Added Primitive zero value as constants and improved typed default value allocation.
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    5c7978a View commit details
    Browse the repository at this point in the history
  109. Configuration menu
    Copy the full SHA
    87bb80a View commit details
    Browse the repository at this point in the history
  110. Configuration menu
    Copy the full SHA
    ae49cc7 View commit details
    Browse the repository at this point in the history
  111. Improved error messages.

    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    3047d2b View commit details
    Browse the repository at this point in the history
  112. Improved enum values.

    Removed the need for collecting a list
    Added more values() unit tests
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    84c7343 View commit details
    Browse the repository at this point in the history
  113. 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.
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    4d317f5 View commit details
    Browse the repository at this point in the history
  114. 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.
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    a1ac7b4 View commit details
    Browse the repository at this point in the history
  115. Remove duplicated functionality.

    Remove Reflect.normalizeClassName replaced with StringUtil.typeString
    Remove Reflect.getArrayDimensions replaced with Types.arrayDimensions
    Remove Reflect.getArrayBaseType only used by normalizeClassName
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    d1531ca View commit details
    Browse the repository at this point in the history
  116. 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
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    0e5a9d8 View commit details
    Browse the repository at this point in the history
  117. Cast array implementation.

    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.
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    5d9bd78 View commit details
    Browse the repository at this point in the history
  118. 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.
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    c556625 View commit details
    Browse the repository at this point in the history
  119. 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
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    6b222d8 View commit details
    Browse the repository at this point in the history
  120. Unit tests for Arrays 3.0 with Collections

    See beanshell#89 for more details...
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    1c91071 View commit details
    Browse the repository at this point in the history
  121. Refactor Reflect.invokeMethod

    Reusing some of the new functionality added with improvements in particular to the varargs implementation.
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    8042dec View commit details
    Browse the repository at this point in the history
  122. Code clean up as per PMD.

    Remove unused, redundant and implied code.
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    f6508d3 View commit details
    Browse the repository at this point in the history
  123. Formatting updates

    Sort projects alphabetically.
    Leave the history towards the end and adopt reverse chronological order.
    We are focused on the future now ;).
    pgiffuni authored and nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    fa1190a View commit details
    Browse the repository at this point in the history
  124. NOTICE: Add ASM license

    pgiffuni authored and nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    fe89b2e View commit details
    Browse the repository at this point in the history
  125. Undo ASM licensing info here

    It corresponds to the LICENSE file.
    pgiffuni authored and nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    0e2aeca View commit details
    Browse the repository at this point in the history
  126. Add Web ASM LICENSE

    pgiffuni authored and nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    230e05b View commit details
    Browse the repository at this point in the history
  127. More sorting

    pgiffuni authored and nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    fcc4bd5 View commit details
    Browse the repository at this point in the history
  128. and more sorting

    pgiffuni authored and nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    f9c3b48 View commit details
    Browse the repository at this point in the history
  129. Configuration menu
    Copy the full SHA
    18c3b51 View commit details
    Browse the repository at this point in the history
  130. Configuration menu
    Copy the full SHA
    e4cdda6 View commit details
    Browse the repository at this point in the history
  131. Add coverity badge

    Great job nickl- !
    pgiffuni authored and nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    61c99d1 View commit details
    Browse the repository at this point in the history
  132. Somewhat more accurate history.

    pgiffuni authored and nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    ab4ef68 View commit details
    Browse the repository at this point in the history
  133. Configuration menu
    Copy the full SHA
    6d0b59f View commit details
    Browse the repository at this point in the history
  134. Configuration menu
    Copy the full SHA
    0ed1b18 View commit details
    Browse the repository at this point in the history
  135. Configuration menu
    Copy the full SHA
    756d81a View commit details
    Browse the repository at this point in the history
  136. 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.
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    16d82e7 View commit details
    Browse the repository at this point in the history
  137. 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
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    362904d View commit details
    Browse the repository at this point in the history
  138. 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.
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    2ccaaad View commit details
    Browse the repository at this point in the history
  139. Removed .jj grammar definition.

    The .jj grammar definition gets auto generated from the .jjt JJTree grammar definition and is not needed anymore.
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    a06f155 View commit details
    Browse the repository at this point in the history
  140. Configuration menu
    Copy the full SHA
    6f8a75a View commit details
    Browse the repository at this point in the history
  141. Configuration menu
    Copy the full SHA
    5c3f479 View commit details
    Browse the repository at this point in the history
  142. 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.
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    8e8de0e View commit details
    Browse the repository at this point in the history
  143. 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..
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    8e712ba View commit details
    Browse the repository at this point in the history
  144. 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.
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    1dbf23e View commit details
    Browse the repository at this point in the history
  145. Add additional document friendly operators.

    Added missing overloaded document friendly operators @mod, @mod_assign, @pow, @pow_assign, @bitwise_xor an @xor_assign.
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    4a39f00 View commit details
    Browse the repository at this point in the history
  146. 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...
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    b951740 View commit details
    Browse the repository at this point in the history
  147. Unit test to prove issue is fixed beanshell#456.

    Closed by commit.
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    4103acc View commit details
    Browse the repository at this point in the history
  148. Primitive number updates.

    Make numberValue throw runtime exception instead of checked exception.
    Add strictJava number cast without checking boundary constraints.
    Implementation of strictJava declaration fixes beanshell#455
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    a3da4d0 View commit details
    Browse the repository at this point in the history
  149. Add system independent properties for line and path separator

    Tom Moore authored and nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    964155c View commit details
    Browse the repository at this point in the history
  150. Remove an insidious tab character

    Tom Moore authored and nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    6a43ee6 View commit details
    Browse the repository at this point in the history
  151. 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.
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    15e9d12 View commit details
    Browse the repository at this point in the history
  152. 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.
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    f8ee5f3 View commit details
    Browse the repository at this point in the history
  153. Apply missing license header in files

    As reported by @pgiffuni  at and fixes beanshell#490
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    a386e74 View commit details
    Browse the repository at this point in the history
  154. 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[].
    nickl- committed Mar 19, 2019
    10 Configuration menu
    Copy the full SHA
    32e8be5 View commit details
    Browse the repository at this point in the history
  155. Configuration menu
    Copy the full SHA
    c42361a View commit details
    Browse the repository at this point in the history
  156. 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.
    Tom Moore authored and nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    6808fcf View commit details
    Browse the repository at this point in the history
  157. Add a test for post-fix operator on arrays

    Tom Moore authored and nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    2c1f344 View commit details
    Browse the repository at this point in the history
  158. sort

    pgiffuni authored and nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    85fcf7f View commit details
    Browse the repository at this point in the history
  159. updating checkstile to the latest

    stefanofornari authored and nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    161ff86 View commit details
    Browse the repository at this point in the history
  160. Update Operators.java

    jmetertea authored and nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    8a43c11 View commit details
    Browse the repository at this point in the history
  161. Update PreparsedScriptTest.java

    jmetertea authored and nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    c42a6b8 View commit details
    Browse the repository at this point in the history
  162. Update PreparsedScriptTest.java

    jmetertea authored and nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    06bdb90 View commit details
    Browse the repository at this point in the history
  163. Update PreparsedScriptTest.java

    jmetertea authored and nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    0585cf1 View commit details
    Browse the repository at this point in the history
  164. Update PreparsedScriptTest.java

    jmetertea authored and nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    95ec9e7 View commit details
    Browse the repository at this point in the history
  165. Update PreparsedScriptTest.java

    jmetertea authored and nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    3e1d662 View commit details
    Browse the repository at this point in the history
  166. Add License badge

    pgiffuni authored and nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    a074eff View commit details
    Browse the repository at this point in the history
  167. Configuration menu
    Copy the full SHA
    395e977 View commit details
    Browse the repository at this point in the history
  168. Fix markdown comment syntax

    pgiffuni authored and nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    27bff58 View commit details
    Browse the repository at this point in the history
  169. Bah .. .remove the coverity line for now

    It's in the repo history when we need it back.
    pgiffuni authored and nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    b7892c3 View commit details
    Browse the repository at this point in the history
  170. Short description in the Title

    pgiffuni authored and nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    0216aac View commit details
    Browse the repository at this point in the history
  171. Compact license explanation.

    pgiffuni authored and nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    f839c4b View commit details
    Browse the repository at this point in the history
  172. Coverity is back

    pgiffuni authored and nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    498b379 View commit details
    Browse the repository at this point in the history
  173. Update README.md

    pgiffuni authored and nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    54ffc05 View commit details
    Browse the repository at this point in the history
  174. Configuration menu
    Copy the full SHA
    e2c6b2e View commit details
    Browse the repository at this point in the history
  175. Configuration menu
    Copy the full SHA
    e38a926 View commit details
    Browse the repository at this point in the history
  176. Fix typo in README

    smehrbrodt authored and nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    4395272 View commit details
    Browse the repository at this point in the history
  177. Update mvn plugins

    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    7015b8e View commit details
    Browse the repository at this point in the history
  178. Configuration menu
    Copy the full SHA
    b000684 View commit details
    Browse the repository at this point in the history
  179. Fix beanshell#393 void string concatenation.

    It should not be possible to concatenate void or undefined variables in strings.
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    98628cd View commit details
    Browse the repository at this point in the history
  180. fix README typo

    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    d2e8749 View commit details
    Browse the repository at this point in the history
  181. Improve debug output.

    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    e101198 View commit details
    Browse the repository at this point in the history
  182. Added command to read file.

    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    d994609 View commit details
    Browse the repository at this point in the history
  183. Configuration menu
    Copy the full SHA
    809e980 View commit details
    Browse the repository at this point in the history
  184. Remove personalised banners.

    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    1696e93 View commit details
    Browse the repository at this point in the history
  185. Configuration menu
    Copy the full SHA
    89c64cf View commit details
    Browse the repository at this point in the history
  186. Improved type safety

    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    b915d67 View commit details
    Browse the repository at this point in the history
  187. Unit test private methods

    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    1b0c384 View commit details
    Browse the repository at this point in the history
  188. Test second argument varargs.

    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    1cd0f6a View commit details
    Browse the repository at this point in the history
  189. Map Entry unit tests

    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    ad80459 View commit details
    Browse the repository at this point in the history
  190. Configuration menu
    Copy the full SHA
    92caa0f View commit details
    Browse the repository at this point in the history
  191. Configuration menu
    Copy the full SHA
    5c0e5d6 View commit details
    Browse the repository at this point in the history
  192. 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
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    ac08a8d View commit details
    Browse the repository at this point in the history
  193. Fixes beanshell#530 do not close ScriptContext writers

    The scripting engine uses in/out writers from `ScriptContext` so we do not have to manage these resources.
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    d4108b8 View commit details
    Browse the repository at this point in the history
  194. Add build number to version

    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    7faec16 View commit details
    Browse the repository at this point in the history
  195. Configuration menu
    Copy the full SHA
    bb3ea02 View commit details
    Browse the repository at this point in the history
  196. Fixes beanshell#81 and beanshell#17 mvn package descriptor

    BeanShell new version number 3.0.0
    Group id changed to org.beanshell
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    04ae91a View commit details
    Browse the repository at this point in the history
  197. Removed faulty unit test.

    JDK 9 method signature is different and fails on accessibility.
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    662fa5a View commit details
    Browse the repository at this point in the history
  198. Configuration menu
    Copy the full SHA
    6f0af31 View commit details
    Browse the repository at this point in the history
  199. Remove redundant isBshIterable

    Method always returns true since everything is iterable.
    Added for loop return control tests for continue, break and return.
    nickl- committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    90b2c74 View commit details
    Browse the repository at this point in the history

Commits on Mar 20, 2019

  1. 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.
    nickl- committed Mar 20, 2019
    Configuration menu
    Copy the full SHA
    fdddee3 View commit details
    Browse the repository at this point in the history

Commits on May 28, 2019

  1. Configuration menu
    Copy the full SHA
    5ec43ed View commit details
    Browse the repository at this point in the history
  2. Merge pull request beanshell#552 from opeongo/master

    Add test for method selection with null parameter - identified in Iss…
    nickl- committed May 28, 2019
    Configuration menu
    Copy the full SHA
    89d39f7 View commit details
    Browse the repository at this point in the history

Commits on Jun 7, 2019

  1. notice and roadmap update

    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.
    nickl- committed Jun 7, 2019
    Configuration menu
    Copy the full SHA
    6bf3238 View commit details
    Browse the repository at this point in the history

Commits on Jun 8, 2019

  1. Less for more

    nickl- committed Jun 8, 2019
    Configuration menu
    Copy the full SHA
    b7ce43d View commit details
    Browse the repository at this point in the history

Commits on Jun 15, 2019

  1. Remove redundant isBshIterable

    Method always returns true since everything is iterable.
    Added for loop return control tests for continue, break and return.
    nickl- committed Jun 15, 2019
    Configuration menu
    Copy the full SHA
    ffd6fcb View commit details
    Browse the repository at this point in the history
  2. Fix whitespace.

    nickl- committed Jun 15, 2019
    Configuration menu
    Copy the full SHA
    23e5b3c View commit details
    Browse the repository at this point in the history
  3. 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.
    nickl- committed Jun 15, 2019
    Configuration menu
    Copy the full SHA
    b95a2b0 View commit details
    Browse the repository at this point in the history
  4. 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
    nickl- committed Jun 15, 2019
    Configuration menu
    Copy the full SHA
    3408e52 View commit details
    Browse the repository at this point in the history
  5. Improved Node and SimpleNode.

    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.
    nickl- committed Jun 15, 2019
    Configuration menu
    Copy the full SHA
    1384054 View commit details
    Browse the repository at this point in the history
  6. More code coverage.

    Added more code coverage for SimpleNode.
    nickl- committed Jun 15, 2019
    Configuration menu
    Copy the full SHA
    35e3962 View commit details
    Browse the repository at this point in the history

Commits on Jun 16, 2019

  1. Improved code coverage.

    Removed unreachable code.
    Added extra unit tests.
    nickl- committed Jun 16, 2019
    Configuration menu
    Copy the full SHA
    d4256fa View commit details
    Browse the repository at this point in the history
  2. Exposing ScriptEngine compiled methods.

    More examples for beanshell#528 exposing compiled methods for use by other scripts.
    nickl- committed Jun 16, 2019
    Configuration menu
    Copy the full SHA
    3b589ce View commit details
    Browse the repository at this point in the history

Commits on Jun 17, 2019

  1. 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.
    nickl- committed Jun 17, 2019
    Configuration menu
    Copy the full SHA
    9b544dd View commit details
    Browse the repository at this point in the history

Commits on Jun 18, 2019

  1. Improve BshScriptTestCase

    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.
    nickl- committed Jun 18, 2019
    Configuration menu
    Copy the full SHA
    01a034b View commit details
    Browse the repository at this point in the history
  2. POM: Add developer

    Developer @nickl- added to developer list in pom.xml
    nickl- committed Jun 18, 2019
    Configuration menu
    Copy the full SHA
    67d043e View commit details
    Browse the repository at this point in the history
  3. POM: javacc jdk version

    Change javacc plugin configuration for jdk version to use project property instead of hard coded value.
    nickl- committed Jun 18, 2019
    Configuration menu
    Copy the full SHA
    7da3148 View commit details
    Browse the repository at this point in the history
  4. POM: jacoco plugin tweaks

    Added default skip = false configuration for reference.
    Bind prepare agent goal execution to the generate resources phase.
    nickl- committed Jun 18, 2019
    Configuration menu
    Copy the full SHA
    46782cf View commit details
    Browse the repository at this point in the history

Commits on Jun 19, 2019

  1. 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.
    nickl- committed Jun 19, 2019
    Configuration menu
    Copy the full SHA
    9c5451b View commit details
    Browse the repository at this point in the history

Commits on Jun 20, 2019

  1. Fixed broken links

    For some reason relative paths don't work anymore.
    nickl- committed Jun 20, 2019
    Configuration menu
    Copy the full SHA
    f31d614 View commit details
    Browse the repository at this point in the history

Commits on Jun 21, 2019

  1. 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.
    nickl- committed Jun 21, 2019
    Configuration menu
    Copy the full SHA
    96de3d9 View commit details
    Browse the repository at this point in the history
  2. Documentation and formatting

    This commit only updates documentation, some minor code style fixes and parameter name normalisation. This does not change any functionality.
    nickl- committed Jun 21, 2019
    Configuration menu
    Copy the full SHA
    06a6426 View commit details
    Browse the repository at this point in the history
  3. Optimised string manipulation.

    It is more efficient to do the new line replacements on the shortened source string instead of before.
    nickl- committed Jun 21, 2019
    Configuration menu
    Copy the full SHA
    de81114 View commit details
    Browse the repository at this point in the history
  4. 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.
    nickl- committed Jun 21, 2019
    Configuration menu
    Copy the full SHA
    b9d3a1b View commit details
    Browse the repository at this point in the history
  5. 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.
    nickl- committed Jun 21, 2019
    Configuration menu
    Copy the full SHA
    cb6a345 View commit details
    Browse the repository at this point in the history

Commits on Jun 24, 2019

  1. Cosmetics only

    Removed some white space.
    nickl- committed Jun 24, 2019
    Configuration menu
    Copy the full SHA
    3dd4c6a View commit details
    Browse the repository at this point in the history
  2. Simplify SimpleNode usage

    Don't use SimpleNode when a simple Node will do.
    nickl- committed Jun 24, 2019
    Configuration menu
    Copy the full SHA
    de1e093 View commit details
    Browse the repository at this point in the history
  3. Sort tests when using verbose

    nickl- committed Jun 24, 2019
    Configuration menu
    Copy the full SHA
    5d90ee0 View commit details
    Browse the repository at this point in the history
  4. 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.
    nickl- committed Jun 24, 2019
    Configuration menu
    Copy the full SHA
    7b2cabc View commit details
    Browse the repository at this point in the history
  5. Add name space constructor name only.

    Instead of always using null parent constructor lets just accommodate a name only constructor too.
    nickl- committed Jun 24, 2019
    Configuration menu
    Copy the full SHA
    6012c31 View commit details
    Browse the repository at this point in the history

Commits on Jun 25, 2019

  1. 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.
    nickl- committed Jun 25, 2019
    Configuration menu
    Copy the full SHA
    35911c3 View commit details
    Browse the repository at this point in the history
  2. Extract method terminatedScript.

    Refactored eval method to extract reusable method for terminating statement strings.
    nickl- committed Jun 25, 2019
    Configuration menu
    Copy the full SHA
    6a3e6d0 View commit details
    Browse the repository at this point in the history
  3. 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.
    nickl- committed Jun 25, 2019
    Configuration menu
    Copy the full SHA
    7ddef7a View commit details
    Browse the repository at this point in the history
  4. Updates to print command.

    Changes as per enhancements made to StringUtil for data type values to string.
    Fixes beanshell#527
    nickl- committed Jun 25, 2019
    Configuration menu
    Copy the full SHA
    542bd0e View commit details
    Browse the repository at this point in the history

Commits on Jul 14, 2019

  1. Configuration menu
    Copy the full SHA
    0ae2c1c View commit details
    Browse the repository at this point in the history

Commits on Jul 17, 2019

  1. Merge pull request beanshell#562 from morris821028/master

    Performance: O(1) Listener add/delete
    nickl- committed Jul 17, 2019
    Configuration menu
    Copy the full SHA
    800e6c0 View commit details
    Browse the repository at this point in the history

Commits on Jul 21, 2019

  1. Fix plus assign null string.

    Fix for beanshell#566 cannot concat assign null string.
    nickl- committed Jul 21, 2019
    Configuration menu
    Copy the full SHA
    25427cb View commit details
    Browse the repository at this point in the history
  2. 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.
    nickl- committed Jul 21, 2019
    Configuration menu
    Copy the full SHA
    bd63c84 View commit details
    Browse the repository at this point in the history

Commits on Oct 13, 2019

  1. Configuration menu
    Copy the full SHA
    e16ea4a View commit details
    Browse the repository at this point in the history
  2. Fix .travis.yml

    matthinc committed Oct 13, 2019
    Configuration menu
    Copy the full SHA
    28d09fe View commit details
    Browse the repository at this point in the history

Commits on Dec 16, 2019

  1. Configuration menu
    Copy the full SHA
    37688c7 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a9da27a View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    fabaa5d View commit details
    Browse the repository at this point in the history
  4. Avoid jdk_switcher

    stain committed Dec 16, 2019
    Configuration menu
    Copy the full SHA
    7fb24c2 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    ef21e91 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    318d6d6 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    53be487 View commit details
    Browse the repository at this point in the history

Commits on Jan 31, 2020

  1. 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>
    dependabot[bot] committed Jan 31, 2020
    Configuration menu
    Copy the full SHA
    af1b837 View commit details
    Browse the repository at this point in the history

Commits on Feb 4, 2020

  1. 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
    pgiffuni committed Feb 4, 2020
    Configuration menu
    Copy the full SHA
    6014e15 View commit details
    Browse the repository at this point in the history

Commits on Feb 12, 2020

  1. Configuration menu
    Copy the full SHA
    27d526a View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    be47004 View commit details
    Browse the repository at this point in the history