This is an automated email from the ASF dual-hosted git repository. sunlan pushed a change to branch refine-groovydoc in repository https://gitbox.apache.org/repos/asf/groovy.git.
from f2a4fc8 Extract javadoc via traversing AST new 728b978 Update git repository link in the README new 59c8f14 GROOVY-8928: Bump jackson-dataformat-yaml and jackson-databind to 2.9.8 new 66aadb2 GROOVY-8777/GROOVY-8776: @MapConstructor on inner class in conjunction with @CompileStatic new 141c1bf Trivial refactoring: replace with direct class object access new 20e7c41 Trivial refactoring: remove unnecessary condition new 03a5c97 Trivial refactoring: remove unused imports new e96f20b GROOVY-8914: Error compiling static inner class that extends some other (static) inner class new 38e2795 GROOVY-7233: Pre-factor some non-consequential changes new f600178 GROOVY-7233: Pre-factor (fix merge glitch) new 008509f build tweak: move test to use a slightly earlier phase to avoid stray class files from being produced new 6acd8e0 GROOVY-8931: AstNodeToScriptVisitor - wrong "extends/implements" order new c7060d1 GROOVY-8931: AstNodeToScriptVisitor - wrong "extends/implements" order (tweak test) new 254c7c8 GROOVY-8936: NPE occurred when `null` message passed into `MissingPropertyException`(closes #844) new 61ecb74 GROOVY-8937: Bump antlr to 4.7.2 new 5422c81 GROOVY-8935: Provide a @NullCheck AST transformation similar to Lombok's NonNull (closes #845) new f4ad23e GROOVY-7233: Configurable Access Modifier for Log AST Transformations (closes #843) new e305312 revert to gradle 4.10.3 to check impact on CI server new f40f76a GROOVY-8843: Fix illegal reflective access within o.c.g.vmplugin.v7.Java7 (closes #811) new 01b4dba GROOVY-8939: Add methods in StringGroovyMethods for better API Usage (closes #846) new a924cfd cleanup/remove @author tags as per Apache recommended practices for groovy-ant, groovy-console, groovy-groovydoc new 25a8365 cleanup/remove @author tags as per Apache recommended practices for groovy-groovysh, groovy-macro new 77ab47e Fix typos (closes #842) new b3c9aff cleanup/remove @author tags as per Apache recommended practices for groovy-servlet, groovy-sql new 86f0aae fix typo new 8a176f2 cleanup/remove @author tags as per Apache recommended practices for groovy-test, groovy-xml, parser-antlr4 new 982c8b1 cleanup/remove @author tags as per Apache recommended practices for groovy-nio, groovy-swing, groovy-templates new da2aabb cleanup/remove @author tags as per Apache recommended practices for groovy-swing (typo) new 9557566 cleanup/remove @author tags as per Apache recommended practices for groovy-bsf, groovy-jmx, groovy-json, groovy-jsr223 The 28 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: README.adoc | 2 +- build.gradle | 12 +- gradle.properties | 2 +- gradle/pomconfigurer.gradle | 114 ++++- gradle/wrapper/gradle-wrapper.jar | Bin 56177 -> 55741 bytes gradle/wrapper/gradle-wrapper.properties | 2 +- gradlew | 2 +- gradlew.bat | 2 +- .../groovy/groovy/lang/GroovyRuntimeException.java | 7 +- src/main/groovy/groovy/lang/GroovyShell.java | 3 +- .../groovy/lang/MissingPropertyException.java | 3 + src/main/groovy/groovy/transform/NullCheck.java | 83 ++++ .../transform/options/DefaultPropertyHandler.java | 8 +- src/main/groovy/groovy/util/logging/Commons.java | 19 +- src/main/groovy/groovy/util/logging/Log.java | 24 +- src/main/groovy/groovy/util/logging/Log4j.java | 20 +- src/main/groovy/groovy/util/logging/Log4j2.java | 18 +- src/main/groovy/groovy/util/logging/Slf4j.java | 20 +- .../codehaus/groovy/ast/tools/GeneralUtils.java | 4 + .../classgen/InnerClassCompletionVisitor.java | 11 +- .../groovy/runtime/StringGroovyMethods.java | 516 +++++++++++++++++++++ .../groovy/transform/LogASTTransformation.java | 85 +++- .../transform/NullCheckASTTransformation.java | 92 ++++ .../transform/SortableASTTransformation.java | 1 - .../transform/ToStringASTTransformation.java | 1 - .../transform/stc/StaticTypeCheckingVisitor.java | 4 +- .../org/codehaus/groovy/vmplugin/v7/Java7.java | 67 +-- .../org/codehaus/groovy/vmplugin/v9/Java9.java | 66 ++- src/spec/doc/design-pattern-composite.adoc | 2 +- src/test/gls/innerClass/InnerClassTest.groovy | 21 + src/test/groovy/GroovyMethodsTest.groovy | 334 +++++++++++++ src/test/groovy/bugs/ByteIndexBug.groovy | 3 - .../lang/MissingPropertyExceptionTest.java} | 62 +-- src/test/groovy/util/logging/CommonsTest.groovy | 84 +++- src/test/groovy/util/logging/Log4j2Test.groovy | 89 +++- src/test/groovy/util/logging/Log4jTest.groovy | 96 +++- src/test/groovy/util/logging/LogTest.groovy | 107 ++++- src/test/groovy/util/logging/Slf4jTest.groovy | 75 ++- src/test/org/codehaus/groovy/dummy/FooHandler.java | 3 - .../transform/MapConstructorTransformTest.groovy | 43 ++ .../main/groovy/groovy/util/FileNameFinder.groovy | 3 - .../src/main/java/groovy/util/AntBuilder.java | 5 - .../groovy/ant/AntProjectPropertiesDelegate.java | 3 - .../codehaus/groovy/ant/CompileTaskSupport.java | 2 - .../java/org/codehaus/groovy/ant/FileIterator.java | 2 - .../java/org/codehaus/groovy/ant/FileScanner.java | 3 - .../groovy/ant/FileSystemCompilerFacade.java | 2 - .../org/codehaus/groovy/ant/GenerateStubsTask.java | 2 - .../java/org/codehaus/groovy/ant/GroovycTask.java | 2 - .../org/codehaus/groovy/ant/LoggingHelper.java | 2 - .../org/codehaus/groovy/ant/RootLoaderRef.java | 1 - .../org/codehaus/groovy/ant/UberCompileTask.java | 25 +- .../groovy/org/codehaus/groovy/ant/GroovyTest.java | 2 - .../org/codehaus/groovy/ant/GroovycTest.java | 5 +- .../codehaus/groovy/bsf/CachingGroovyEngine.java | 2 - .../java/org/codehaus/groovy/bsf/GroovyEngine.java | 7 +- .../test/java/org/codehaus/groovy/bsf/BSFTest.java | 5 +- .../java/org/codehaus/groovy/bsf/CacheBSFTest.java | 2 - .../src/main/groovy/groovy/inspect/TextNode.groovy | 2 - .../groovy/groovy/inspect/TextTreeNodeMaker.groovy | 2 - .../inspect/swingui/AstNodeToScriptAdapter.groovy | 4 +- .../groovy/inspect/swingui/ObjectBrowser.groovy | 123 ++--- .../inspect/swingui/ScriptToTreeNodeAdapter.groovy | 3 - .../main/groovy/groovy/ui/ConsoleIvyPlugin.groovy | 3 - .../src/main/groovy/groovy/ui/ConsoleSupport.java | 2 - .../main/groovy/groovy/ui/ConsoleTextEditor.java | 5 - .../groovy/groovy/ui/text/FindReplaceUtility.java | 3 - .../main/groovy/groovy/ui/text/GroovyFilter.java | 4 - .../ui/text/StructuredSyntaxDocumentFilter.java | 4 - .../groovy/ui/text/StructuredSyntaxHandler.java | 3 - .../groovy/ui/text/StructuredSyntaxResources.java | 2 - .../src/main/groovy/groovy/ui/text/TextEditor.java | 2 - .../groovy/groovy/ui/text/TextUndoManager.java | 2 - .../swingui/AstNodeToScriptAdapterTest.groovy | 8 +- .../swingui/ScriptToTreeNodeAdapterTest.groovy | 2 - .../ui/HistoryRecordGetTextToRunTests.groovy | 4 - .../groovy/groovy/ui/text/GroovyFilterTests.groovy | 3 - .../groovy/tools/groovydoc/GroovyDocTool.java | 3 - .../groovy-groovydoc/src/spec/doc/groovydoc.adoc | 2 - .../groovy/tools/groovydoc/CustomGroovyDoc.java | 2 - .../groovy/tools/groovydoc/GroovyDocTest.java | 3 - .../tools/groovydoc/GroovyRootDocBuilderTest.java | 3 - .../groovydoc/SimpleGroovyRootDocTests.groovy | 3 - .../groovy/tools/shell/BufferManager.groovy | 2 - .../org/codehaus/groovy/tools/shell/Command.groovy | 2 - .../groovy/tools/shell/CommandAlias.groovy | 2 - .../groovy/tools/shell/CommandException.groovy | 2 - .../groovy/tools/shell/CommandRegistry.groovy | 2 - .../groovy/tools/shell/CommandSupport.groovy | 2 - .../tools/shell/ComplexCommandSupport.groovy | 2 - .../groovy/tools/shell/ExitNotification.groovy | 2 - .../codehaus/groovy/tools/shell/Groovysh.groovy | 2 - .../tools/shell/InteractiveShellRunner.groovy | 4 - .../codehaus/groovy/tools/shell/Interpreter.groovy | 2 - .../org/codehaus/groovy/tools/shell/Parser.groovy | 2 - .../org/codehaus/groovy/tools/shell/Shell.groovy | 2 - .../codehaus/groovy/tools/shell/ShellRunner.groovy | 2 - .../tools/shell/commands/AliasCommand.groovy | 2 - .../tools/shell/commands/ClearCommand.groovy | 2 - .../tools/shell/commands/DisplayCommand.groovy | 2 - .../groovy/tools/shell/commands/DocCommand.groovy | 3 - .../groovy/tools/shell/commands/EditCommand.groovy | 2 - .../groovy/tools/shell/commands/ExitCommand.groovy | 2 - .../groovy/tools/shell/commands/GrabCommand.groovy | 2 - .../groovy/tools/shell/commands/HelpCommand.groovy | 2 - .../tools/shell/commands/HistoryCommand.groovy | 2 - .../tools/shell/commands/ImportCommand.groovy | 2 - .../tools/shell/commands/InspectCommand.groovy | 4 - .../groovy/tools/shell/commands/LoadCommand.groovy | 2 - .../tools/shell/commands/PurgeCommand.groovy | 2 - .../tools/shell/commands/RecordCommand.groovy | 2 - .../tools/shell/commands/RegisterCommand.groovy | 2 - .../groovy/tools/shell/commands/SaveCommand.groovy | 2 - .../groovy/tools/shell/commands/SetCommand.groovy | 2 - .../tools/shell/commands/ShadowCommand.groovy | 2 - .../groovy/tools/shell/commands/ShowCommand.groovy | 2 - .../shell/completion/CommandNameCompleter.groovy | 2 - .../shell/completion/GroovySyntaxCompletor.groovy | 2 - .../shell/util/DefaultCommandsRegistrar.groovy | 2 - .../groovy/tools/shell/util/SimpleCompletor.groovy | 2 - .../tools/shell/util/XmlCommandRegistrar.groovy | 5 +- .../tools/shell/ShellRunnerTestSupport.groovy | 3 - .../tools/shell/commands/AliasCommandTest.groovy | 2 - .../tools/shell/commands/ClearCommandTest.groovy | 2 - .../tools/shell/commands/CommandTestSupport.groovy | 2 - .../commands/ComplexCommandSupportTest.groovy | 2 - .../tools/shell/commands/DisplayCommandTest.groovy | 2 - .../tools/shell/commands/DocCommandTest.groovy | 3 - .../tools/shell/commands/EditCommandTest.groovy | 2 - .../tools/shell/commands/ExitCommandTest.groovy | 2 - .../tools/shell/commands/GrabCommandTest.groovy | 2 - .../tools/shell/commands/HelpCommandTest.groovy | 2 - .../tools/shell/commands/HistoryCommandTest.groovy | 2 - .../tools/shell/commands/ImportCommandTest.groovy | 2 - .../tools/shell/commands/InspectCommandTest.groovy | 2 - .../tools/shell/commands/LoadCommandTest.groovy | 2 - .../tools/shell/commands/PurgeCommandTest.groovy | 2 - .../tools/shell/commands/RecordCommandTest.groovy | 2 - .../shell/commands/RegisterCommandTest.groovy | 2 - .../tools/shell/commands/SaveCommandTest.groovy | 2 - .../tools/shell/commands/SetCommandTest.groovy | 2 - .../tools/shell/commands/ShowCommandTest.groovy | 2 - .../shell/expr/ClassWithPrivateConstructor.groovy | 2 - .../groovy/tools/shell/expr/ExprTestSupport.groovy | 2 - .../groovy/tools/shell/expr/TimeItTest.groovy | 2 - .../tools/shell/util/MessageSourceTest.groovy | 6 +- .../jmx/builder/JmxAttributeInfoManager.groovy | 8 +- .../groovy/jmx/builder/JmxBeanExportFactory.groovy | 10 +- .../groovy/jmx/builder/JmxBeanFactory.groovy | 16 +- .../groovy/jmx/builder/JmxBeanInfoManager.groovy | 8 +- .../groovy/jmx/builder/JmxBeansFactory.groovy | 21 +- .../groovy/groovy/jmx/builder/JmxBuilder.groovy | 24 +- .../groovy/jmx/builder/JmxBuilderTools.groovy | 135 +++--- .../jmx/builder/JmxClientConnectorFactory.groovy | 7 +- .../groovy/jmx/builder/JmxEmitterFactory.groovy | 14 +- .../groovy/jmx/builder/JmxListenerFactory.groovy | 29 +- .../groovy/jmx/builder/JmxMetaMapBuilder.groovy | 136 +++--- .../jmx/builder/JmxOperationInfoManager.groovy | 17 +- .../jmx/builder/JmxServerConnectorFactory.groovy | 19 +- .../groovy/jmx/builder/JmxBuilderException.java | 2 - .../groovy/jmx/builder/JmxBuilderModelMBean.java | 3 - .../java/groovy/jmx/builder/JmxEventEmitter.java | 1 - .../groovy/jmx/builder/JmxEventEmitterMBean.java | 1 - .../java/groovy/jmx/builder/JmxEventListener.java | 1 - .../src/main/java/groovy/util/GroovyMBean.java | 4 - subprojects/groovy-jmx/src/spec/doc/jmx.adoc | 4 +- .../groovy/jmx/builder/JmxBeansFactoryTest.groovy | 4 - .../src/test/java/groovy/util/MBeanTest.java | 2 - .../src/main/java/groovy/json/JsonBuilder.java | 2 - .../src/main/java/groovy/json/JsonDelegate.java | 2 - .../src/main/java/groovy/json/JsonException.java | 1 - .../src/main/java/groovy/json/JsonLexer.java | 1 - .../src/main/java/groovy/json/JsonOutput.java | 6 - .../src/main/java/groovy/json/JsonParser.java | 2 +- .../src/main/java/groovy/json/JsonParserType.java | 1 - .../src/main/java/groovy/json/JsonSlurper.java | 3 - .../main/java/groovy/json/JsonSlurperClassic.java | 1 - .../src/main/java/groovy/json/JsonToken.java | 1 - .../src/main/java/groovy/json/JsonTokenType.java | 1 - .../java/groovy/json/StreamingJsonBuilder.java | 4 - .../apache/groovy/json/internal/ArrayUtils.java | 3 - .../groovy/json/internal/BaseJsonParser.java | 2 - .../apache/groovy/json/internal/ByteScanner.java | 3 - .../org/apache/groovy/json/internal/Cache.java | 1 - .../org/apache/groovy/json/internal/CacheType.java | 3 - .../org/apache/groovy/json/internal/CharBuf.java | 3 - .../apache/groovy/json/internal/CharScanner.java | 3 - .../groovy/json/internal/CharSequenceValue.java | 3 - .../groovy/json/internal/CharacterSource.java | 3 - .../java/org/apache/groovy/json/internal/Chr.java | 3 - .../org/apache/groovy/json/internal/Dates.java | 3 - .../apache/groovy/json/internal/Exceptions.java | 3 - .../java/org/apache/groovy/json/internal/IO.java | 3 - .../groovy/json/internal/JsonFastParser.java | 2 - .../groovy/json/internal/JsonParserCharArray.java | 6 +- .../apache/groovy/json/internal/JsonParserLax.java | 3 - .../internal/JsonParserUsingCharacterSource.java | 3 - .../groovy/json/internal/JsonStringDecoder.java | 3 - .../org/apache/groovy/json/internal/LazyMap.java | 2 - .../apache/groovy/json/internal/LazyValueMap.java | 2 - .../apache/groovy/json/internal/MapItemValue.java | 2 - .../apache/groovy/json/internal/NumberValue.java | 3 - .../json/internal/ReaderCharacterSource.java | 3 - .../apache/groovy/json/internal/SimpleCache.java | 3 - .../java/org/apache/groovy/json/internal/Type.java | 3 - .../org/apache/groovy/json/internal/Value.java | 3 - .../groovy/json/internal/ValueContainer.java | 3 - .../org/apache/groovy/json/internal/ValueList.java | 3 - .../org/apache/groovy/json/internal/ValueMap.java | 3 - .../apache/groovy/json/internal/ValueMapImpl.java | 2 - .../src/test/groovy/groovy/json/CharBufTest.groovy | 3 - .../src/test/groovy/groovy/json/IOTest.groovy | 2 - .../test/groovy/groovy/json/JsonBuilderTest.groovy | 3 - .../test/groovy/groovy/json/JsonLexerTest.groovy | 3 - .../test/groovy/groovy/json/JsonOutputTest.groovy | 4 - .../test/groovy/groovy/json/JsonSlurperTest.groovy | 3 - .../groovy/groovy/json/JsonTokenTypeTest.groovy | 4 - .../groovy/groovy/json/JsonTokenValueTest.groovy | 3 - .../groovy/groovy/json/RealJsonPayloadsTest.groovy | 3 - .../groovy/json/StreamingJsonBuilderTest.groovy | 4 - .../groovy/jsr223/GroovyCompiledScript.java | 3 +- .../groovy/jsr223/GroovyScriptEngineFactory.java | 5 +- .../groovy/jsr223/GroovyScriptEngineImpl.java | 6 +- .../org/codehaus/groovy/jsr223/JSR223Test.groovy | 3 - .../codehaus/groovy/jsr223/JSR223SecurityTest.java | 2 - .../macro/matcher/ContextualClassCodeVisitor.java | 1 - .../org/codehaus/groovy/macro/runtime/Macro.java | 2 - .../groovy/macro/runtime/MacroBuilder.java | 1 - .../groovy/macro/runtime/MacroContext.java | 1 - .../codehaus/groovy/macro/runtime/MacroStub.java | 1 - .../transform/MacroCallTransformingVisitor.java | 1 - .../groovy/macro/transform/MacroMethodsCache.java | 2 +- .../macro/transform/MacroTransformation.java | 2 - .../org/codehaus/groovy/macro/MacroTest.groovy | 41 +- .../codehaus/groovy/runtime/NioGroovyMethods.java | 175 +++---- .../org/codehaus/groovy/runtime/WritablePath.java | 3 - .../groovy/runtime/NioGroovyMethodsTest.groovy | 3 - .../java/groovy/servlet/AbstractHttpServlet.java | 3 - .../main/java/groovy/servlet/GroovyServlet.java | 6 - .../main/java/groovy/servlet/ServletBinding.java | 8 - .../main/java/groovy/servlet/TemplateServlet.java | 4 - .../groovy/servlet/AbstractHttpServletTest.groovy | 2 - .../groovy/servlet/ServletBindingTest.groovy | 2 - .../sql/BatchingPreparedStatementWrapper.java | 3 - .../src/main/java/groovy/sql/CallResultSet.java | 2 - .../src/main/java/groovy/sql/DataSet.java | 4 - .../src/main/java/groovy/sql/ExpandedVariable.java | 2 - .../src/main/java/groovy/sql/GroovyResultSet.java | 4 - .../java/groovy/sql/GroovyResultSetExtension.java | 1 - .../main/java/groovy/sql/GroovyResultSetProxy.java | 2 - .../src/main/java/groovy/sql/GroovyRowResult.java | 2 - .../src/main/java/groovy/sql/InOutParameter.java | 2 - .../src/main/java/groovy/sql/InParameter.java | 2 - .../src/main/java/groovy/sql/OutParameter.java | 2 - .../java/groovy/sql/ResultSetOutParameter.java | 2 - .../groovy-sql/src/main/java/groovy/sql/Sql.java | 10 - .../main/java/groovy/sql/SqlOrderByVisitor.java | 4 - .../src/main/java/groovy/sql/SqlWhereVisitor.java | 3 - .../test/groovy/groovy/bugs/ForAndSqlBug.groovy | 3 - .../src/test/groovy/groovy/sql/SqlBatchTest.groovy | 2 - .../src/test/groovy/groovy/sql/SqlCacheTest.groovy | 2 - .../src/test/groovy/groovy/sql/SqlCallTest.groovy | 2 - .../test/groovy/groovy/sql/SqlStatementTest.groovy | 2 - .../groovy/sql/SqlTransactionConnectionTest.groovy | 2 - .../groovy/sql/SqlTransactionDataSourceTest.groovy | 2 - .../groovy/sql/SqlTransactionTestCase.groovy | 2 - .../groovy/groovy/sql/SqlWithBuilderTest.groovy | 3 - .../groovy/sql/SqlWithTypedResultsTest.groovy | 4 - .../swing/binding/AbstractButtonProperties.java | 1 - .../swing/binding/JComboBoxMetaMethods.groovy | 37 +- .../groovy/swing/binding/JComboBoxProperties.java | 1 - .../groovy/swing/binding/JComponentProperties.java | 1 - .../groovy/swing/binding/JListMetaMethods.groovy | 48 +- .../groovy/swing/binding/JListProperties.groovy | 119 +++-- .../groovy/swing/binding/JScrollBarProperties.java | 1 - .../groovy/swing/binding/JSliderProperties.java | 1 - .../groovy/swing/binding/JSpinnerProperties.java | 1 - .../swing/binding/JTextComponentProperties.java | 1 - .../groovy/swing/factory/ActionFactory.groovy | 20 +- .../groovy/groovy/swing/factory/BeanFactory.groovy | 9 +- .../groovy/groovy/swing/factory/BindFactory.groovy | 52 +-- .../groovy/swing/factory/BindProxyFactory.groovy | 9 +- .../groovy/swing/factory/CellEditorFactory.groovy | 25 +- .../groovy/swing/factory/ColumnFactory.groovy | 36 +- .../groovy/swing/factory/ColumnModelFactory.groovy | 11 +- .../groovy/groovy/swing/factory/ListFactory.groovy | 13 +- .../groovy/swing/factory/RendererFactory.groovy | 20 +- .../swing/factory/RichActionWidgetFactory.groovy | 52 +-- .../swing/factory/TextArgWidgetFactory.groovy | 22 +- .../groovy/swing/impl/ClosureCellEditor.groovy | 35 +- .../groovy/groovy/swing/impl/ClosureRenderer.java | 3 - .../groovy/groovy/swing/impl/DefaultAction.java | 2 - .../groovy/swing/impl/ListWrapperListModel.java | 2 - .../main/groovy/groovy/swing/impl/TableLayout.java | 2 - .../groovy/groovy/swing/impl/TableLayoutCell.java | 2 - .../groovy/groovy/swing/impl/TableLayoutRow.java | 2 - .../main/java/groovy/inspect/swingui/TableMap.java | 2 - .../java/groovy/inspect/swingui/TableSorter.java | 3 - .../src/main/java/groovy/model/ClosureModel.java | 2 - .../main/java/groovy/model/DefaultTableColumn.java | 2 - .../main/java/groovy/model/DefaultTableModel.java | 2 - .../src/main/java/groovy/model/FormModel.java | 2 - .../main/java/groovy/model/NestedValueModel.java | 2 - .../src/main/java/groovy/model/PropertyModel.java | 2 - .../src/main/java/groovy/model/ValueHolder.java | 2 - .../src/main/java/groovy/model/ValueModel.java | 2 - .../groovy/binding/AbstractFullBinding.java | 1 - .../codehaus/groovy/binding/AggregateBinding.java | 2 +- .../org/codehaus/groovy/binding/BindingProxy.java | 1 - .../codehaus/groovy/binding/BindingUpdatable.java | 1 - .../groovy/binding/ClosureSourceBinding.java | 1 - .../groovy/binding/EventTriggerBinding.java | 1 - .../org/codehaus/groovy/binding/FullBinding.java | 1 - .../groovy/binding/MutualPropertyBinding.java | 1 - .../codehaus/groovy/binding/PropertyBinding.java | 2 - .../org/codehaus/groovy/binding/SourceBinding.java | 1 - .../groovy/binding/SwingTimerTriggerBinding.java | 2 - .../org/codehaus/groovy/binding/TargetBinding.java | 1 - .../codehaus/groovy/binding/TriggerBinding.java | 1 - .../groovy/runtime/SwingGroovyMethods.java | 2 - .../groovy/groovy/beans/BindableSwingTest.groovy | 3 - .../groovy/groovy/beans/VetoableSwingTest.groovy | 3 - .../test/groovy/groovy/bugs/Groovy303_Bug.groovy | 6 +- .../groovy/swing/SwingMetaMethodsTest.groovy | 4 - .../org/codehaus/groovy/runtime/DummyBean.java | 3 - .../groovy/groovy/text/SimpleTemplateEngine.java | 5 - .../groovy/text/StreamingTemplateEngine.java | 3 - .../src/main/groovy/groovy/text/Template.java | 2 - .../main/groovy/groovy/text/TemplateEngine.java | 2 - .../main/groovy/groovy/text/XmlTemplateEngine.java | 3 - .../groovy/text/markup/AutoNewLineTransformer.java | 2 - .../groovy/groovy/text/markup/BaseTemplate.java | 2 - .../groovy/text/markup/DelegatingIndentWriter.java | 5 +- .../groovy/groovy/text/markup/IncludeType.java | 5 +- .../text/markup/MarkupBuilderCodeTransformer.java | 2 - .../groovy/text/markup/MarkupTemplateEngine.java | 2 - .../MarkupTemplateTypeCheckingExtension.groovy | 2 - .../groovy/groovy/text/markup/TagLibAdapter.groovy | 2 - .../groovy/text/markup/TemplateASTTransformer.java | 2 - .../groovy/text/markup/TemplateConfiguration.java | 2 - .../groovy/text/markup/TemplateResolver.java | 2 - .../groovy/SimpleGStringTemplateEngineTest.groovy | 50 +- .../groovy/groovy/SimpleTemplateEngineTest.groovy | 3 - .../src/test/java/groovy/text/TemplateTest.java | 3 - .../groovy/groovy/lang/GroovyLogTestCase.groovy | 43 +- .../groovy/groovy/mock/interceptor/Demand.groovy | 1 - .../groovy/groovy/mock/interceptor/Ignore.groovy | 2 - .../mock/interceptor/LooseExpectation.groovy | 1 - .../groovy/groovy/mock/interceptor/MockFor.groovy | 3 - .../groovy/mock/interceptor/MockInterceptor.groovy | 2 - .../mock/interceptor/StrictExpectation.groovy | 1 - .../groovy/groovy/mock/interceptor/StubFor.groovy | 3 - .../groovy/groovy/util/GroovyShellTestCase.groovy | 4 +- .../groovy/util/JavadocAssertionTestBuilder.groovy | 2 - .../groovy/util/JavadocAssertionTestSuite.groovy | 2 - .../mock/interceptor/MockProxyMetaClass.java | 2 - .../src/main/java/groovy/test/GroovyAssert.java | 4 - .../java/groovy/transform/NotYetImplemented.java | 4 - .../src/main/java/groovy/util/AllTestSuite.java | 4 - .../src/main/java/groovy/util/GroovyTestCase.java | 5 - .../src/main/java/groovy/util/GroovyTestSuite.java | 2 - .../NotYetImplementedASTTransformation.java | 5 - .../src/test/groovy/GroovyTestCaseTest.groovy | 2 - .../groovy/lang/GroovyLogTestCaseTest.groovy | 6 +- .../groovy/groovy/test/GroovyAssertTest.groovy | 4 - .../groovy/groovy/util/AllTestSuiteTest.groovy | 1 - .../NotYetImplementedTransformTest.groovy | 4 - .../src/main/groovy/groovy/xml/StaxBuilder.groovy | 3 - .../src/main/java/groovy/util/XmlNodePrinter.java | 1 - .../src/main/java/groovy/util/XmlSlurper.java | 1 - .../java/groovy/util/slurpersupport/Attribute.java | 2 - .../groovy/util/slurpersupport/Attributes.java | 2 - .../util/slurpersupport/FilteredAttributes.java | 2 - .../util/slurpersupport/FilteredNodeChildren.java | 2 - .../groovy/util/slurpersupport/GPathResult.java | 2 - .../groovy/util/slurpersupport/NoChildren.java | 2 - .../main/java/groovy/util/slurpersupport/Node.java | 2 - .../java/groovy/util/slurpersupport/NodeChild.java | 2 - .../groovy/util/slurpersupport/NodeChildren.java | 2 - .../groovy/util/slurpersupport/NodeIterator.java | 2 - .../groovy/util/slurpersupport/NodeParents.java | 2 - .../util/slurpersupport/ReplacementNode.java | 2 - .../src/main/java/groovy/xml/DOMBuilder.java | 2 - .../src/main/java/groovy/xml/MarkupBuilder.java | 4 - .../main/java/groovy/xml/MarkupBuilderHelper.java | 2 - .../src/main/java/groovy/xml/NamespaceBuilder.java | 2 - .../java/groovy/xml/NamespaceBuilderSupport.java | 5 - .../src/main/java/groovy/xml/SAXBuilder.java | 2 - .../src/main/java/groovy/xml/XmlUtil.java | 2 - .../src/main/java/groovy/xml/dom/DOMCategory.java | 3 - .../codehaus/groovy/runtime/XmlGroovyMethods.java | 3 - .../org/codehaus/groovy/tools/xml/DomToGroovy.java | 3 - .../src/spec/test/UserGuideDOMCategory.groovy | 2 - .../spec/test/UserGuideMarkupBuilderTest.groovy | 2 - .../UserGuideStreamingMarkupBuilderTest.groovy | 2 - .../src/spec/test/UserGuideXmlParserTest.groovy | 2 - .../src/spec/test/UserGuideXmlSlurperTest.groovy | 2 - .../src/spec/test/UserGuideXmlUtilTest.groovy | 2 - .../test/groovy/groovy/bugs/Groovy249_Bug.groovy | 3 - .../test/groovy/groovy/bugs/Groovy593_Bug.groovy | 3 - .../test/groovy/groovy/bugs/TedsClosureBug.groovy | 3 - .../groovy/groovy/xml/BuilderTestSupport.groovy | 4 - .../groovy/xml/GpathSyntaxTestSupport.groovy | 3 - .../groovy/groovy/xml/MarkupBuilderTest.groovy | 4 - .../groovy/xml/StreamingMarkupBuilderTest.groovy | 3 - .../src/test/groovy/groovy/xml/TestXmlSupport.java | 3 - .../src/test/groovy/groovy/xml/XmlTest.java | 3 - .../src/test/groovy/groovy/xml/XmlUtilTest.groovy | 3 - .../groovy/groovy/xml/vm6/StaxBuilderTest.groovy | 3 - .../groovy/tools/xml/DomToGroovyTest.groovy | 4 - subprojects/groovy-yaml/build.gradle | 4 +- .../org/apache/groovy/parser/AbstractParser.java | 3 - .../org/apache/groovy/parser/Antlr2Parser.java | 3 - .../org/apache/groovy/parser/Antlr4Parser.java | 3 - .../groovy/parser/antlr4/Antlr4ParserPlugin.java | 3 - .../groovy/parser/antlr4/Antlr4PluginFactory.java | 3 - .../apache/groovy/parser/antlr4/AstBuilder.java | 3 - .../groovy/parser/antlr4/GroovyLangLexer.java | 3 - .../groovy/parser/antlr4/GroovyLangParser.java | 3 - .../antlr4/TryWithResourcesASTTransformation.java | 3 - .../antlr4/internal/DescriptiveErrorStrategy.java | 3 - .../antlr4/internal/atnmanager/AtnManager.java | 3 - .../groovy/parser/antlr4/SyntaxErrorTest.groovy | 3 - .../groovy/parser/antlr4/util/AstDumper.groovy | 6 - 424 files changed, 2588 insertions(+), 1831 deletions(-) create mode 100644 src/main/groovy/groovy/transform/NullCheck.java create mode 100644 src/main/java/org/codehaus/groovy/transform/NullCheckASTTransformation.java copy src/test/{org/codehaus/groovy/runtime/MetaClassHelperTest.java => groovy/lang/MissingPropertyExceptionTest.java} (69%)