307 Commits

Author SHA1 Message Date
Maikel Steneker
af31b3a773 Add GenericToken.getKind() to interface 2020-12-10 12:10:47 +01:00
Clément Fournier
37c2c505f3 Merge branch 'master' into ruleset-factory-builder 2020-11-24 12:49:18 +01:00
Andreas Dangel
f9ca35bcd5 [scala] Fix compile errors and tests 2020-11-23 16:19:55 +01:00
Andreas Dangel
346e67b3f0 Merge branch 'master' into pmd/7.0.x 2020-11-23 16:00:01 +01:00
Andreas Dangel
43d291ba73 [scala] ScalaTokenizer: Make inner classes static 2020-11-23 10:25:05 +01:00
Andy Robinson
035ec0a537 [scala] fixing support for CPD-ON and CPD-OFF special comments
- minor fix ups as per PR comments
- comments are skipped and no longer tokenised
2020-11-18 13:49:32 +00:00
Andy Robinson
cb5ce5d9d1 [scala] adding support for CPD-ON and CPD-OFF special comments 2020-11-16 12:08:47 +00:00
Clément Fournier
4cd1fa0a1d Fix build 2020-11-15 22:24:48 +01:00
Clément Fournier
9826ff241b Merge branch 'analysis-listener' into text-utils-simple 2020-11-15 19:04:14 +01:00
Clément Fournier
d4ad2f5011 Fix compil 2020-11-15 18:47:23 +01:00
Clément Fournier
6642f5d038 Isolate single rule pattern 2020-10-26 19:31:48 +01:00
Clément Fournier
ac864aa529 Rename 2020-10-26 19:29:19 +01:00
Andreas Dangel
4837c8dbc8 [maven-release-plugin] prepare for next development iteration 2020-10-24 10:17:24 +02:00
Andreas Dangel
81f12d3e5d [maven-release-plugin] prepare release pmd_releases/6.29.0 2020-10-24 10:17:15 +02:00
Clément Fournier
5c59de5d52 Checkout changes to test utils 2020-09-28 19:46:34 +02:00
Andreas Dangel
aa245c6e1b [maven-release-plugin] prepare for next development iteration 2020-09-26 10:25:16 +02:00
Andreas Dangel
722f3ca997 [maven-release-plugin] prepare release pmd_releases/6.28.0 2020-09-26 10:25:05 +02:00
Clément Fournier
316efda06f Fix some things 2020-09-17 22:36:18 +02:00
Clément Fournier
13879c9b94 Make RootNode have a text document 2020-09-17 22:33:00 +02:00
Clément Fournier
81b8fd5e06 Fix text tests 2020-09-17 22:31:11 +02:00
Clément Fournier
7ac1e1478e Fix tests 2020-09-17 22:31:10 +02:00
Clément Fournier
578519f692 Remove testing only set coord from AbstractNode 2020-09-17 22:30:48 +02:00
Clément Fournier
48e34c2372 Make Node and GenericToken Reportables 2020-09-17 22:30:12 +02:00
Clément Fournier
69a067e9ad Merge branch 'java-grammar' into analysis-listener 2020-09-14 18:03:50 +02:00
Clément Fournier
7d242718bd Merge branch '7.0.x' into analysis-listener 2020-09-14 15:09:54 +02:00
Andreas Dangel
da4d3392ee Merge branch 'pmd/7.0.x' into java-grammar 2020-09-13 10:05:56 +02:00
Andreas Dangel
c59af0aee6 [maven-release-plugin] prepare for next development iteration 2020-08-31 18:30:18 +02:00
Andreas Dangel
856950f0d2 [maven-release-plugin] prepare release pmd_releases/6.27.0 2020-08-31 18:30:09 +02:00
Clément Fournier
6e36a20dd1 Better error handling
Checkstyle + pmd
2020-08-31 08:35:07 +02:00
Clément Fournier
094ce26227 Make nodes have access to file name 2020-08-31 08:34:14 +02:00
Clément Fournier
e7e6793eb3 Make nodes have access to their language version 2020-08-31 08:34:14 +02:00
Clément Fournier
387555b4a1 Wrap renderer inside listener
Fix tests
2020-08-31 08:34:14 +02:00
Clément Fournier
08b19dbcdd Simplify source code processor, change Parser
Remove some stuff with parser options

Get rid of SourceCodeProcessor

Seal processor hierarchy
2020-08-31 08:34:13 +02:00
Clément Fournier
80e9f48ed9 Add a hook for nodes to callback if the visitor is incorrect 2020-08-26 19:10:32 +02:00
Clément Fournier
1f7c3373d6 Merge branch 'java-grammar' into typeres-jtypes 2020-08-23 18:48:00 +02:00
Clément Fournier
9e77d38c48 Merge branch '7.0.x' into java-grammar 2020-08-23 18:01:52 +02:00
Clément Fournier
37bd0db6b0 Merge branch 'remove-old-stuff' into 7.0.x 2020-08-23 17:59:27 +02:00
Andreas Dangel
6a4b1a7a2d [scala] Deprecate ScalaParserVisitorAdapter#zero and #combine
Those will go away with PMD 7.
2020-08-22 18:24:48 +02:00
Clément Fournier
30b65b9aff Merge branch 'java-grammar' into typeres-jtypes 2020-08-22 16:13:56 +02:00
Andreas Dangel
da28648b64 Merge branch 'pmd/7.0.x' into java-grammar 2020-08-21 12:50:30 +02:00
Andreas Dangel
2b1d071930 Fix tests due to endColumn changes 2020-08-21 12:38:37 +02:00
Andreas Dangel
ab489832fe Merge branch 'master' into pmd/7.0.x 2020-08-21 11:51:54 +02:00
Andreas Dangel
89140d86ce Merge branch 'master' into pr-2656 2020-08-20 09:47:16 +02:00
Clément Fournier
cbef6a8b7e Merge branch '7.0.x' into remove-old-stuff 2020-08-03 23:25:42 +02:00
Clément Fournier
2aa16b7c8a Merge branch 'java-grammar' into typeres-jtypes 2020-08-03 23:08:02 +02:00
Clément Fournier
766ab453b8 Merge branch '7.0.x' into java-grammar 2020-08-03 23:07:16 +02:00
Clément Fournier
c554aceba6 Merge branch 'master' into 7.0.x 2020-08-03 23:06:21 +02:00
Andreas Dangel
acf58f1887 Check for license headers in kotlin source files 2020-07-31 20:26:27 +02:00
Clément Fournier
3d4f709009 Merge branch '7.0.x' into remove-old-stuff 2020-07-31 16:02:34 +02:00
Clément Fournier
7188f50f49 Merge branch 'java-grammar' into typeres-jtypes 2020-07-31 00:22:41 +02:00
Andreas Dangel
d26cc240fe Merge branch 'pmd/7.0.x' into java-grammar 2020-07-30 13:14:17 +02:00
Andreas Dangel
384dd20319 Merge branch 'master' into pmd/7.0.x 2020-07-30 11:51:53 +02:00
Andreas Dangel
5bff6ac52e Merge branch 'pr-2657'
[lang-test] Upgrade kotlintest to Kotest #2657
2020-07-30 10:31:43 +02:00
Clément Fournier
4c11082574 Cleanup report 2020-07-29 18:04:56 +02:00
Clément Fournier
1ce585aafb Remove many static usages of LanguageRegistry 2020-07-29 15:35:16 +02:00
Clément Fournier
2449f6404e New typeres framework
Ceci est la combinaison de 338+ commits.

    Make set of classes to mirror types

    Implement capture conversion

    Document

    Doc

    Implement contains for targs

    Implement toString

    Fully implement subtyping

    Check for reifiability

    Implement unchecked, fix array subtyping

    Test rec typevar building

    Test primitive subtyping

    Test array subtyping

    Test wildcards subtyping

    Doc

    Rename primitiveType

    Reify conversions

    Test boxing

    Make constants for common types

    Test type param mutual recursion

    More defensive validation

    Implement numeric promotion

    Checkstyle

    Implement supertype set

    Implement lub

    Fix infinite recursion

    Fix lub bugs

    Use linkedhashset for stable ordering

    Add primitives to common types

    Move common types into type factory

    Try a lazy class resolver, needs a symbol table

    Improve lazy resolver

    Implement conditional expr typing

    remove poly impl

    Represent primitive wrappers differently

    Better compromise for primitive wrappers

    Extract wildcard interface

    Extract array type interface

    Refactor to extract interfaces

    Don't depend on initialization of jprimitiveType

    Finish pretty printer

    Remove dependency on reflection

    Fix class initialization trouble

    Move to type constants

    Use regular impl for OBJECT

    Encapsulate ops into TypeOps

    Add inference var to model

    Impl some ops

    Add some type inference algos

    Invocation context compatibility

    Add incorporation

    Generify bound set with ExprOps

    Add applicability tests

    Fix compil

    Add incorporation actions

    Implement incorporation

    Add inference steps

    Implement brute force walk strategy

    Remove some type params

    Wire in everything

    Implement methodtype

    Access methods from JClassType

    Represent enclosing types

    Work on overriding

    Implement expr ops

    Catch easy cases

    Diamond inference

    Fix pretty printer

    Fix concurrent mod

    Test

    Add reflect info to JModifier

    Add symbolic type declaration

    Most specific check

    Test with nested invocation

    Test lub

    Add constraints for lambdas and all subexpressions

    Resolve full call chain with lambdas

    Set partial results on nodes

    Test chain

    Doc

    Generalise expr mirrors

    Fix context

    Add invocation mirror

    Add support for method references

    make infer static

    Cleanup interface

    Fix constructor access

    Test method reference

    Cleanup method ref types

    Test constructor reference

    Test overload resolution, fix TODO

    Fix ctdecl of mref on non-ground target type

    Add graph walk strategy

    Document

    Use toposort

    Make enum constant implement ctor invoc mirror

    Work on context

    Test conditional expr type

    Handle switch exprs uniformly

    Fix bugs

    Add type inference performance test case

    Add overload resolution tests

    Cache result of overload selection, only recompute invocation

    Optimise common case in graph building

    Optimise propagation by merging variables

    Fix some tests, cleanup

    Preserve applicability phase

    Improve jsinglechildnode

    Add way to get a field's type

    Make more complex stress test

    Cache bound check results

    Type projection for inference

    Simplify lazy type inference of var ids

    Improve memory usage

    - reuse constant enum sets (by far the biggest leak, given the number of PropagateBounds created)
    - implement substitution without a visitor

    Optimise imports

    Cache hash of classes

    Cleanup

    Add overloads test

    Fix context fetching

    Fix lub bug

    Test switch expr

    Fix rebase

    Remove useless type

    Factorise poly check

    Remove base poly expr

    Fix array initializer

    Remove duplicated numeric literal typing

    Fix inferred iterable type

    Move method resolution phase to upper level

    Delete useless var

    Commit pr plan

    Remove useless method

    Fix enclosing type comb rule

    REVERT ME Remove partial enclosing type support

    Add package info

    Put task list in branch description

    Fix old rebases

    Fix rebase

    Simplify for left recursive ops

    Fix comments

    Fix rebase

    Revert "REVERT ME Remove partial enclosing type support"

    This reverts commit 8080ff1585b3a760fafc957282771baf716f3c7f.

    WIP base type mirrors on symbols

    Make JMethodType not a JTypeMirror

    Figure out getSymbol & type vars

    make type factory non-static

    Add a parameter to visitors

    Fix compilation

    Use symbol table in lazy type resolver

    Move package

    Fix most tests

    Move internal api around

    Specify some stuff

    Split reflect impl from API

    Make AST impl

    Equality routines

    Fix tests

    Move internal symtable doc

    Improve symtableResolver ergonomics

    Poly res tests

    Make AST type factory

    Update

    Make lambda expressions not a MethodlikeNode

    Build local var sym

    Update for switches

    Make Infer not static, fix logging

    Don't expose visitor nature of SymbolResolver

    Cleanup

    Improve type error handling

    Don't throw away CTdecls for an arg mismatch

    Fix more tests

    Local symbol tables

    Symbol table looks in interfaces

    Incompatible changes that should stay on this branch and not be squashed

    ResolveResult

    Explicitly typed lambdas

    Fix some static bugs

    Fix a lot of bugs

    Use FQCN symtable

    Move parsing contexts to upper level

    Cleanup

    DSL to test types

    test subst

    Dont create an exception for each failure

    Stack trace creation takes a significant amount of time

    Remove laziness for fetching method streams

    Streams obfuscate performance analysis by
    delaying the computation until the last
    moment.

    Fix some bugs with unresolved classes

    Also measure performance: full typeres
    is around same time as parsing. This is
    great. At this point 80% of all types
    are resolved (though some type inference
    results are probably incorrect). Mostly
    this comes from the fact that there are
    still AmbiguousNames in the tree.

    Fix problem with varargs

    Handle enclosing types

    Enclosing types

    Fix compil

    Add another stress test

    Refactor primitive subtyping

    Fix rebase

    Fix rebase: tests

    Figure out type factories WIP

    Move type ops into TypeOps

    Move AsSuper

    Figure out type factories WIP

    Make TypeSystem object

    wip

    WIP

    WIP

    Make typeops static

Fix grounding routine

Fix bug with return type

Start fixing tests

Cleanup primitive types

Fix some tests

Add todo

Remove JDK test dependency

Test cases lubbing String and
StringBuilder produce different
outputs on JDK [8, 11[ and 11+, because
StringBuilder was made a Comparable<StringBuilder>
in JDK 11

Implement most specific method selection

Drop JVariableSig from symbol table

Use asOuterSuper instead

Fix local var type inference with foreach.

Fix a lot of stuff based on jdk 12 run

Make type system own symbol factories

Fix intersection with bound

Fix standalone ternary types

Capture field access type

Eg class Foo<T> { T[] field; }
Foo<? extends T>.field : capture(T)[]

Add tests

Delete lexical substs

Fix reflected owner type

Add graph viz

Fix bug with graph reduction

Optimise ivar dependency reduction
by a lot. The previous 60s stress
test now takes 600ms.

Btw at this point type res for the
whole JDK 12 codebase takes 25 secs,
down from 175 on 6.20.0 (7x speedup).

Implement inherited field/class lookup

Fix scoping inside switch statements

Fix a few bugs

Handle inherited methods

Interfaces should inherit Object methods

Move lub into TypeSystem

Handle class types induced by intersections

Fix lambda congruence

Test lambda with intersection type

Fix inference

Fix same type check using equals

Simplify intersection type induction

Remove type sys extension

Simplify sym factories

Finish symbol factory streamlining

Document

Cache non-erased symbols separately

Doc

Revert, erased types are only raw

Get rid of generic constants in TypeSystem

Remove some dead code

Fix exact method reference

Improve unchecked conversion handling

Fix dependency of delegated ivars

Improve logging, fix a few bugs

Test enclosing types

Improve loggin

Print file location

Fix subtyping for wildcards

Fix standalone method types

Fix boxing conversion

Fix promotion on unary exprs

Implement special treatment of getClass()

Add tests for anon classes

Make symbol tables use lists for methods

Fix method reference with void target type

Move graphUtils

Make unresolved types bottom

(instead of top)

It's more likely to be useful. Eg.

Unresolved var = ...;

knownMethod(var);

Here, var must conform to the parameter,
if it is unresolved, we assume that's the
case. Otherwise we would fail resolution
of knownMethod for this call site.

The reverse situation is rarer.

Fix conversions in loose phase

Make JInferenceVar a class

Hide TypePair

Remove special string type

Fix toString of anon classes

Implement overload specificity for generic methdos

Fix anon class ctors

Fix Object methods not in scope in interfaces

Fixing anon class ctors WIP

Fix rebase

Cleanup

Print type var bounds

Fix tests, improve pretty printing

Hide ast sym factory

Fix array method erasure

Fix superclass, uncover bug with substitution

Substitute  type param bounds

Make Array have Object methods

Fix duplicated logging categories

Make root symbolFactory thread safe

Fix overload ambiguity with hiding

Fix exact method when they shadow each other

Make PMultimap type

Make shadowGroup

Make a few utilities to replace import tables

Replace other tables

Cleanup

Compat with old impl

Fix rebase

Port to using sigs

Make base class for shadow groups

Fix method group

Test shadowing of inherited members

Fix bugs with tparams

Specialize to StringMultimap

Big optimizations

Simplify a lot of things, remove caching
of getAllMethods

Factorize group implementations

Add resolveFirst

Fix bug with ctor invocation

Fix type parsing for union types

Generify multimap

Implement nextShadowGroup

Remove unused API of pmultimap

Use interface where possible

Fix tests

Use singleton resolvers more frequently

Remove commons collections dependency

Tries don't make a significant difference
in execution time. Mostly because tries
used in symbol tables are very small.

Remove some api of jtypemirror

Fix shadow barriers

Fix accessibility check for protected member

Qualified ctor invocations have access to inner class name

Make strict stream for profiling

LOOK AT ME strict streams

Strict streams are actually *much* more
efficient for our use case

Extract some stuff into CollectionUtil

Make methods shadow each other

doc

Simplify OptionalBool

Improve strict stream

Eventually I'll remove it

Doc newer symtable

Make PMultimap type

Make shadowGroup

Make a few utilities to replace import tables

Cleanup

Checkout newer sym table from typeres branch

Port

Checkout tests

Port tests, remove old impl

Extract augment function

Move classes back into internal package

Abstract stuff away for pmd-core

Optimise singular map case even more

Fix nextShadowGroup WIP

Make ShadowIterator to replace getNextGroup

Use chain iterator

Add tests

Finish impl

Add tests for supertype enumerator

Add tests for method shadowing in imports

Port to using types etc

Fix tests

Fix outdated tests

Fix anon class ctors

Fix more outdated tests

Object methods should be in scope in interfaces

Fix compil

Make simple signature parser

Make stubs

Figure out loading logic

Progress on type param parsing

Do away with nested classes

Class signatures

It works!

Parse tvar bounds lazily

Fix a lot of stuff

No errors on pmd-core

JDK 13 under 80s

Implement toString everywhere

Try to make the whole thing thread safe

Still a spurious NPE, access flags are weird.
For j.l.invoke.DelegatingMethodHandle
(declared as `final class Holder {}`) the
access flags from the class file are 0x32, and
the enclosing type is null, while when accessed
through reflection, the access flags are correctly
0x10. The class is engineered through VM magic
so idk what happens

Remove shared caching of TypeSystem

The sub caches are not useful anymore
and creating them all the time is wasteful

Add some tests

Fix improper locking

Reorganise typeSystem initialization

Change the name

Doc

Opts

Optimise away some expensive lookaheads in the parser

Doc

Fix modifiers

Optimise big switches in parser

Placing token decls that are frequently used together closer
increases the chance that the compiler generate a TABLESWITCH
instruction instead of a LOOKUPSWITCH. Table switches take
constant lookup time, while lookupswitch is linear. Selection
of table switch is now done for the biggest switches of the
parser: the one in types, in modifiers, in statements, and
at the start of expressions. Other lookup switches are unimportant
because they have very few labels (typically 2).

Optimise variable initializer lookahead

make test rule noop

PARSER Optimise common branches in expressions

PARSER opt blocks & statements

doc

Don't accept void by default

Split signature parsers

Simplify type param parsing

Simplify type params parsing

Some optimisations

Tests

Simplify synchronization

Factorize synchronization logic

Move ConsList into pmd-core

Prune more empty nodes

Use single map for asm resolver

Remove changes to parser

Add option to suppress type inference log entry creation

Use soft references to allow class stubs to be GCed

Fix rebase
2020-07-26 16:35:10 +02:00
Andreas Dangel
49ab75aeb7 [maven-release-plugin] prepare for next development iteration 2020-07-25 13:45:36 +02:00
Andreas Dangel
a9632e2a06 [maven-release-plugin] prepare release pmd_releases/6.26.0 2020-07-25 13:45:27 +02:00
Clément Fournier
6d73eaf3c7 Fix custom parser spec
Add kotest-runner-junit5-jvm as a dependency,
in pmd-java. This makes kotest discoverable
as Junit tests, which IDEs can pick up on (at
least IntelliJ does).

Update kotlin version to latest stable (1.3.72)
2020-07-20 16:33:29 +02:00
Maikel Steneker
6fb5ac59b9 Ensure CPD uses tab width of 1 for tabs consistently
The columns that are reported by CPD were inconsistent across languages
before. A language like Java (using a JavaCC-based tokenizer) would use
a width of 8 for tabs, whereas a language like C# (using an Antlr-based
tokenizer) would use 1 instead.

This includes unit tests for most languages to ensure a tab character is
counted as 1. The configuration for JavaCC has been adjusted to respect
this as well.
2020-07-20 10:42:21 +02:00
Clément Fournier
68ae318f02 Update to kotest 2020-07-20 00:12:40 +02:00
Andreas Dangel
9bb5f375e3 Merge branch 'pmd/7.0.x' into java-grammar 2020-07-19 19:39:45 +02:00
Andreas Dangel
a9996ab45c Merge branch 'pr-2589' into pmd/7.0.x
[core] Add generic visitor interface in pmd-core #2589
2020-07-19 18:07:55 +02:00
Andreas Dangel
c7d884c629 Merge branch 'pmd/7.0.x' into java-grammar 2020-07-17 16:38:12 +02:00
Andreas Dangel
dcaa8a1167 Merge branch 'master' into pmd/7.0.x 2020-07-17 16:13:02 +02:00
Andreas Dangel
7b3d31246e Merge branch 'master' into pr-2624 2020-07-17 15:16:24 +02:00
Andreas Dangel
7ae424a35b Add deprecation javadocs 2020-07-17 14:43:43 +02:00
Andreas Dangel
94afdb117d Add test engines as surefire plugin dependencies
This removes junit-vintage-engine as a test dependency
as well as kotlintest-runner-junit5.
The engines are only needed during test execution, but should
not be available for test compilation.

For this to work, the latest surefire plugin is required.
2020-07-17 12:03:45 +02:00
Clément Fournier
03d03440b4 Declare junit dependencies before kotlintest ones
This is for the scala modules. Apparently
in the other order, only kotlin tests are
run.
2020-07-06 13:25:54 +02:00
Andreas Dangel
373c9b0944 Fix scala library versions 2020-07-02 20:30:54 +02:00
Andreas Dangel
370c0b0b6d Remove unused dependency, explicitly declare used dependencies 2020-07-02 15:12:31 +02:00
Clément Fournier
49635c2a66 Deprecate Rulechain visitors 2020-07-01 11:27:38 +02:00
Clément Fournier
659066ee02 Deprecate BaseLanguageModule constructor 2020-07-01 11:27:38 +02:00
Clément Fournier
d7f96e08d9 Uniformize apply across languages 2020-07-01 11:27:38 +02:00
Clément Fournier
25beb215fc Throw on incompatible visitor type 2020-07-01 11:16:03 +02:00
Clément Fournier
feeb1f0a87 Fix swift module 2020-07-01 11:09:12 +02:00
Clément Fournier
94595fe185 Merge branch '7.0.x' into generic-visitor2 2020-07-01 10:09:26 +02:00
Andreas Dangel
cffff1f87f Merge branch 'pmd/7.0.x' into java-grammar 2020-06-27 14:34:55 +02:00
Andreas Dangel
bc660e8807 Merge branch 'master' into pmd/7.0.x 2020-06-27 14:24:52 +02:00
Clément Fournier
4bb98df37b Fix compil 2020-06-27 14:22:42 +02:00
Clément Fournier
623adce024 Checkstyle 2020-06-27 13:24:09 +02:00
Andreas Dangel
95d8e80c1b [maven-release-plugin] prepare for next development iteration 2020-06-27 11:31:27 +02:00
Andreas Dangel
a219b2e1be [maven-release-plugin] prepare release pmd_releases/6.25.0 2020-06-27 11:31:16 +02:00
Clément Fournier
c6457ab9fc Merge branch '7.0.x' into generic-visitor2 2020-06-26 23:10:19 +02:00
Andreas Dangel
173de42387 Merge branch 'pmd/7.0.x' into java-grammar 2020-06-26 11:15:18 +02:00
Andreas Dangel
00dbe08282 Merge branch 'pmd/7.0.x' into pr-2490 2020-06-26 10:58:18 +02:00
Clément Fournier
847c4de68b Merge branch '7.0.x' into generic-visitor2 2020-06-25 14:30:46 +02:00
Clément Fournier
bc604ab747 Merge branch '7.0.x' into java-grammar 2020-06-19 02:22:24 +02:00
Clément Fournier
5b7ed588ea Make CPD end column exclusive
This is to align it with PMD columns,
which in 7.0 are already exclusive.
2020-06-19 02:21:45 +02:00
Clément Fournier
c49d9e315f Merge branch 'master' into 7.0.x 2020-06-19 01:32:32 +02:00
Andreas Dangel
a9f61260ae [scala] Remove unnecessary surefire config 2020-06-18 19:58:16 +02:00
Clément Fournier
88b34feb22 Use wildcards for acceptVisitor 2020-06-17 21:21:00 +02:00
Clément Fournier
ee1afed8c5 Fix scala stackoverflow 2020-06-15 17:10:28 +02:00
Clément Fournier
47667a0e35 Merge branch '7.0.x' into type-heap 2020-06-14 21:42:38 +02:00
Clément Fournier
f7b1c375c1 Fix scala compilation 2020-06-14 13:02:30 +02:00
Clément Fournier
b88ddf41c0 Add generic visitor interface in pmd-core
Replace SideEffectingVisitor with JavaVisitor

The new visitor is generic. We don't actually need the
old Object->Object visitor, this could just be the new
generic visitor but erased

Port language level checker

Move delegators

Remove old accept methods

Remove reduced adapter

Cleanup some visitor

Make ant wrapper replace old visitor completely

Doc

Add DeprecatedUntil700 annotation

Add top interface for visitors

Convert JSP visitors

Checkstyle

Fix java module
2020-06-14 11:43:24 +02:00
Clément Fournier
332e2369f5 Fix pmd warning 2020-06-14 01:22:17 +02:00
Clément Fournier
59dfa15269 Fix groovy columns 2020-06-14 01:04:32 +02:00
Clément Fournier
3df4506365 Convert scala tests 2020-06-13 23:25:24 +02:00
Andreas Dangel
cdeff1ab5c Merge branch 'pmd/7.0.x' into java-grammar 2020-06-12 14:35:09 +02:00
Andreas Dangel
c3219b91c5 Merge branch 'master' into pmd/7.0.x 2020-06-12 14:21:10 +02:00
Andreas Dangel
425a45a006 [scala] Fix javadoc generation and upload
Due to the different project structure, the paths need
to be adjusted
2020-06-07 12:31:47 +02:00
Andreas Dangel
d8d3aa0af7 [scala] Introduce parent pom pmd-scala-common 2020-06-07 12:24:54 +02:00
Andreas Dangel
abc230c637 [scala] Refactor project structure
* Avoid using symlinks, this is very difficult to get working
  under Windows
* Provide names for the different scala modules
* Rename pmd-scala to pmd-scala-common
* Restore main module pmd-scala for backwards compatibility
2020-06-07 11:52:10 +02:00
João Ferreira
0d83b188dc fix parent 2 2020-05-31 12:11:03 +01:00
João Ferreira
050687f2d6 fix parent 2020-05-31 12:05:57 +01:00
João Ferreira
f4880f9318 refactor scala modules configuration 2020-05-31 11:59:44 +01:00