FREEMARKER-64: Merged: FM3 Unification and improvement of function-like constructs
Merge commit 'refs/pull/32/head' of https://github.com/apache/incubator-freemarker into 3 Project: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/commit/b867458a Tree: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/tree/b867458a Diff: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/diff/b867458a Branch: refs/heads/3 Commit: b867458aa2dd937aeec20ab8cf764d2040815ac8 Parents: a3311d5 8d5263f Author: ddekany <[email protected]> Authored: Tue Aug 8 00:40:09 2017 +0200 Committer: ddekany <[email protected]> Committed: Tue Aug 8 00:40:57 2017 +0200 ---------------------------------------------------------------------- .gitignore | 2 + FM3-CHANGE-LOG.txt | 19 +- .../core/FM2ASTToFM3SourceConverter.java | 4 + .../converter/FM2ToFM3ConverterTest.java | 4 + ...a8DefaultObjectWrapperBridgeMethodsTest.java | 32 +- .../impl/Java8DefaultObjectWrapperTest.java | 50 ++-- .../freemarker/core/DirectiveCallPlaceTest.java | 6 +- .../EnvironmentGetTemplateVariantsTest.java | 2 +- .../core/TheadInterruptingSupportTest.java | 6 +- .../impl/AbstractParallelIntrospectionTest.java | 14 +- .../CommonSupertypeForUnwrappingHintTest.java | 8 +- .../model/impl/DefaultObjectWrapperTest.java | 59 ++-- .../core/model/impl/EnumModelsTest.java | 11 +- .../core/model/impl/ErrorMessagesTest.java | 24 +- .../impl/FineTuneMethodAppearanceTest.java | 3 +- .../core/model/impl/StaticModelsTest.java | 11 +- .../templatesuite/CoreTemplateTestSuite.java | 4 +- .../core/templatesuite/models/MultiModel2.java | 40 ++- .../models/SimpleTestFunction.java | 44 +++ .../templatesuite/models/SimpleTestMethod.java | 49 --- .../core/templatesuite/models/TestMethod.java | 12 - .../core/userpkg/AllFeaturesDirective.java | 21 +- .../core/userpkg/AllFeaturesFunction.java | 22 +- .../core/userpkg/NamedVarargsOnlyDirective.java | 2 +- .../userpkg/PositionalVarargsOnlyDirective.java | 2 +- .../userpkg/PositionalVarargsOnlyFunction.java | 2 +- .../core/userpkg/TestTemplateCallableModel.java | 14 +- .../core/userpkg/TwoNamedParamsDirective.java | 2 +- .../TwoNestedContentParamsDirective.java | 2 +- .../userpkg/TwoPositionalParamsDirective.java | 2 +- .../userpkg/TwoPositionalParamsFunction.java | 2 +- .../core/userpkg/UpperCaseDirective.java | 2 +- .../core/valueformat/NumberFormatTest.java | 2 +- .../org/apache/freemarker/core/ast-builtins.ast | 4 +- .../org/apache/freemarker/core/ast-range.ast | 6 +- .../templatesuite/expected/number-literal.txt | 10 +- .../templatesuite/expected/stringbimethods.txt | 2 - .../templatesuite/expected/type-builtins.txt | 28 +- .../core/templatesuite/templates/list2.ftl | 2 +- .../templatesuite/templates/number-literal.ftl | 2 +- .../templates/string-builtins3.ftl | 32 +- .../templatesuite/templates/stringbimethods.ftl | 4 - .../templatesuite/templates/type-builtins.ftl | 7 +- .../freemarker/core/ASTDynamicTopLevelCall.java | 77 +++-- .../apache/freemarker/core/ASTExpBuiltIn.java | 68 +++-- .../freemarker/core/ASTExpFunctionCall.java | 229 ++++++++++++++ .../freemarker/core/ASTExpListLiteral.java | 30 +- .../freemarker/core/ASTExpMethodCall.java | 230 -------------- .../freemarker/core/BuiltInsForDates.java | 47 ++- .../core/BuiltInsForExistenceHandling.java | 49 +-- .../core/BuiltInsForMultipleTypes.java | 120 ++++---- .../BuiltInsForNestedContentParameters.java | 20 +- .../freemarker/core/BuiltInsForNodes.java | 38 ++- .../freemarker/core/BuiltInsForSequences.java | 156 +++++----- .../core/BuiltInsForStringsBasic.java | 299 ++++++++++++------- .../core/BuiltInsForStringsEncoding.java | 23 +- .../freemarker/core/BuiltInsForStringsMisc.java | 32 +- .../core/BuiltInsForStringsRegexp.java | 51 ++-- .../org/apache/freemarker/core/Environment.java | 25 +- .../org/apache/freemarker/core/MessageUtil.java | 2 +- .../freemarker/core/NonFunctionException.java | 62 ++++ .../freemarker/core/NonMethodException.java | 62 ---- .../freemarker/core/NonStringException.java | 14 +- .../apache/freemarker/core/_CallableUtils.java | 169 +++++++++++ .../core/_ObjectBuilderSettingEvaluator.java | 31 +- .../core/_TemplateCallableModelUtils.java | 112 ------- .../freemarker/core/debug/DebugModel.java | 3 +- .../core/debug/RmiDebugModelImpl.java | 8 +- .../core/model/ArgumentArrayLayout.java | 18 ++ .../core/model/GeneralPurposeNothing.java | 18 +- .../core/model/TemplateCallableModel.java | 11 +- .../core/model/TemplateDirectiveModel.java | 45 ++- .../core/model/TemplateFunctionModel.java | 10 + .../core/model/TemplateMethodModel.java | 60 ---- .../core/model/TemplateMethodModelEx.java | 54 ---- .../core/model/TemplateModelException.java | 4 +- .../freemarker/core/model/impl/BeanModel.java | 16 +- .../core/model/impl/DefaultObjectWrapper.java | 29 +- .../core/model/impl/JavaMethodModel.java | 95 ++---- .../model/impl/OverloadedFixArgsMethods.java | 24 +- .../model/impl/OverloadedJavaMethodModel.java | 86 ++++++ .../core/model/impl/OverloadedMethods.java | 59 ++-- .../core/model/impl/OverloadedMethodsModel.java | 65 ---- .../model/impl/OverloadedMethodsSubset.java | 52 ++-- .../model/impl/OverloadedVarArgsMethods.java | 57 ++-- .../core/model/impl/ResourceBundleModel.java | 46 +-- .../core/model/impl/SimpleJavaMethodModel.java | 123 ++++++++ .../core/model/impl/SimpleMethod.java | 86 +++--- .../freemarker/core/model/impl/StaticModel.java | 15 +- .../model/impl/TemplateModelListSequence.java | 13 +- .../freemarker/core/model/impl/_MethodUtil.java | 40 +-- .../apache/freemarker/core/util/FTLUtil.java | 11 +- freemarker-core/src/main/javacc/FTL.jj | 4 +- .../apache/freemarker/servlet/IncludePage.java | 2 +- .../jsp/CustomTagAndELFunctionCombiner.java | 157 ---------- .../freemarker/servlet/jsp/JspTagModelBase.java | 33 +- .../servlet/jsp/SimpleTagDirectiveModel.java | 2 +- .../servlet/jsp/TagDirectiveModel.java | 2 +- .../freemarker/servlet/jsp/TaglibFactory.java | 22 +- ...eDirectiveModelAndTemplateFunctionModel.java | 77 +++++ .../freemarker/servlet/jsp/TLDParsingTest.java | 19 +- .../test/templateutil/AssertDirective.java | 2 +- .../templateutil/AssertEqualsDirective.java | 2 +- .../test/templateutil/AssertFailsDirective.java | 2 +- .../test/templateutil/NoOutputDirective.java | 2 +- 105 files changed, 2055 insertions(+), 1841 deletions(-) ----------------------------------------------------------------------
