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