You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by he...@apache.org on 2019/10/28 16:58:50 UTC

[commons-jexl] branch master updated (d3e7021 -> 686f580)

This is an automated email from the ASF dual-hosted git repository.

henrib pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/commons-jexl.git.


    from d3e7021  JEXL-246: Quiesced down logging, was missing check on actual signature diff
     new 5ad0288  Replaced the Subversion URLs with the equivalent ones on Gitbox
     new 7906c33  [JEXL] Attempting git commit
     new 2996187  Updated the year in NOTICE.txt
     new dffcc16  JEXL-252, JEXL-250: added safe navigation and string interpolation to identifier resolution
     new ffc2139  JEXL-254: Fixed the name of the test classes
     new 1e8d757  JEXL-252, JEXL-250: hardened logic and more tests
     new 2aa8022  JEXL-252, JEXL-250: hardened logic and more tests
     new dbd18ec  JEXL-252, JEXL-250: hardened logic and more tests
     new 9c4433b  JEXL-252, JEXL-250: syntax documentation
     new d7fb538  JEXL-255: implemented a test timeout annotation, fixed code around it
     new 6db56bf  JEXL-255: separated script execution cancellation and interruption
     new 2aa57b9  JEXL-256: a test/sample for throwing (jexl) exception from a context set
     new 8afe559  [JEXL]: - preparing to add 'escaped' identifiers
     new 2a46b94  [JEXL]: - preparing to add 'escaped' identifiers
     new d5943e3  JEXL: fixing preparation to add 'escaped' identifiers
     new cd40852  JEXL-260: added logic in interpreter, added test, updated release notes & changes
     new f1f466d  JEXL-261: api change, added logic in engine and interpreter, added test, updated release notes & changes
     new feef383  JEXL-260: performance regression fix
     new 6c8f22a  JEXL-261: reload namespaces which are classes on setClassLoader
     new 839efbd  JEXL-264: adding syntax in javacc jjt, escaping/unescaping identifier parsing methods, tests and book-keeping
     new 3520002  JEXL-265: making namespace identifier explicit in grammar and code
     new 732f933  Introduce regex Pattern literal ~//
     new 426c282  Regex literal to be parse-time constant
     new 20af879  JEXL: cleansing and refactoring the Interpreter.call(...) that was way too convoluted
     new 01eebc4  JEXL-266: added an example/prototype through forEach operator 'overload'
     new 06122d3  JEXL-266: augmented example/prototype with 2 forEach operator 'overloads'
     new b6c6db7  JEXL-267: added test illustrating intended behaviors
     new cb4f54a  JEXL-270, JEXL-271: fix hoisting resolution and use thread-local current interpreter to capture env while currying, fix script re-stringification, added tests
     new 2fdb427  JEXL-271: simplified curry(...) after being hinted it was a form of closure
     new e51bcaa  JEXL-271, JEXL-270: release notes, changes
     new 8603a6d  JEXL: enable easier log lib change and package rename
     new 8bdde09  JEXL-271: reporting the unbound parameters (curry()), tls interpreter cleanup
     new 2f7d6e9  JEXL-272: properly detect and report null property dereference JEXL-271: moved lambda/curry tests to test class
     new 006e455  JEXL-272: releases notes typo
     new 30d1975  Merge branch 'master' into experimental-regex
     new 3f85719  Merge branch 'experimental-regex' of https://github.com/dmitri-blinov/commons-jexl.git into experimental-regex
     new b8c4b4e  Reuse parsing method; Nitpick on doc
     new ce22c98  JEXL-175: changes & release notes
     new 65ce82f  Introduce do/while loop syntax
     new 8aa5ca9  Merge branch 'experimental-do-while' of https://github.com/dmitri-blinov/commons-jexl
     new 4c17fb2  JEXL: more tests on do...while loops
     new 02f4e33  JEXL-273: changes & release notes
     new 650575a  JEXL-275: added option, tests and changes
     new 5904195  JEXL-274: added JexlBuilder option, interpreter code, tests and changes
     new 4d1ad97  Documentation update
     new 8880af3  Documentation update cleanup
     new 24b3128  Merge branch 'master' into documentation-brushup
     new 295f344  Merge dmitri-blinov/documentation-brushup into JEXL-233
     new 8f6e73a  JEXL: nitpicks in Javadoc
     new 669ecfe  JEXL-278: added logic to better capture ambiguous statements and a method to attempt cleaning them from the source
     new 1d2be49  JEXL-278: refined logic to better capture ambiguous statements
     new ebc24e5  JEXL-279: refined logic to better capture null variables dereferencing in interpreter
     new 51a58ed  JEXL-281: refined logic in MethodKey.isVarArgs avoiding costly class hierarchy walk
     new e7d212e  JEXL-281: releases notes and changes
     new 3b4a484  JEXL-282: fixed grammar and test
     new 1a9f28f  JEXL-280: added stack of loop counters in parser and tests
     new 23c4577  JEXL-279: refined logic to discriminate undefined vs null variables or properties
     new f044b83  JEXL-279: updated tests
     new 829a6d4  JEXL-279: fix reset
     new 3d648db  JEXL-257: partial fix by being more precise in reusing solved method instances in set* making tryInvoke a tad safer
     new f82263a  JEXL: being explicit about the source incompatiblity changes brought by 3.2
     new d60c3f6  JEXL-279: safe navigation was not working on function call followed by array dereference (call()[0])
     new 8de22fb  JEXL-285: in for statement, use local var (vs global/context) as iteration var if one exists
     new 889b4b0  JEXL-285: detect reuse of local vars in 'for' statements at parsing time
     new e0d1b84  JEXL-285: detect reuse of local vars in 'for' statements at parsing time
     new 1b5472e  JEXL-290: check for safe navigation around unsolvableMethod calls
     new cb62702  JEXL-290: check for safe navigation around unsolvableMethod calls
     new 4dc0dcf  JEXL-286: allow for statements without body to iterate
     new 817224b  JEXL-287, JEXL-289: differentiate declared vs defined local variables (JavaScript-like behavior wrt global/local), properly control parameter/argument binding wrt cardinality
     new 37f66c2  JEXL-289: fix regression in edge case
     new d23fc99  JEXL-287: found regression when local variables are defined, not declared and returned with safe navigation
     new 31eec80  JEXL-280: found new case when lambda created within loop of a lambda, fixed loop counter stack management Task #JEXL-280 - break/continue statements outside of the loop
     new b3ea996  JEXL: nitpick on debugger missing a space on Elvis operator output
     new c39f4cf  JEXL-291: use user-provided property object if sandbox does not change input Task #JEXL-291 - Using sandbox prevents array-syntax lookup by number in Map
     new 1f00432  JEXL-295: add unary plus support and arithmetic positivize method Task #JEXL-295 - Add unary plus operator
     new 76af65b  JEXL-295: positivize performs integral promotion of char, byte, short Task #JEXL-295 - Add unary plus operator
     new 781f3bb  JEXL-295: cache constant unary plus/minus number literal only after checking deterministic guard Task #JEXL-295 - Add unary plus operator
     new fcb8d2e  JEXL-295: doc, release-notes, changes Task #JEXL-295 - Add unary plus operator
     new 7d6880b  JEXL-292: passing permissions from Uberspect to Introspector
     new bf6d0dd  JEXL-296: fix grammar, add test Task #JEXL-296 - Real literal in scientific format is not parsed without suffix
     new 94be437  JEXL-288: fix grammar, add test
     new 11a82f0  JEXL-292: allowing permissions to be subclassed
     new 43cbadc  fighting with git...
     new db1912d  Merge origin/master
     new b508e51  JEXL-253: first code drop, testing waters
     new e441203  JEXL-292: release-notes and changes
     new 028f2c4  Merge origin/master
     new 48292b2  JEXL-253: readying for testing
     new fb59841  JEXL-299: added argument classes to method signature in Exception reporting
     new 37dfde5  JEXL-299: added argument classes to method signature in Exception reporting
     new f9cd296  JEXL-257: catch and wrap InvocationTargetException in thrown JexlEXception.TryFailed from tryInvoke
     new 2b27106  JEXL-257 , JEXL-299: added specific tests
     new 315f0b9  JEXL-299: corrected signature generation (square brackets are already generated by class.getSimpleName())
     new 414f3d7  JEXL-299, JEXL-257: release notes and changes
     new 0d131f4  JEXL-253: refined logic to find inheritable permissions, added test
     new 174a7d5  JEXL: reporting fixes related to debugging templates wrt new-lines
     new 78deafd  JEXL: reporting fixes related to debugging templates wrt new-lines
     new f6413a3  JEXL: refactored fixes related to debugging templates wrt new-lines
     new ee40b6e  JEXL-300: limit antish resolution to non-safe non-expression cases; refactored IntrepreterBase/Interpreter for a better technical/functional split
     new daee51f  Update NOTICE file for 2019.
     new 3f92ccf  JEXL-300: unit test
     new 68d1b31  JEXL-30{1,3,4,5}: modified syntax (jjt) to better handle blocks and 'var' in identifiers; modified resolution and error handling of solving dot/array variables; tests, changes, release-notes
     new a0ac2f4  JEXL-30{3,4}: modified syntax (jjt) to better handle blocks and keywords in identifiers; modified tests
     new 5819986  Fix bad EOLs
     new 3067866  JEXL-298: de-interlace size/empty operators and size/empty method handling, simplified grammar, removed unused code, added test Task #JEXL-298 - Unable to call 'empty' and 'size' member methods with parameters
     new 93f038d  Javadoc: Use "file name" instead of "filename".
     new 66d5f6e  JEXL-302: added test attempting to narrow issue
     new 57c4d21  JEXL: updated parent pom
     new 7042254  JEXL-298: tidy empty/isEmpty logic
     new 5ba02ff  Name "Apache Commons" in page title.
     new 041fcaf  JEXL-306: ensure ternary expressions only protect the condition part against variable resolution failure Task #JEXL-306 - Ternary operator ? protects also its branches from resolvance errors
     new a3c210c  JEXL-302: added jexl builder flag to control variable collecting behavior (collectAll); fixed wrong collecting behavior on array references Task #JEXL-302 - JexlScript.getVariables returns strange values for array access
     new 9ca1d67  JEXL-302, JEXL-306: changes and release notes
     new a69782b  JEXL-306: attempting behavior harmonization; modified tests
     new c6fa248  JEXL-306: homogenous behavior for ternary (??, ?:) protected conditions; unsolvable or null variable or properties will not generate errors.
     new a10776a  JEXL-306: simplify ternary protection handling, factorize behavior
     new 4ffa7ac  JEXL-305: TemplateDebugger must be able to behave as (script) Debugger (its superclass) when there are no template expressions Task #JEXL-305 - Script debugger produces incorrect syntax
     new f7f3d85  JEXL-305: Triming source may lead to exception being thrown
     new 757dcb9  JEXL-253: Added public API to allow creation of inheritable permissions in sandbox; added tests Task #JEXL-253 - Permissions by super type in JexlSandbox
     new 09c8ca8  JEXL-308: improve overload method selection, simplify most-applicable method selection, add tests Task #JEXL-308 - Improve overloaded method selection
     new 2d35da6  Use HTTPS to access Apache resources.
     new 6e09128  Replace Apache HTTP URL with HTTPS version.
     new 7612e23  Fix the site's source repository link.
     new 26bf291  Fix the site's source repository link.
     new 545ce96  Merge origin/master
     new ca41392  JEXL-309: generate comment lines when replacing verbatims in templates to keep line number in sync Task #JEXL-309 - Line numbers are not correct when template generate errors
     new 6249239  Drop Oracle JDK 8, add OpenJDK 13.
     new 9064d42  JEXL-311: parse verbatim expressions with correct scope, added tests using lambdas Task #JEXL-311 - Jxlt template scripts fail using verbatim expressions embedded in lambdas
     new 71d1850  JEXL-312: create explicit cache miss entry when method is disallowed by @NoJexl Task #JEXL-312 - @NoJexl fails to disallow method call
     new 44166cf  From Travis-CI: "This job ran on our Precise environment, which is in the process of being decommissioned. Please update to a newer Ubuntu version by specifying dist: xenial in your .travis.yml."
     new c46fb0d  JEXL-315: added handling of delimiters at end of lines Task #JEXL-315 - JxltEngine literal string strings ending in \ $ or # throw JxltEngine$Exception
     new d159017  JEXL-307: added lexical and lexical shade option; JEXL-307: added lexical feature, controlling var redefinition at parsing time; JEXL-307: refactored option (JexlOption) and added feature to deal with lexical scope; JEXL-307: refactored test code to use new option classes; JEXL-307: added lexical scope and frame handling interpreting scripts, lambdas, for-loops; JEXL-314: changed JexlArithmetic/Interpreter to handle NullOperand exception when needed Task #JEXL-307 - Vari [...]
     new fdda2e2  JEXL-314: updated test, attempting triggering gitbox/github sync Task #JEXL-314 - Comparison NULL values of variables NAME1.NAME2
     new 5ad1671  JEXL-314: updated test, attempting triggering gitbox/github sync
     new 074de11  JEXL: getting ready for 3.2, gitbox/github sync
     new 686f580  JEXL: getting ready for 3.2, gitbox/github sync

The 136 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .travis.yml                                        |   58 +-
 NOTICE.txt                                         |    2 +-
 README.md                                          |   10 +-
 RELEASE-NOTES.txt                                  |   71 +-
 pom.xml                                            |  186 +--
 src/main/config/checkstyle.xml                     |   12 +-
 src/main/config/clirr-ignored.xml                  |   50 +
 .../org/apache/commons/jexl3/JexlArithmetic.java   |  160 ++-
 .../java/org/apache/commons/jexl3/JexlBuilder.java |  117 +-
 .../java/org/apache/commons/jexl3/JexlContext.java |   19 +-
 .../java/org/apache/commons/jexl3/JexlEngine.java  |   40 +-
 .../org/apache/commons/jexl3/JexlException.java    |  385 +++++-
 .../org/apache/commons/jexl3/JexlFeatures.java     |   21 +-
 .../java/org/apache/commons/jexl3/JexlInfo.java    |   33 +-
 .../org/apache/commons/jexl3/JexlOperator.java     |   25 +-
 .../java/org/apache/commons/jexl3/JexlOptions.java |  192 +++
 .../java/org/apache/commons/jexl3/JexlScript.java  |   42 +-
 .../org/apache/commons/jexl3/ObjectContext.java    |    4 +-
 .../apache/commons/jexl3/annotations/package.html  |    3 +-
 .../org/apache/commons/jexl3/internal/Closure.java |   51 +-
 .../apache/commons/jexl3/internal/Debugger.java    |  120 +-
 .../org/apache/commons/jexl3/internal/Engine.java  |  158 ++-
 .../org/apache/commons/jexl3/internal/Frame.java   |  126 ++
 .../apache/commons/jexl3/internal/Interpreter.java | 1299 +++++++++-----------
 .../commons/jexl3/internal/InterpreterBase.java    |  793 +++++++++++-
 .../commons/jexl3/internal/LexicalScope.java       |  118 ++
 .../apache/commons/jexl3/internal/Operators.java   |   26 +-
 .../org/apache/commons/jexl3/internal/Options.java |  229 ++++
 .../org/apache/commons/jexl3/internal/Scope.java   |  156 +--
 .../org/apache/commons/jexl3/internal/Script.java  |  103 +-
 .../commons/jexl3/internal/ScriptVisitor.java      |   34 +-
 .../commons/jexl3/internal/TemplateDebugger.java   |  105 +-
 .../commons/jexl3/internal/TemplateEngine.java     |   30 +-
 .../jexl3/internal/TemplateInterpreter.java        |   70 +-
 .../commons/jexl3/internal/TemplateScript.java     |   82 +-
 .../internal/introspection/AbstractExecutor.java   |    9 +
 .../internal/introspection/BooleanGetExecutor.java |    5 +-
 .../jexl3/internal/introspection/ClassMap.java     |   14 +-
 .../internal/introspection/ConstructorMethod.java  |    4 +-
 .../internal/introspection/DuckGetExecutor.java    |   17 +-
 .../internal/introspection/DuckSetExecutor.java    |   22 +-
 .../jexl3/internal/introspection/Introspector.java |   18 +-
 .../internal/introspection/MapSetExecutor.java     |   14 +-
 .../internal/introspection/MethodExecutor.java     |   19 +-
 .../jexl3/internal/introspection/MethodKey.java    |   99 +-
 .../jexl3/internal/introspection/Permissions.java  |    8 +-
 .../introspection/PropertyGetExecutor.java         |   12 +-
 .../introspection/PropertySetExecutor.java         |   33 +-
 .../internal/introspection/SandboxUberspect.java   |   35 +-
 .../jexl3/internal/introspection/Uberspect.java    |   30 +-
 .../jexl3/internal/introspection/package.html      |    2 +-
 .../org/apache/commons/jexl3/internal/package.html |    2 +-
 .../commons/jexl3/introspection/JexlMethod.java    |    5 +-
 .../jexl3/introspection/JexlPropertyGet.java       |    6 +-
 .../jexl3/introspection/JexlPropertySet.java       |    6 +-
 .../commons/jexl3/introspection/JexlSandbox.java   |  233 +++-
 .../commons/jexl3/introspection/JexlUberspect.java |    6 +
 .../commons/jexl3/introspection/package.html       |    2 +-
 .../java/org/apache/commons/jexl3/package.html     |   28 +-
 .../parser/{ASTVar.java => ASTAmbiguous.java}      |   11 +-
 .../parser/{ASTSetLiteral.java => ASTBlock.java}   |   54 +-
 ...ASTSetLiteral.java => ASTForeachStatement.java} |   54 +-
 .../apache/commons/jexl3/parser/ASTIdentifier.java |    8 +-
 .../commons/jexl3/parser/ASTIdentifierAccess.java  |   26 +-
 .../{ASTVar.java => ASTIdentifierAccessJxlt.java}  |   26 +-
 .../{ASTVar.java => ASTIdentifierAccessSafe.java}  |   14 +-
 ...STVar.java => ASTIdentifierAccessSafeJxlt.java} |   14 +-
 .../apache/commons/jexl3/parser/ASTJexlLambda.java |   18 -
 .../apache/commons/jexl3/parser/ASTJexlScript.java |   60 +-
 .../{ASTVar.java => ASTNamespaceIdentifier.java}   |   27 +-
 ...{ASTStringLiteral.java => ASTRegexLiteral.java} |   20 +-
 .../commons/jexl3/parser/FeatureController.java    |    8 +
 .../org/apache/commons/jexl3/parser/JexlNode.java  |  103 +-
 .../apache/commons/jexl3/parser/JexlParser.java    |  284 ++++-
 .../org/apache/commons/jexl3/parser/Parser.jjt     |  284 +++--
 .../apache/commons/jexl3/parser/ParserVisitor.java |   10 +-
 .../apache/commons/jexl3/parser/StringParser.java  |   71 ++
 .../org/apache/commons/jexl3/parser/package.html   |    2 +-
 .../commons/jexl3/scripting/JexlScriptEngine.java  |    2 +-
 .../org/apache/commons/jexl3/scripting/Main.java   |    4 +-
 .../apache/commons/jexl3/scripting/package.html    |    2 +-
 src/site/site.xml                                  |    2 +-
 src/site/xdoc/building.xml                         |    2 +-
 src/site/xdoc/changes.xml                          |  131 +-
 src/site/xdoc/index.xml                            |   12 +-
 src/site/xdoc/mail-lists.xml                       |   18 +-
 src/site/xdoc/reference/examples.xml               |   30 +-
 src/site/xdoc/reference/jsr223.xml                 |    2 +-
 src/site/xdoc/reference/syntax.xml                 |  168 ++-
 .../org/apache/commons/jexl3/AnnotationTest.java   |   52 +-
 .../org/apache/commons/jexl3/AntishCallTest.java   |   56 +
 .../commons/jexl3/ArithmeticOperatorTest.java      |   10 +
 .../org/apache/commons/jexl3/ArithmeticTest.java   |  100 +-
 .../apache/commons/jexl3/BitwiseOperatorTest.java  |    2 +-
 .../java/org/apache/commons/jexl3/CaptureLog.java  |   13 +
 .../org/apache/commons/jexl3/ClassCreator.java     |  130 +-
 .../org/apache/commons/jexl3/ClassCreatorTest.java |  185 ++-
 .../java/org/apache/commons/jexl3/DoWhileTest.java |  108 ++
 .../org/apache/commons/jexl3/ExceptionTest.java    |   52 +-
 .../org/apache/commons/jexl3/FeaturesTest.java     |    2 +-
 src/test/java/org/apache/commons/jexl3/IfTest.java |   73 +-
 .../{IssuesTest100.java => Issues100Test.java}     |   17 +-
 .../org/apache/commons/jexl3/Issues200Test.java    | 1020 +++++++++++++++
 .../org/apache/commons/jexl3/Issues300Test.java    |  326 +++++
 .../java/org/apache/commons/jexl3/IssuesTest.java  |   69 +-
 .../org/apache/commons/jexl3/IssuesTest200.java    |  350 ------
 .../java/org/apache/commons/jexl3/JXLTTest.java    |  151 ++-
 .../org/apache/commons/jexl3/JexlEvalContext.java  |  158 +--
 .../java/org/apache/commons/jexl3/JexlTest.java    |   21 +-
 .../org/apache/commons/jexl3/JexlTestCase.java     |   14 +-
 .../java/org/apache/commons/jexl3/LambdaTest.java  |  110 +-
 .../java/org/apache/commons/jexl3/LexicalTest.java |  228 ++++
 .../java/org/apache/commons/jexl3/MethodTest.java  |  173 ++-
 .../java/org/apache/commons/jexl3/PragmaTest.java  |   76 +-
 .../apache/commons/jexl3/PropertyAccessTest.java   |  260 +++-
 .../org/apache/commons/jexl3/ReadonlyContext.java  |   47 +-
 .../apache/commons/jexl3/ScriptCallableTest.java   |   82 ++
 .../java/org/apache/commons/jexl3/ScriptTest.java  |   13 +-
 .../java/org/apache/commons/jexl3/VarTest.java     |   75 +-
 .../internal/introspection/DiscoveryTest.java      |   95 ++
 .../commons/jexl3/introspection/SandboxTest.java   |  117 ++
 .../org/apache/commons/jexl3/junit/Asserter.java   |   11 +-
 .../org/apache/commons/jexl3/junit/package.html    |   10 +-
 .../apache/commons/jexl3/parser/ParserTest.java    |   23 +-
 124 files changed, 8466 insertions(+), 2789 deletions(-)
 create mode 100644 src/main/config/clirr-ignored.xml
 create mode 100644 src/main/java/org/apache/commons/jexl3/JexlOptions.java
 create mode 100644 src/main/java/org/apache/commons/jexl3/internal/Frame.java
 create mode 100644 src/main/java/org/apache/commons/jexl3/internal/LexicalScope.java
 create mode 100644 src/main/java/org/apache/commons/jexl3/internal/Options.java
 copy src/main/java/org/apache/commons/jexl3/parser/{ASTVar.java => ASTAmbiguous.java} (87%)
 copy src/main/java/org/apache/commons/jexl3/parser/{ASTSetLiteral.java => ASTBlock.java} (59%)
 copy src/main/java/org/apache/commons/jexl3/parser/{ASTSetLiteral.java => ASTForeachStatement.java} (58%)
 copy src/main/java/org/apache/commons/jexl3/parser/{ASTVar.java => ASTIdentifierAccessJxlt.java} (65%)
 copy src/main/java/org/apache/commons/jexl3/parser/{ASTVar.java => ASTIdentifierAccessSafe.java} (78%)
 copy src/main/java/org/apache/commons/jexl3/parser/{ASTVar.java => ASTIdentifierAccessSafeJxlt.java} (78%)
 copy src/main/java/org/apache/commons/jexl3/parser/{ASTVar.java => ASTNamespaceIdentifier.java} (66%)
 copy src/main/java/org/apache/commons/jexl3/parser/{ASTStringLiteral.java => ASTRegexLiteral.java} (77%)
 create mode 100644 src/test/java/org/apache/commons/jexl3/DoWhileTest.java
 rename src/test/java/org/apache/commons/jexl3/{IssuesTest100.java => Issues100Test.java} (98%)
 create mode 100644 src/test/java/org/apache/commons/jexl3/Issues200Test.java
 create mode 100644 src/test/java/org/apache/commons/jexl3/Issues300Test.java
 delete mode 100644 src/test/java/org/apache/commons/jexl3/IssuesTest200.java
 create mode 100644 src/test/java/org/apache/commons/jexl3/LexicalTest.java