Groovy 2 4 x x #357

wants to merge 872 commits into


None yet

first time pulling request

fpavageau and others added some commits Aug 3, 2015
@fpavageau @PascalSchumacher fpavageau GROOVY-7363: Frequent compilation error on cascading generic types (c…
…loses #158)

Reliable type resolution in the static type checker with covariant getters

Prefer a non-bridge getter method

Preferring a non-bridge getter over a bridge one ensures that the type
resolution of expressions in the static type checker always uses the
covariant return type of getters (due to generics, for example) and doesn't
lose accuracy, resulting in spurious type checking errors.

It's worth noting that the check is actually whether the method is synthetic
or not, because MethodNode doesn't keep the bridge flag, but that should be
good enough.
@monsieurp @PascalSchumacher monsieurp GROOVY-7660: gradle/utils.gradle: Remove unused imports and unused va…
…riables. Fully specify ASM Opscodes instead of importing the whole namespace. (closes #178)
@shils shils ResolveVisitor: Correct class mentioned in GroovyBugError thrown from…
… LowerCaseClass#setName
@keeganwitt keeganwitt GROOVY-7524: Document that TupleConstructor and InheritConstructors s…
…houldn't be mixed (closes #180)
@jwagenleitner @PascalSchumacher jwagenleitner GROOVY-2178 - Shell can not handle multi-line list defs (closes #181) 574ea48
@DarthPumpkin @PascalSchumacher DarthPumpkin Fix typo: Missing trailing 's' in design pattern section (closes #182)
decorator is singular, thus a trailing 's' is needed
@jwagenleitner @PascalSchumacher jwagenleitner GROOVY-7665 - JsonSlurperCharSource decimal parsing producing unexpec…
…ted results (closes #183)
@jwagenleitner @PascalSchumacher jwagenleitner GROOVY-6922 - JsonSlurper loses trailing 0's in numbers (closes #184) 4c88790
@sbglasius @PascalSchumacher sbglasius GROOVY-7668: Better error-message for AST transformation when binary …
…compatibility changes
@PascalSchumacher PascalSchumacher removed unnecessary @inheritdoc annotations dd85e4d
@shils @shils shils GROOVY-7656 Statically compiled spread safe method calls on list lite…
…rals result in the list expression being evaluated twice

* StatementWriter: Remove temporary variables after their use
@PascalSchumacher PascalSchumacher replaced invalid entity "&nsbp;" with simple space in java docs 679e0a3
@shils shils GROOVY-7442 Spread-dot operator within assert isn't expected with @Co…

* Add unit test (issue fixed as side effect of changes for GROOVY-7656)
@chiquitinxx @PascalSchumacher chiquitinxx GROOVY-7675: Compiler customization builder not resolve secureAst pro…
…perties (closes #190)

Fix compilerCustomizationBuilder withConfig secureAst resolution
@jacopoc @PascalSchumacher jacopoc Removed useless synchronized block and comment; they were probably a …
…leftover after commit 17ee95e.
@jacopoc @PascalSchumacher jacopoc The usage of the PROP_NAMES HashMap was not thread safe because the a…
…ccess was synchronized only for "put" operations and not for "get" operations: since HashMap is not thread safe all access to get/put operations must be checked. Reimplemented in a thread safe way by leveraging a ConcurrentHashMap: in this way the synchronized block is no more required. (closes #8)
@PascalSchumacher PascalSchumacher TPL: Remove DISCLAIMER 816072d
@PascalSchumacher PascalSchumacher wiki-snaphot.pdf is not checked in anymore, so do not try to copy it …
…into the documentation distribution
@anshbansal @PascalSchumacher anshbansal Default value of includePackage of toString is true (closes #193)
The default value of includePackage is True not false
@FaustXVI @PascalSchumacher FaustXVI Change modulo to remainder in operator page (closes #195) b1cda83
@shils shils JsonSlurper: Improve exception message for parseText(String) b2df60e
@fpavageau @PascalSchumacher fpavageau GROOVY-7691: Create a test (closes #198) f3c96fc
@fpavageau @PascalSchumacher fpavageau GROOVY-7538: Bound unbounded wildcards using the type declaration (cl…
…oses #197)

If there is a generic type declared with bounds, for example

    class NumberList<T extends Number> implements List<T>

but used with an unbounded wildcard

    NumberList<?> getList()

the bounds are actually implicit and need to be taken into account for the
static type checks, to be able to use the type of the parameter directly:


The type of the element is known to be Number, not Object.
@shils shils GROOVY-7688 Spread safe method call receivers with side effects shoul…
…d not be visited twice

* StaticInvocationWriter#makeCall: use temporary variables for spread safe receiver expressions which are not variable or constant expressions
* StaticTypesStatementWriter#writeOptimizedForEachLoop: remove temporary variables from compileStack after their use
Closes #199
@PascalSchumacher PascalSchumacher fix findbugs warning concerning performance of integer parsing f281fd3
@PascalSchumacher PascalSchumacher GROOVY-7673: Remove synchronized methods of groovy.sql.Sql and docume…
…nt it as not thread-safe
@fpavageau @paulk-asert fpavageau Remove incubator from the URL of the repositories (closes #202) d57a01c
@PascalSchumacher PascalSchumacher Revert "GROOVY-7673: Remove synchronized methods of groovy.sql.Sql an…
…d document it as not thread-safe"

This reverts commit c62a266.
@shils shils GROOVY-7694 Results of spread safe method calls should be stored in t…
…emporary variables

Closes #200
@fpavageau @PascalSchumacher fpavageau Fix a few documentation typos (closes #211) 5e034d3
@graemerocher @jwagenleitner graemerocher Support for Array and Iterable not just Collection in StreamingJsonBu…
…ilder (closes #203)
@graemerocher @jwagenleitner graemerocher Binary compatibility improvements 4284a39
@jwagenleitner jwagenleitner Fix typo 6917c57
@jwagenleitner jwagenleitner GROOVY-7703 - Add support for Iterable with Closure to JsonBuilder/St…
…reamingJsonBuilder (closes #206)
@graemerocher @jwagenleitner graemerocher GROOVY-7706 - StreamingJsonBuilder should handle nested closures (clo…
…ses #208)
@graemerocher @jwagenleitner graemerocher GROOVY-7708 - StreamingJsonBuilder - improve @CompileStatic support (…
…closes #209)
@graemerocher @jwagenleitner graemerocher GROOVY-7707 - StreamingJsonBuilder - writing unescaped output doesn't…
… reset state (closes #210)
@pieces029 @PascalSchumacher pieces029 Documentation: style-guide: escaped -> so it does not appear as → (cl…
…oses #212)
@fpavageau @PascalSchumacher fpavageau GROOVY-7420: Prefer a method signature without boxing or unboxing (cl…
…oses #204)

The method resolution mechanism is closer to what is done when following the
Java Language Specification (JLS 15.2.2), and removes the ambiguity when
calling a method having both primitive- and object-parameter overloads with
an object argument.
@shils @shils shils GROOVY-7698 Safe navigation is broken for property style non-syntheti…
…c setter calls under static compilation

Closes #201
@rsbecker @PascalSchumacher rsbecker GROOVY-7715: ulimit use is not supported on NonStop (closes #215)
Added check for NONSTOP_KERNEL to bypass ulimit. The change is analogous to how cygwin and darwin are handled.
@fpavageau @PascalSchumacher fpavageau Fix a generic types comparison 197472c
@fpavageau @PascalSchumacher fpavageau Simplify some expressions 1959691
@fpavageau @PascalSchumacher fpavageau Remove some unused statements (closes #214) 71b68dd
@shils shils GROOVY-7717 StaticTypeCheckingTestCase#shouldFailWithMessages erroneo…
…usly passes

*StaticTypeCheckingTestCase: shouldFailWithMessages should only pass if all and only the expected error messages occur
*PrecompiledExtensionNotExtendingDSL:  fix ASTNode associated with error added in onMethodSelection method
(closes #217)
@jwagenleitner @jwagenleitner jwagenleitner GROOVY-7630 - JsonSlurper LAX and INDEX_OVERLAY parser with invalid n…
…umber (closes #189)
@fpavageau @PascalSchumacher fpavageau GROOVY-6352 Check the arguments even for the default constructor
Whether an explicit constructor exists or the default constructor needs to
be used, the candidate constructors need to go through the same checks, so
invalid arguments won't be accepted against the default constructor.
@fpavageau @PascalSchumacher fpavageau GROOVY-6787: Compare arguments with the generic bounds (closes #221)
The type inference on arguments shouldn't override the types of the
parameters, especially their bounds. This prevented the bound checks from
@jwagenleitner jwagenleitner ReferenceManager.createThresholdedIdlingManager should delegate to ca…
…llback manager after threshold is crossed (closes #224)
@fpavageau @PascalSchumacher fpavageau Extract common behaviors from the method signature resolution f0df9a5
@fpavageau @PascalSchumacher fpavageau GROOVY-7710 GROOVY-7711 Apply the rules for method resolution consist…
…ently (closes #213)

A no-arg call to a varargs method needs to be resolved with the same rules
as when there are exactly the same number of parameters, or even more, by
applying the class distance and extension method biases.
@pickypg @PascalSchumacher pickypg GROOVY-7626: Allow security managers to prevent system property acces…
…s for Indy (closes #119)
@PascalSchumacher PascalSchumacher GROOVY-7074: DelegatingScript does not work with Builder as delegate …
…(closes #216)
@shils shils Correct note for example in traits documentation 93ab879
@shils shils GROOVY-7036: An interface implementation (override) with a method inc…
…luding a default parameter value does not compile

(closes #228)
@shils shils GROOVY-7702: @CompileStatic and the method with(Closure) seem to dete…
…rmine wrong type

(closes #227)
@jwagenleitner jwagenleitner GROOVY-7716 - groovy.json.internal.FastStringUtils.StringImplementati…
…on#toCharArray fails on jdk9 (closes #225)

JDK 9 Compat Strings enhancement changed the internal representation of the value field from a char[] to a combination of a byte[] and an encoding flag field (see  As a workaround this change allows fallback to the normal String#toCharArray method and bypasses using direct access.
@jwagenleitner jwagenleitner GROOVY-7709 - ConvertedClosure/ConvertedMap do not work with interfac…
…e extending GroovyObject (closes #226)
@PascalSchumacher PascalSchumacher extend copyright to 2016 8488d4a
@PascalSchumacher PascalSchumacher remove comments which do not contain any useful information 32d35a1
@kirill-vlasov @paulk-asert kirill-vlasov Fixing squid:S1764 - Identical expressions should not be used on both…
… sides of a binary operator
@kirill-vlasov @paulk-asert kirill-vlasov Fixing squid:S1155 - Collection.isEmpty() should be used to test for …
…emptiness (ported)
@kirill-vlasov @paulk-asert kirill-vlasov Fixing squid:EmptyStatementUsageCheck - Empty statements should be re…
@paulk-asert paulk-asert GROOVY-6835: flow typing activated by if statement doing an "instance…
…of" check doesn't work as expected with interface types (test only)
@kirill-vlasov @PascalSchumacher kirill-vlasov Fixing squid:S2444 - Lazy initialization of "static" fields should be…
… "synchronized"
@jwagenleitner jwagenleitner Fix FastStringUtilsTest for jdk9 (GROOVY-7716) 23ad731
@PascalSchumacher PascalSchumacher GROOVY-7726: Groovysh doc command fails when using Java 9 829b3df
@PascalSchumacher PascalSchumacher minimal clean-up of groovy.json.internal.Sys 7bf0088
@jwagenleitner jwagenleitner [build] Remove javax.script pre-JDK6 dependency (closes #234)
Minimum jdk is now 6 so no longer need compatibility dependency.
@jwagenleitner jwagenleitner Remove checks for jdk5 in tests 30934b5
@jwagenleitner jwagenleitner Remove jdk5 checks (closes #235) 0cd72fb
@jwagenleitner jwagenleitner Fix AbstractConcurrentMapSegmentTest intermittent failures
The use of System.currentTimeMillis() to generate unique key names would cause intermittent failures because separate calls to whenIAddElements could happen in the same millisecond (as noted in javadoc many operating systems measure time in units of tens of milliseconds).  Because the key was not unique it wouldn't be added to the segment table, the existing key would be updated and rehashing would not occur as expected.
@PascalSchumacher PascalSchumacher remove unused and outdated groovy-contributions.adoc 98463d8
@PascalSchumacher PascalSchumacher move images from scr/spec/doc/assets/img to scr/spec/assets/img 015e883
@jwagenleitner jwagenleitner ConversionHandler minor improvements (closes #237) 4e16f6a
@fmamud @PascalSchumacher fmamud Documentation: fixing alias for groovysh set prefs command (closes #240)
(side effect: close #238)
@belkaram @PascalSchumacher belkaram GROOVY-7105: Add try/catch for NoClassDefFoundError in CachedSAMClass…
… (closes #239)

SAM method resolution can cause loading of classes used in method arguments (or as a return type).

When such a class is not present on a CLASSPATH, it causes a NoClassDefFoundError even though the class may actually not be needed for program execution.

This solution suppresses the NoClassDefFoundError when resolving SAM method, but in the case when the class is really needed for execution, it will throw the exception then.
@pickypg @PascalSchumacher pickypg Provide static reference for indy setting (closes #118) 225d7fd
@jwadamson @PascalSchumacher jwadamson GROOVY-7378: Support JAVA_OPTS containing quoted arguments on *nix (c…
…loses #5)
@PascalSchumacher PascalSchumacher Documentation: move assets directory of groovy-console from spec/doc …
…to spec/ subfolder to make the location consistent with all other asciidoc asset locations

Remove copying of src/spec/doc/assets from a asciidoctorAssets task
@shils @shils shils GROOVY-7342 Last enum value is hidden if annotated
* Try syntactic predicate for enum constant before predicate for end of enum constants
Closes #194
@shils shils GROOVY-6958 null != NullObject when using categories
Closes #207
@anshbansal @PascalSchumacher anshbansal GROOVY-7625: document why slashy strings allow brackets but double qu…
…oted strings do not (closes #243)
@PascalSchumacher PascalSchumacher fix dead "Groovy and Grails Toolsuite" link f6d5186
@marcpa00 @PascalSchumacher marcpa00 Documentation: Json userguide: correct attribution of `prettyPrint` m…
…ethod and wording of comment about it taking a normal String (closes #246)
@PascalSchumacher PascalSchumacher Documentation: fix sorting of contributors (closes #244)
Thanks to Aseem Bansal!
@PascalSchumacher PascalSchumacher Documentation: remove dead link to groovy-contributions 2f6c7e9
@jwagenleitner jwagenleitner GROOVY-4698 - Possible memory leak in Tomcat (GroovyScriptEngine Thre…
…adLocal) (closes #245)

GSE uses a ThreadLocal to temporarily cache data so it can be used in the compilation phase.  Once the script is compiled the cache data is no longer necessary.  ThreadLocal.set(null) was used which leaves the ThreadLocal as a key in the Thread's ThreadLocalMap entries.  In addition, if any exceptions were thrown before that call it would leave a ThreadLocal entry with a LocalData value in the thread's ThreadLocalMap tables.  This change tries to ensure that the ThreadLocal is removed when no longer needed.
@jwagenleitner jwagenleitner ManagedReference#finalizeReference stackoverflow on call to removeSta…

The initial call to finalizeReference will normally originate from ReferenceManager#removeStallEntries.  Having finalizeReference call removeStallEntries (via clear) can create a cycle resulting in a stackoverflow.
@jwagenleitner jwagenleitner Update junit javadoc links f4bfa85
@jwagenleitner jwagenleitner update Copyright wording generated for IDEA projects 87f23a8
@PascalSchumacher PascalSchumacher Documentation: minimal improvement of the groovyc section ea2436e
@PascalSchumacher PascalSchumacher GROOVY-7736: Argfiles not documented for groovyc
Also documented -d groovyc option.
@jwagenleitner jwagenleitner Remove duplicate ReferenceBundle definitions (closes #249)
Removed static initialization of default Soft/Weak bundles in ReferenceManager class.  The methods in that class were not used in the codebase.  Looking at the history of those static bundle references it appeared that 500 was the original threshold setting.  Typical startup creates roughly 1000 managed references, so 500 seems like a more appropriate value than 5000.
@jwagenleitner jwagenleitner Fix finalizeReference method override for ManagedReference subclasses…
… (closes #220)
@PascalSchumacher PascalSchumacher GROOVY-7739: Groovsh code-completion should display groovy jdk enhanc…
…ements of
@PascalSchumacher PascalSchumacher GROOVY-7739: Groovsh code-completion should display groovy jdk enhanc…
…ements of

Do not display #leftshift
@PascalSchumacher PascalSchumacher GROOVY-7740: Groovsh code-completion should display groovy jdk enhanc…
…ements of String

Plus some other minimal improvements of displayed groovy jdk enhancements
@jwagenleitner jwagenleitner Remove Java 1.4 compatibility code (Integer.valueOf(int) was added in…
… 1.5)
@jwagenleitner jwagenleitner Remove Java 1.5 runtime checks for java.lang.annotation.Annotation fr…
…om tests
PascalSchumacher and others added some commits Mar 4, 2016
@PascalSchumacher PascalSchumacher deactivate running of javadoc example which is just a partial example e0d321c
@kmarwood @PascalSchumacher kmarwood VMPlugin: Fixed typo in Javadoc (closes #280) dd114fb
@PascalSchumacher PascalSchumacher test more javadoc code examples 1e0aeb3
@PascalSchumacher PascalSchumacher ToString: remove javadoc example with date from automated testing ff393ba
@PascalSchumacher PascalSchumacher test more javadoc code examples 18d19f9
@Dispader @PascalSchumacher Dispader LoaderConfiguration: Fix minor javadoc typo (closes #281) 79e0b78
@oreissig @PascalSchumacher oreissig avoid rebuilding the bootstrapJar (and therefore core groovy classes …
…as well) when just changing tests (closes #283)
@kirill-vlasov @PascalSchumacher kirill-vlasov Fixing squid:S1871 - Two branches in the same conditional structure s…
…hould not have exactly the same implementation (closes #232)
@PascalSchumacher PascalSchumacher made GroovyClosureMethodsTest#testRunAfter more stable c6438dd
@paulk-asert paulk-asert GROOVY-7773: Enum constructor with value throws "unexpected token" er…
…ror (closes #279)
@PascalSchumacher PascalSchumacher StringGroovyMethods: minimal javadoc corrections 11c44c6
@oreissig @PascalSchumacher oreissig add @Deprecated when javadoc says the method is @deprecated 13b9094
@PascalSchumacher PascalSchumacher add deprecation reason to PropertyNode#setClosureSharedVariable ab7ca4d
@paulk-asert paulk-asert minor correction to help message 69d1189
@kotomoto @PascalSchumacher kotomoto Documentation: core-closures - typo and styling (closes #288, closes #… 778cb54
@jwagenleitner jwagenleitner GROOVY-7751 - CallableStatement leak in method (closes #263) 77ee2fe
@jwagenleitner jwagenleitner Ensure BatchingStatementWrapper is closed when statement caching is e…
@PascalSchumacher Jan Matějka Deprecate CompilerConfiguration.output (closes #277)
as it is not used for anything.
@PascalSchumacher PascalSchumacher ListHashMap fix javadoc warning 7c9bfc4
@PascalSchumacher PascalSchumacher Deprecate CompilerConfiguration.output
keep storing the writer in case somebody uses set/get
@oreissig @PascalSchumacher oreissig remove unused code (closes #282) 972745b
@oreissig @PascalSchumacher oreissig remove unused or obsolete code (closes #291) 83bc410
@maciekwiso @PascalSchumacher maciekwiso Fixed a typo in SourceUnit javadoc (closes #293) 0a0032e
@shils @shils shils GROOVY-7758: GroovyCastException when both @CompileStatic and @Newify
…are used (closes #294)
@oreissig @paulk-asert oreissig ignore eclipse project files for rat (closes #295) c431569
@paulk-asert paulk-asert make 'downloadWrapper' a default task 5f911f2
@jwagenleitner jwagenleitner GROOVY-7777 - groovysh cannot load script with shebang (closes #297) 3c0b7e8
@paulk-asert paulk-asert some minimal CliBuilder doco 6abd51d
@erdi @PascalSchumacher erdi Fix snippets for includeFields and cache options of EqualsAndHashCode…
… to show usages of EqualsAndHashCode and not ToString (closes #300)
@erdi @PascalSchumacher erdi Format headers for sections on annotations as code in the guide bad63db
@jwagenleitner jwagenleitner GROOVY-7806 - @interface has too-stringent requirement for newline (c…
…loses #301)
@jwagenleitner jwagenleitner GROOVY-7798 - Sql.query methods pass java.sql.ResultSet to the closur…
…e, instead of GroovyResultSet (fixed javadoc)
@jwagenleitner jwagenleitner Update junit javadoc links e30c72c
@jwagenleitner jwagenleitner Test for GROOVY-3948 6d360f6
@gillius @jwagenleitner gillius GROOVY-7810 fix XmlSlurper default ctor doc (closes #305)
Javadoc for default constructor says it creates a non-namespace-aware slurper, when it creates a namespace-aware one.
@jwagenleitner jwagenleitner GROOVY-7580 - ExpandoMetaClass append method does not throw an except…
…ion as per docs

Added clarification that only public methods declared by the class or interface with the same name and parameter types would cause the append to throw an Exception.  Methods added to the metaClass at runtime will be replaced by the left shift operator.
@jwagenleitner jwagenleitner GROOVY-7723 - propertyMissing(String,Object) called for missing gette…
…r (closes #307)
@shils shils GROOVY-7804: Coercion of parameterless closure to generic SAM type th…
…rows NPE during STC (Closes #306)
@jwagenleitner jwagenleitner GROOVY-7781 - Cannot retrieve XML attribute with namespace (closes #302) c64d3ee
@jwagenleitner jwagenleitner GROOVY-7816 - ObservableList addAll method property change event inde…
…x off by one (closes #313)
@jwagenleitner jwagenleitner removed redundant null checks and some minor refactoring 82df2a6
@jwagenleitner jwagenleitner GROOVY-7783 - Redundant computation in ObservableList (closes #314)
Patch provided thanks to Monika Dhok.
@paulk-asert paulk-asert formatting only 043999e
@jwagenleitner jwagenleitner GROOVY-7822 - Redundant computation in ObservableSet (closes #316) 04227aa
@caocao485 @jwagenleitner caocao485 Fixed a typo in groovy Documentation (closes #321)
change from "run()" to "test()"
@jwagenleitner jwagenleitner refactor(json): remove final modifier from private methods
Since private methods cannot be meaningfully overridden, declaring them final is redundant and can be confusing to those reviewing the code.
@jwagenleitner jwagenleitner refactor(json): simplified expressions 47d585d
@jwagenleitner jwagenleitner refactor(json): inline to eliminate unused Classes (closes #318) fdfa6e7
@oreissig @jwagenleitner oreissig make private methods static when they are plain functions (closes #290) 22c26f2
@axmf @jwagenleitner axmf Fixed a typo in groovy Documentation (closes #323) 3998f04
@jwagenleitner jwagenleitner GROOVY-7728 - LAX parser: Commenting out key/val pairs doesn't work (…
…closes #322)

Changed loop to process comments and end of object marker after processing
key/values because skipWhitespace leaves the cursor on the first
non-whitespace character and that character needs to be processed before
the loop increments the index counter.  This same logic is used by
@jwagenleitner jwagenleitner minor javadoc fixes 8ffef9a
@paulk-asert paulk-asert GROOVY-7820: CachedMethod.compareToCachedMethod throws "Should never …
…happen" (closes #315)
@jwagenleitner jwagenleitner Guard against recursive calls to ReferenceManager#removeStallEntries …
…that could cause a StackOverflowError. A ManagedReference#finalizeReference method may call ManagedReference#clear on other references as part of the clean up process and #clear in turns calls #removeStallEntries. This change makes it so that a queue is not re-entered for processing once it has started to be processed.

closes #298
@jwagenleitner jwagenleitner Fix for ManagedDoubleKeyMap when there are hash collisions and entry …
…array must be expanded

The existing array was having the first element overwritten instead of using the newly allocated array.
@jwagenleitner jwagenleitner refactor(core): remove unused utility classes (closes #324) 2a05758
@andresteingress @PascalSchumacher andresteingress GROOVY-7604: traits docs diamond problem explanation (closes #327) 94f5ec8
@PascalSchumacher PascalSchumacher Documentation: fix grammar mistake in metaprogramming section (closes g… fa790d1
@andresteingress @PascalSchumacher andresteingress GROOVY-7793: Compiler compiles class with private abstract method (cl…
…oses #328)
@daspilker @PascalSchumacher daspilker GROOVY-7826: do not show redirect for generic type arguments to break…
… the infinite recursion (closes #333)

only occurs when not using ASM resolving because the ASM resolved classes do not have generic type information
@blackdrag @PascalSchumacher blackdrag GROOVY-7832: NullPointerException in GroovyConsole with an input meth…
…od (closes #326)

add null guard
@jwagenleitner jwagenleitner refactor(core): use uppercase L for long literal d77e2bb
@roded @PascalSchumacher roded GROOVY-6203: GroovyScriptEngine does not take script base class into …
…account (closes #335)
@deisner @jwagenleitner deisner Add missing ':' in display command example (closes #337) a132ad8
@paulk-asert paulk-asert GROOVY-7841: Assert fails when accessing particular primitive values …
…with @CompileStatic
@paulk-asert paulk-asert GROOVY-7784: TypeChecked/CompileStatic: IndexOutOfBoundsException (cl…
…oses #339)

I think we need here one more test with, { ['foo', 'bar'].iterator()}, "aString"). This is to ensure the code can handle a case in which we have a fitting argument, but the argument will need to be wrapped into an array. And I think we should actually also add two more variants. One in which the last argument is null and we check that we really get null for the array in the method. And one in which the last argument is a String[] and we check the array given to the method and the array received in the method are equal.

paulk-asert and others added some commits May 27, 2016
@paulk-asert paulk-asert GROOVY-7784: TypeChecked/CompileStatic: IndexOutOfBoundsException (a …
…few more tests)
@paulk-asert paulk-asert add missing license file dc6f267
@paulk-asert paulk-asert GROOVY-7826: fix test name 97505b1
@paulk-asert paulk-asert GROOVY-7826: fix test name c307476
@shils shils GROOVY-7813: Calling a non-static outer class method from a static cl…
…ass should fail STC (Closes #310)
@paulk-asert paulk-asert GROOVY-6950: StringGroovyMethods minor performance improvements (avoi…
…d calling toString)
@paulk-asert paulk-asert GROOVY-6950: StringGroovyMethods minor performance improvements (make…
… use of line based iterator)
@paulk-asert paulk-asert GROOVY-6950: StringGroovyMethods minor performance improvements (mino…
…r refactoring)
@graemerocher @paulk-asert graemerocher Make sure generics are correct for generified return types. Fixes htt… 0fcaf69
@graemerocher @paulk-asert graemerocher Cleanup 8ab58a5
@paulk-asert paulk-asert GROOVY-7846: A trait that defines a static method that uses generic r…
…eturn types throws "BUG! Type is null" (comments/trivial formatting - closes #340)
@paulk-asert paulk-asert add a rat exclude for since the artifactory release…
… plugin loses header when bumping version
@paulk-asert paulk-asert GROOVY-7620: No error if abstract getter is not implemented but stati…
…c field exists (closes #342)
@paulk-asert paulk-asert minor refactor 036c14f
@blackdrag @paulk-asert blackdrag GROOVY-7833: let grape ignore runner lines with hash to enable comments.
When getting a groovy jar via grab, there will be a TestNG runner configuration in the jar. This configuration contains the Apache License 2 text, as required by the foundation. The code expected the class only. With this change the comments will be ignored.
@paulk-asert paulk-asert GROOVY-7833: exception in phase 'conversion' (also ignore blank lines…
… - closes #329)
@melix melix Bump reference version 7390d97
@paulk-asert paulk-asert minor refactor: add missing assertions 984173f
@shils @shils shils GROOVY-7849: Verifier should be aware of array type covariance when c…
…hecking overriding method return types (closes #346)
@shils shils GROOVY-7185: Add test (issue fixed by changes for GROOVY-7849) 115d360
@shils shils Documentation: correct StandardPropertiesModuleFactory class javadoc bb3daa2
@paulk-asert paulk-asert minor refactor 77f9b9b
@paulk-asert paulk-asert GROOVY-7855: NullPointerException in GenericsTypeMatcher cad0a65
@paulk-asert paulk-asert Merge branch 'GROOVY_2_4_X' of…
…/groovy into GROOVY_2_4_X
@shils shils small tweak to test for GROOVY-7185 ea94095
@shils shils correct annotation name in SourceURIASTTransformation javadoc 780d828
@jwagenleitner jwagenleitner GROOVY-7873 - Regression performance issue in string methods (closes #…

In order to implement CharSequence the GString implementation must call toString each time a CharSequence method is invoked.  This is expensive, so GStrings should be converted toString if methods such as charAt are going to be called from a loop.
@paulk-asert paulk-asert GROOVY-7875: IntRange fail fast on too large a range out by one 8725d92

@SadhanaGowda this looks like it was created by mistake, would you mind closing it?

jwagenleitner added some commits Jun 28, 2016
@jwagenleitner jwagenleitner GROOVY-7150 - Redirection of output in javax.script.ScriptEngine.invo…
…keFunction() doesn't work (closes #230)
@jwagenleitner jwagenleitner Allow ScriptEngine to return same factory that created it 5785204
@jwagenleitner jwagenleitner GROOVY-7842 - MarkupTemplateEngine Totally Broken when used with a Se…
…curity Manager (closes #358)

When running under a Security Manager an exception would be thrown because
the empty codebase value was added as a Permission name which can not be
empty.  So use the same codebase value that is used by GStringTemplateEngine
and StreamingTemplateEngine for unnamed code sources.
@asfgit asfgit pushed a commit that closed this pull request Jun 30, 2016
@blackdrag blackdrag dummy commit, closes #357 a8a05ed
@asfgit asfgit closed this in a8a05ed Jun 30, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment