686 Commits

Author SHA1 Message Date
Clément Fournier
9d1ec11bbd
BAD Merge branch 'text-utils-simple' into text-utils-javacc 2021-12-22 19:24:49 +01:00
Clément Fournier
853278345f
merge 2021-12-16 17:53:25 +01:00
Clément Fournier
913d0ab272
Merge branch '7.0.x' into analysis-listener 2021-12-16 16:31:50 +01:00
Andreas Dangel
3a97618d5d
[maven-release-plugin] prepare for next development iteration 2021-11-27 11:21:17 +01:00
Andreas Dangel
ac68de1f51
[maven-release-plugin] prepare release pmd_releases/6.41.0 2021-11-27 11:21:12 +01:00
Andreas Dangel
f12710071f
[maven-release-plugin] prepare for next development iteration 2021-10-30 10:00:20 +02:00
Andreas Dangel
be09a31654
[maven-release-plugin] prepare release pmd_releases/6.40.0 2021-10-30 10:00:15 +02:00
Andreas Dangel
0399bbbfc8
[maven-release-plugin] prepare for next development iteration 2021-09-25 13:46:09 +02:00
Andreas Dangel
90b051bfff
[maven-release-plugin] prepare release pmd_releases/6.39.0 2021-09-25 13:46:04 +02:00
Andreas Dangel
d192abff5a
Merge remote-tracking branch 'adangel/fix-cpd' into pmd7-fix-cpd 2021-09-09 09:56:01 +02:00
Andreas Dangel
bd6c72e0f5
Fix code duplications 2021-09-08 20:11:49 +02:00
Andreas Dangel
65af1c0675
[maven-release-plugin] prepare for next development iteration 2021-08-28 17:27:18 +02:00
Andreas Dangel
7d11a02052
[maven-release-plugin] prepare release pmd_releases/6.38.0 2021-08-28 17:27:12 +02:00
Andreas Dangel
821f7a849b
[maven-release-plugin] prepare for next development iteration 2021-07-31 19:02:07 +02:00
Andreas Dangel
18df47ce6e
[maven-release-plugin] prepare release pmd_releases/6.37.0 2021-07-31 19:01:59 +02:00
Clément Fournier
85fd4fa9f4
Merge branch 'text-utils-simple' into text-utils-javacc 2021-07-08 18:45:55 +02:00
Clément Fournier
4d320fdbb9
Merge branch 'analysis-listener' into text-utils-simple 2021-07-08 16:54:40 +02:00
Clément Fournier
62ca0edb2a
Merge branch '7.0.x' into analysis-listener 2021-07-08 15:23:00 +02:00
Andreas Dangel
f68bf5ce05
[maven-release-plugin] prepare for next development iteration 2021-06-26 10:24:15 +02:00
Andreas Dangel
45d1605a03
[maven-release-plugin] prepare release pmd_releases/6.36.0 2021-06-26 10:24:07 +02:00
Andreas Dangel
5fbf9b2921
Merge branch 'master' into pmd/7.0.x 2021-06-10 17:52:32 +02:00
Andreas Dangel
4fb19e2a5e
Bump pmd from 6.34.0 to 6.35.0 2021-05-29 09:06:39 +02:00
Andreas Dangel
9fdfecf731
[maven-release-plugin] prepare for next development iteration 2021-05-29 07:24:47 +02:00
Andreas Dangel
b49fb2014d
[maven-release-plugin] prepare release pmd_releases/6.35.0 2021-05-29 07:24:39 +02:00
Andreas Dangel
319900cd43 [maven-release-plugin] prepare for next development iteration 2021-04-24 16:41:17 +02:00
Andreas Dangel
bfeaa1b377 [maven-release-plugin] prepare release pmd_releases/6.34.0 2021-04-24 16:41:10 +02:00
Clément Fournier
d9a3ef9691 Merge branch 'text-utils-simple' into text-utils-javacc 2021-03-30 03:04:07 +02:00
Clément Fournier
50c00f4f9a Merge branch 'analysis-listener' into text-utils-simple 2021-03-30 02:38:13 +02:00
Clément Fournier
0011b64c35 Merge branch '7.0.x' into analysis-listener 2021-03-29 23:14:29 +02:00
Andreas Dangel
37e5525fd5 [maven-release-plugin] prepare for next development iteration 2021-03-27 16:25:18 +01:00
Andreas Dangel
dc1c9d0aed [maven-release-plugin] prepare release pmd_releases/6.33.0 2021-03-27 16:25:13 +01:00
Andreas Dangel
e0de01ebe9 [maven-release-plugin] prepare for next development iteration 2021-02-27 09:44:05 +01:00
Andreas Dangel
0848e230d0 [maven-release-plugin] prepare release pmd_releases/6.32.0 2021-02-27 09:43:58 +01:00
Clément Fournier
268f66f4cd Simplify tests 2021-02-13 21:28:24 +01:00
Clément Fournier
8fb4a082d8 Remove sentinel value 2021-02-13 21:18:47 +01:00
Clément Fournier
5ca13f1bdd Merge branch 'core-parser-tasks' into 7.0.x 2021-02-13 20:51:11 +01:00
Andreas Dangel
2ea0328678 [maven-release-plugin] prepare for next development iteration 2021-01-30 18:04:17 +01:00
Andreas Dangel
7d6e6239c5 [maven-release-plugin] prepare release pmd_releases/6.31.0 2021-01-30 18:04:08 +01:00
Andreas Dangel
cf2b8aca3a Merge branch 'master' into pmd/7.0.x 2021-01-30 12:04:28 +01:00
Joshua Feingold
d88d8ff913
@W-8680425@: Added LINKTO back into the list of inherently safe functions. 2021-01-29 10:02:09 -06:00
Joshua Feingold
a4916f94fc
@W-8680425@: Pulled out some repeated code into convenience method. 2021-01-25 16:33:47 -06:00
Joshua Feingold
c14398d19f
@W-8680425@: Refactored escape detection in script context. Multiple false positives resolved. 2021-01-25 14:39:25 -06:00
Clément Fournier
e9b1499508 Merge branch 'remove-xml-dom-rule' into core-parser-tasks 2021-01-24 16:42:24 +01:00
Clément Fournier
8af799529d Merge branch '7.0.x' into pmd7-ruleset-loader 2021-01-22 17:11:26 +01:00
Andreas Dangel
b58c52db22 Fix compile errors and tests 2021-01-21 21:30:03 +01:00
Andreas Dangel
5dac4a7795 Merge branch 'master' into pmd/7.0.x 2021-01-21 21:00:42 +01:00
Andreas Dangel
221c9e785e Merge pull request #3005 from rmohan20:removeOnEventEncoding
[vf] [New Rule] Handle XSS violations that can occur within Html Style
tags #3005
2021-01-21 15:07:05 +01:00
Andreas Dangel
dc4cdf696e Fixups for #3005
- ElEscapeDetector is utility class now
- Improved description and example of new rule
2021-01-21 15:01:58 +01:00
Andreas Dangel
f7909ae78a Merge branch 'master' into pr-2963-update 2021-01-21 11:43:01 +01:00
Jeff Bartolotta
15dd8783c7
Convert Pattern to a static final member 2021-01-19 10:28:08 -08:00
Jeff Bartolotta
98acf1de63
Update pmd-visualforce/src/test/java/net/sourceforge/pmd/lang/vf/rule/security/VfHtmlXssStyleTagUrlPatternMatchingTest.java
Co-authored-by: Clément Fournier <clement.fournier76@gmail.com>
2021-01-19 10:11:52 -08:00
rmohan
6a179980be
Applying changes from review feedback 2021-01-15 13:40:07 -08:00
rmohan
407aa690d1
parent 7fc3dee95acbb40692f2c115ebe7b0264f377385
author rmohan <rmohan@salesforce.com> 1608240897 -0800
committer rmohan <rmohan@salesforce.com> 1610153787 -0800
gpgsig -----BEGIN PGP SIGNATURE-----

 iQIzBAABCAAdFiEEPykD30Ug+JG+ZQ7x5XWwXqT2VuwFAl/4/zsACgkQ5XWwXqT2
 VuwJoBAAsdl/TU3nculnOPwrCHtaxgtM/4zB+wLdw7f+KtIaGMv5A8v8gMbqh0V+
 OTPV0Q/CTEk4PxA2qD5aCPLOaO9+LHOKjPdkWalttVjINtTVPR2pKo0PKR+f2q77
 79eFkhiB1uNx741ThGIZoWPv8eMKHYP+1BEwndFdByxSA70+gdYkbmZqKLLOOrTE
 2uxuGwnNM02ZYskupvgPW2pZvWFviR2sZt/GbFPkqAwgjf40MxM5+3cujOOV850E
 hLHCcch5G5sh8sHTb9nCyNmc6i1kSw9+OOpOHmJGV4u3DRBBtTE9FdwyEUJ2VliZ
 77VrfRPxwzkAE3jTH7EGCY7kpf84jQMqrGn/gav1LfH4DscPZmF617r9iYZ5fOr6
 Z2Fun4vaCXk0h1CojCOpnh4WAthhiVtvBJmdiyO489/hmbtwWuz7KBkCsEVBS+8E
 ViEaQylIOWjcFXkAq5PQ8fCxIqqMgbI7p5kQL6zatpykteMT5zoJj41t8oyjr5Rz
 RUGXNPxpW3zKq3jw4VsjZ8qNYuoSerTzx0qGuUQIALO97HZ8ZBsxmcDTFJrzAkj7
 yfslzLRIoPlL4ZKdpOgCGzVLBX1D/YCBn9KXQiYEYRh57umIt0wpM/Y/Xkl+/Jr4
 97DYj7GQr1gYavSqe7z5n3aUixyibpWy/wx2K3VN6PmtZ3FEB5I=
 =dqIs
 -----END PGP SIGNATURE-----

Creating new VfHtmlStyleTagXss rule to handle XSS in style tags.
Also, refactoring common code out of VfUnescapeElRule to avoid duplication.
2021-01-08 17:08:46 -08:00
Andreas Dangel
c37f208d3e Call jjtree/javacc with UTF-8 as default encoding
Fixes #2970
2020-12-17 18:31:13 +01:00
rmohan
7fc3dee95a
Merging Style tag and HTML XSS checks with typecheck changes for real 2020-12-16 16:22:40 -08:00
rmohan
94a3eb636a
Changes to fix apex namespace bug 2020-12-16 14:28:35 -08:00
rmohan
35ee2a534e
Redoing HTML Style tag changes on updated Typecheck logic 2020-12-16 13:37:14 -08:00
Clément Fournier
dffabf8924 Fix VF 2020-12-13 08:11:04 +01:00
Clément Fournier
00bee39767 Merge branch 'analysis-listener' into text-utils-simple 2020-12-13 05:38:09 +01:00
Clément Fournier
fe5d1e49f1 Fix tests 2020-12-13 04:17:40 +01:00
Clément Fournier
08227f8b18 Fix vf module 2020-12-13 01:13:53 +01:00
Clément Fournier
2623efbc8a Delete ParserOptions 2020-12-13 00:39:05 +01:00
Clément Fournier
79def1b51d Reduce importance of parser options 2020-12-12 21:19:50 +01:00
Clément Fournier
83edce05c1 Merge branch 'pmd7-ruleset-loader' into core-parser-tasks 2020-12-12 20:53:50 +01:00
Clément Fournier
14df02e3cf Cleanup more tests 2020-12-12 18:55:38 +01:00
Andreas Dangel
d284ea9634 [maven-release-plugin] prepare for next development iteration 2020-12-12 09:42:10 +01:00
Andreas Dangel
d2e4fb4ca3 [maven-release-plugin] prepare release pmd_releases/6.30.0 2020-12-12 09:42:02 +01:00
Clément Fournier
a8d40342f7 Fix compil, remove dependency on xpath 2020-12-11 10:57:39 +01:00
Clément Fournier
823f78c425 Merge branch 'master' into 7.0.x
Refs #2864
2020-12-11 10:11:40 +01:00
Jeff Bartolotta
4e00c20499
Small comment and doc edits 2020-12-10 22:20:10 -08:00
Clément Fournier
f7829531c9 Add some doc 2020-12-10 20:17:51 +01:00
Maikel Steneker
af31b3a773 Add GenericToken.getKind() to interface 2020-12-10 12:10:47 +01:00
Jeff Bartolotta
f805b85850
Fix Html DataType
This DataType does not need to be escaped, it is always escaped by the
server.
2020-12-09 20:11:25 -08:00
Clément Fournier
2d5781482e Fix tests 2020-11-24 12:22:32 +01:00
Clément Fournier
b94ac4f018 Don't create a vf language module per parser options 2020-11-24 12:09:25 +01:00
Clément Fournier
0ad1f47b29 Use interface instead of deprecated abstract class 2020-11-24 12:02:32 +01:00
Clément Fournier
fabf2cf6db Make the parser options properties private 2020-11-24 11:53:45 +01:00
Clément Fournier
21506cea85 Cleanup languages to skip 2020-11-24 11:39:59 +01:00
Jeff Bartolotta
86b5948f07
Update the way nodes with data are identified
Changed method for how the Visualforce strings are reconstructed from the AST. The previous implementation had incorrect assumptions about the structure of the AST. Added tests to more thoroughly test these situations.

Changed name of IdentifierType to DataType. This information can be stored on either ASTIdentifier or ASTLiteral nodes.

Changes based on PR feedgack:
- Restored ParserOptionsTest in order to avoid binary compatibilty issues.
- Changed ParserOptions to contain a PropertySource instead of extending AbtractPropertySource.
2020-11-20 11:59:23 -08:00
Clément Fournier
870e13ce83 Cleanup duplicate code paths in escape translators 2020-11-18 12:39:11 +01:00
Clément Fournier
11de423765 Merge branch 'text-utils-simple' into text-utils-javacc 2020-11-16 00:29:45 +01:00
Clément Fournier
4cd1fa0a1d Fix build 2020-11-15 22:24:48 +01:00
Clément Fournier
af1e818ee0 Merge branch 'text-utils-simple' into text-utils-javacc 2020-11-15 19:41:20 +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
c8488c5996 Update rest of modules 2020-11-15 18:01:08 +01:00
Clément Fournier
7c45eb0ca9 Use a wrapper 'AstInfo' 2020-11-15 17:35:10 +01:00
Clément Fournier
2431a41d74 Changes to VF, JSP, VM 2020-11-15 17:03:52 +01:00
Jeff Bartolotta
e1c42a10ec
Move visitor to VfParser#parse
LanguageVersionHandler#getTypeResolutionFacade is deprecated. Moved the VfExpressionTypeVisitor creation and execution to VfParser#parse instead.

ParsingOptionsTest located in pmd-test wasn't running previously because it was in the src/main hierarchy. Moved this test into the src/test hierarchy and consolidated the methods from the
similarly named class from pmd-core.
2020-11-12 20:13:19 -08:00
jbartolotta-sfdc
0348b2c0d2
Merge branch 'master' into issue1092-vf-escape-false-positives 2020-11-12 10:39:10 -08:00
Jeff Bartolotta
db7bf0a786
Store type information in AST instead of map
Store the IdentifierType on ASTIdentifier node instead of in a separate map.

Use the existing TypeResolution pattern to configure the visitor instead deriving from an abstract rule.

Changed ParserOptions to extend AbstractPropertySource with the ability to override the defaults via environment variables.
2020-11-12 10:15:04 -08:00
Clément Fournier
966b5de056 Merge branch 'text-utils-simple' into text-utils-javacc 2020-10-30 21:05:34 +01:00
Clément Fournier
014ba90c88 Merge branch 'analysis-listener' into text-utils-simple 2020-10-30 20:45:57 +01:00
Jeff Bartolotta
ba2e91b3a0
Exclude languages in AbstractRuleSetFactoryTest
Allow subclasses of AbstractRuleSetFactoryTest to filter out languages
that show up in the classpath but should not be tested.

Change VFTestContstants to final instead of abstract.
2020-10-29 17:22:35 -07:00
Jeff Bartolotta
6f7bebcecd
Configure visualforce to require Java 8
pmd-visualforce depends on pmd-apex. pmd-apex relies on Java 8. This change configures pmd-visualforce to also require Java 8.

This is a breaking change that will need to be documented.
2020-10-28 15:10:26 -07:00
Jeff Bartolotta
f70b2e44fc
Rename ExpressionType, remove google collections
Renamed ExpressionType to IdentifierType since this is more accurate.

Removed usage of google.collect classes that were causing UnsupportedClassVersionError exception in the Travis CI run.
2020-10-27 16:23:14 -07:00
Clément Fournier
6467a2b70c Merge branch '7.0.x' into analysis-listener 2020-10-26 16:00:51 +01:00
Andreas Dangel
5dfac0b03a Merge branch 'master' into pmd/7.0.x 2020-10-24 12:23:45 +02: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
Jeff Bartolotta
ef9e350fd5
Mark AbstractVfTypedElExpressionRule as abstract 2020-10-22 12:11:44 -07:00
Jeff Bartolotta
ddf55c7f81
Provide type information to Visualforce rules
Addresses the general issue raised in https://github.com/pmd/pmd/issues/1092 This commit removes false positives from expressions in apex tags. The specific use case raised in 1092 isn't reproducible and represents a false negative that will be fixed separately.

The existing Visualforce rules don't have any information about the data types referenced in the Visualforce page. This results in false positives when attempting to identify expressions that are vulnerable to XSS attacks. The rules should not warn about XSS attacks when the expression refers to a type such as Integer or Boolean.

The VfExpressionTypeVisitor visits the Visualforce page and extracts the datatypes from Salesforce metadata. Data type information can come from either Apex classes or Object Fields. The Salesforce metadata is generally located in a sibling directory of the Visualforce directory. By default the code looks in directories relative to the Visualforce file to find the metadata. The conventional locations for the metadata are "../classes" and "../objects", the user can override this default with other directories if required.
2020-10-22 11:30:45 -07:00
Andreas Dangel
7f70cac7ca Merge branch 'pr-2834' into master
[vf] Allow attributes with dot in Visualforce #2834
2020-10-22 09:48:36 +02:00
rmohan
7e7182b26d
Modifying VF tokenizer test content to keep up with the minor grammar change
Streamlined IDENTIFIED_DOTTED logic. Added a couple more negative tests
2020-10-16 09:31:43 -07: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
rmohan
5ea116fa52
First draft of change to allow dotted attributes in Visualforce 2020-09-18 13:45:43 -07:00
Clément Fournier
c88919bbc7 Cleanup 2020-09-17 22:56:45 +02:00
Clément Fournier
3ee32effda Refactor token documents
Isolate static parts
2020-09-17 22:56:01 +02:00
Clément Fournier
a01f1a3574 Stop extending Reader 2020-09-17 22:55:11 +02:00
Clément Fournier
a11f45e511 Cleanup spec 2020-09-17 22:54:59 +02:00
Clément Fournier
155a895a93 Move charstream 2020-09-17 22:54:20 +02:00
Clément Fournier
e93e5b0a4c Move into .io package 2020-09-17 22:43:29 +02:00
Clément Fournier
6142dc3978 Rename java reader 2020-09-17 22:42:22 +02:00
Clément Fournier
95bac5eb95 Convert CharStream to class 2020-09-17 22:41:16 +02:00
Clément Fournier
b779abd08b Align cpd 2020-09-17 22:41:14 +02:00
Clément Fournier
13879c9b94 Make RootNode have a text document 2020-09-17 22:33:00 +02:00
Clément Fournier
2356f2f69d Use TextRegion in tokens 2020-09-17 22:29:59 +02:00
Clément Fournier
7d242718bd Merge branch '7.0.x' into analysis-listener 2020-09-14 15:09:54 +02:00
Andreas Dangel
9cfe485888 Merge branch 'pr-2746' into pmd/7.0.x
[core, ...] Finish generic visitors #2746

Fixes #880
2020-09-13 09:49:14 +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
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
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
95048b061a Merge branch '7.0.x' into remove-more-deprecated-things 2020-08-30 21:36:04 +02:00
Clément Fournier
7384fd6fb2 Merge branch 'master' into 7.0.x 2020-08-28 14:58:10 +02:00
XenoAmess
244a39db0f fix typos. 2020-08-27 11:47:11 +08:00
Clément Fournier
36f4469ac9 Checkstyle 2020-08-26 19:10:32 +02:00
Clément Fournier
c5f8d16caf Cleanup wrapper script 2020-08-26 19:10:32 +02:00
Clément Fournier
d3d3d637e7 Cleanup some usages of jjtAccept 2020-08-26 19:10:32 +02:00
Clément Fournier
1cf88f6aad Same for visualforce 2020-08-26 19:10:32 +02:00
Clément Fournier
5f8e5fc1ff Remove ImmutableLanguage 2020-08-25 15:23:22 +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
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
06d2225b27 [vf] Deprecate VfSimpleCharStream 2020-08-20 10:38:41 +02:00
Andreas Dangel
23bc58f23c [vf] Use tabSize=1 as well 2020-08-20 10:38:19 +02:00
Clément Fournier
3d4f709009 Merge branch '7.0.x' into remove-old-stuff 2020-07-31 16:02:34 +02:00
Andreas Dangel
384dd20319 Merge branch 'master' into pmd/7.0.x 2020-07-30 11:51:53 +02:00
Andreas Dangel
eb683569af Merge branch 'pr-2617'
[core] Deprecate missing language attribute on rule definition #2617
2020-07-30 10:19:03 +02:00
Clément Fournier
57112e4f4d Pass language registry in configuraiton 2020-07-29 15:35:37 +02:00
Clément Fournier
1ce585aafb Remove many static usages of LanguageRegistry 2020-07-29 15:35:16 +02:00
Clément Fournier
d650c87d8d Remove more utils 2020-07-28 12:51:55 +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
Andreas Dangel
dcaa8a1167 Merge branch 'master' into pmd/7.0.x 2020-07-17 16:13:02 +02:00
Andreas Dangel
044d7aea2d Merge branch 'pr-2638'
[visualforce] add new safe resource for VfUnescapeEl #2638
2020-07-17 15:29:25 +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
Andreas Dangel
d89a6d080d [visualforce] Add test for VfUnescapeEl with $MessageChannel 2020-07-09 12:20:09 +02:00
Peter Chittum
2fb196b16a [visualforce] added new global variable name to safe resources
Cherry-picked from 7f0f91f71aac132e3c5ddd9ce397c73f19ebb04e
2020-07-09 12:19:54 +02:00
Peter Chittum
5e50b16e05 [visualforce] added new global variable name to safe resources
Cherry-picked from 25cb8de645e0c016a99a933950bffdc996d74b39
2020-07-09 12:19:38 +02:00
Clément Fournier
8add323403 Fix other offenders 2020-07-06 14:02:21 +02:00
Andreas Dangel
370c0b0b6d Remove unused dependency, explicitly declare used dependencies 2020-07-02 15:12:31 +02:00
Andreas Dangel
c7ccb8a087 javacc is only needed during parser generation 2020-07-02 10:27:26 +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
Robert Sösemann
715626bfc4
Revert "[visualforce] add new safe resource for VfUnescapeEl" 2020-06-30 14:37:14 +02:00
Peter Chittum
7f0f91f71a
added new global variable name to safe resources 2020-06-30 08:18:45 +01:00
Peter Chittum
25cb8de645
added new global variable name to safe resources 2020-06-30 08:15:25 +01: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
47667a0e35 Merge branch '7.0.x' into type-heap 2020-06-14 21:42:38 +02:00
Andreas Dangel
c3219b91c5 Merge branch 'master' into pmd/7.0.x 2020-06-12 14:21:10 +02:00
Andreas Dangel
8defb2fde2 Add missing relativePath configuration in all pom modules 2020-06-07 12:36:58 +02:00
Andreas Dangel
510d5c633a Merge branch 'master' into pmd/7.0.x 2020-05-24 17:47:30 +02:00
Andreas Dangel
ab04bdacdd [maven-release-plugin] prepare for next development iteration 2020-05-24 17:34:34 +02:00
Andreas Dangel
229cb2bdca [maven-release-plugin] prepare release pmd_releases/6.24.0 2020-05-24 17:34:25 +02:00
Andreas Dangel
a3a292d591 Remove unnecessary source-type tags in rule tests
source-type is actually only needed if
* the language supports more than one version
* the parser behaves differently with different versions
  (this has to do with compatibility, e.g. assert/enum keywords
  in java)
* the test needs a newer version than the default version
  (e.g. to test new language features)
* the test needs an older version than the default version
  (e.g. the rule has a maximumLanguageVersion specified)
* the rule behaves differently for different versions
  (e.g. BigIntegerInstantiation)
2020-05-23 14:16:13 +02:00
Andreas Dangel
2dae9c085f Merge branch 'master' into pmd/7.0.x 2020-05-23 11:42:20 +02:00
Clément Fournier
425e537918 Checkstyle 2020-05-18 14:57:56 +02:00
Clément Fournier
8f13dd82f0 Replace Node#apply(List<Node>) with apply(Node) 2020-05-18 14:57:54 +02:00
Clément Fournier
60d276c2a0 Remove old rulechain impl 2020-05-18 14:57:53 +02:00
Andreas Dangel
edc40521a3 [visualforce] Cleanup rule test xml files
Avoid unnecessary CDATA for description
Use 4 space indentation instead of tabs
Remove trailing whitespace
End file with a newline
2020-05-16 18:56:05 +02:00
Clément Fournier
1a6d7b393c Add a type parameter to AbstractNode 2020-04-26 19:04:31 +02:00
Andreas Dangel
4308c545e5 [maven-release-plugin] prepare for next development iteration 2020-04-24 10:53:12 +02:00
Andreas Dangel
921c65f5ab [maven-release-plugin] prepare release pmd_releases/6.23.0 2020-04-24 10:53:00 +02:00
Clément Fournier
81c3743430 Hide setImage 2020-04-23 21:15:52 +02:00
Clément Fournier
11d7aeb10f Add GenericNode & JjtreeNode interfaces 2020-04-23 19:59:52 +02:00
Clément Fournier
bcf90ceb8a Externalize creator for XPath rule 2020-04-08 21:35:34 +02:00
Clément Fournier
96feed7b83 Do it for the other languages 2020-03-20 18:07:56 +01:00
Clément Fournier
e9b65823bf Cleanup TokenMgrError 2020-03-20 18:07:56 +01:00
Clément Fournier
3cdcba2299 Fix file name for token manager error 2020-03-20 18:07:56 +01:00
Clément Fournier
9a62a662c1 Remove track-tokens for vf, jsp 2020-03-19 17:57:30 +01:00
Clément Fournier
33eb1501db Use base JJTree class for the VF parser 2020-03-19 16:53:22 +01:00
Andreas Dangel
ff39a5503a [vf] Make remaining setters package-private, remove deprecated 2020-03-19 15:24:06 +01:00
Andreas Dangel
3b5c08a095 [vf] License headers 2020-03-19 15:23:12 +01:00
Clément Fournier
affb0461c9 Skip bom 2020-03-17 15:53:37 +01:00
Clément Fournier
7ecdd394b2 Make VF nodes final 2020-03-17 15:48:30 +01:00
Clément Fournier
fd0d53b590 Merge branch '7.0.x' into port-jsp-vf-modules 2020-03-17 15:46:41 +01:00
Clément Fournier
903383d7cf Merge branch 'master' into 7.0.x 2020-03-17 15:14:46 +01:00
Clément Fournier
c24ac34c03 Merge branch 'master' into deprecate-vf-ast 2020-03-17 14:46:53 +01:00
Clément Fournier
e1069b4a33 Fix *ParserVisitor itf being deprecated
refs #2239
2020-03-17 14:42:29 +01:00
Clément Fournier
eae54da5d0 Merge branch 'master' into deprecate-vf-ast 2020-03-17 14:34:31 +01:00
Clément Fournier
9f4bc75829 Internalize token manager 2020-03-17 14:33:16 +01:00
Andreas Dangel
4c020bfbf7 [maven-release-plugin] prepare for next development iteration 2020-03-12 15:15:18 +01:00
Andreas Dangel
eb93aaeca7 [maven-release-plugin] prepare release pmd_releases/6.22.0 2020-03-12 15:15:09 +01:00
Andreas Dangel
5f7216f374 [vf] Deprecate AST constructors and setters
Also remove useless javadoc comments and fix license header
2020-03-05 20:39:05 +01:00
Clément Fournier
a69fa93a32 Remove whitespace changes 2020-02-17 08:31:47 +01:00
Clément Fournier
8060e37da4 Restrict visibility of node ctors 2020-02-17 08:06:11 +01:00
Clément Fournier
137a6a74f4 Port VF module 2020-02-17 08:06:11 +01:00
Clément Fournier
ec1eb208eb Merge branch 'master' into 7.0.x 2020-01-24 23:48:22 +01:00
Clément Fournier
d90d5d267c Remove trailing whitespace everywhere 2020-01-24 23:40:06 +01:00
Andreas Dangel
b02ab00e87 Merge remote-tracking branch 'origin/master' into pmd/7.0.x 2020-01-24 19:18:17 +01:00
Andreas Dangel
d994700617 [maven-release-plugin] prepare for next development iteration 2020-01-24 17:20:47 +01:00
Andreas Dangel
a28e9e22e5 [maven-release-plugin] prepare release pmd_releases/6.21.0 2020-01-24 17:20:38 +01:00
Andreas Dangel
5feca7fd93 Exclude generated AST*.java files from internalization 2020-01-24 16:19:24 +01:00
Clément Fournier
60e97d0ec8 Deprecate javacc generated code 2020-01-22 17:19:29 +01:00
Clément Fournier
aa9a9c2bed Merge branch 'master' into 7.0.x 2020-01-19 05:59:09 +01:00
Clément Fournier
27d7a6c02c Accomodate children iterable for specialization 2020-01-19 05:57:39 +01:00
Clément Fournier
7756ad9de0 Merge branch 'master' into 7.0.x 2020-01-17 16:09:45 +01:00
Andreas Dangel
4450d826f7 Merge branch 'pr-2225'
[core] CPD: report endLine / column informations for found duplications
2020-01-17 14:59:02 +01:00
Clément Fournier
240b1fe68a Fix build 2020-01-17 14:48:43 +01:00
Andreas Dangel
817c3d1127 CPD: Remove deprecations in Mark / TokenEntry
* Provide these values for more languages
2020-01-17 14:47:23 +01:00
Clément Fournier
ecef88aa0a Merge branch 'master' into 7.0.x 2020-01-17 12:10:51 +01:00
Clément Fournier
d9ad819dab Replace usages of node methods everywhere 2020-01-17 11:57:19 +01:00
Andreas Dangel
f53993427c Merge branch 'pr-2172'
[core] Deprecate jjtree methods from the Node interface
2020-01-17 08:18:50 +01:00
Clément Fournier
820edada4f Add 'children' iterable method to Node interface 2020-01-12 18:18:38 +01:00
Clément Fournier
99700d7526 Extract changes from #2166 to 7.0.x
* Make Java nodes text-available
* Introduce shared JavaccToken in pmd-core
* Use factory to produce char streams

Tests are still on java-grammar,
since they use the DSL & newer
AST structure.

This is to prepare for other changes
that concern all javacc languages and
should not be done on java-grammar
2020-01-10 21:15:15 +01:00
Andreas Dangel
ea86a23b73 Merge branch 'master' into pmd/7.0.x 2020-01-10 14:41:27 +01:00
Andreas Dangel
4269fd1b73 Refactor tests for javascript, jsp, plsql, scala, visualforce, xml
using BaseParsingHelper

Revert "REVERT ME Remove some diff"

This reverts commit f72810088d2c7f3c29fbde185b25cfc72fc1fbcc.
2020-01-10 12:12:34 +01:00
Clément Fournier
0ff87229ff Remove TokenBasedNode
I don't think we should expose tokens as an API
yet. They're an implementation detail, not used
much, and the AST should be able to reflect all
the information that can be found in the tokens.

The methods of AbstractNode can be pulled down
to AbstractJjtreeNode and made protected.
2020-01-05 23:13:04 +01:00
Clément Fournier
86086bc04a Factorize javacc jar property 2020-01-02 17:41:27 +01:00
Clément Fournier
f72810088d REVERT ME Remove some diff 2019-12-20 18:32:47 +01:00
Clément Fournier
8afe5ae7a8 Abstract away parser utils
Convert a few pieces of code

Share with modelica

Remove yet another dup

Fix tests

Doc

Share with plsql

Fix tests

Fix build

Cleanup

Minimize diff

Share with JSP module

Share with JS module

Share with XML module

Share with VisualForce module

Share with Scala module

Fix last tests
2019-12-20 18:30:17 +01:00
Clément Fournier
627e258458 Revert 2019-12-17 17:49:01 +01:00
Clément Fournier
86b274c681 Make generic visitor superclass
Use raw supertype to avoid conflicts
2019-12-17 17:39:13 +01:00
Clément Fournier
1aabc53fa2 Deprecate childrenAccept in all modules 2019-12-17 17:39:13 +01:00
Clément Fournier
98df6bda1c Add TokenBasedNode, AbstractJjtreeNode 2019-12-17 17:39:13 +01:00
Clément Fournier
eb6ceef085 Add comments and update release notes 2019-12-05 15:23:07 +01:00
Clément Fournier
bb7478cd0a Deprecate RuleViolationFactory impls
Internal APIs
2019-12-05 15:18:35 +01:00
Andreas Dangel
00392cefc2 [maven-release-plugin] prepare for next development iteration 2019-11-29 19:46:14 +01:00
Andreas Dangel
78da370fb8 [maven-release-plugin] prepare release pmd_releases/6.20.0 2019-11-29 19:46:05 +01:00
Andreas Dangel
deec9c44b2 [maven-release-plugin] prepare for next development iteration 2019-10-31 18:36:51 +01:00
Andreas Dangel
2881b6f585 [maven-release-plugin] prepare release pmd_releases/6.19.0 2019-10-31 18:36:42 +01:00
Clément Fournier
3d6f660700 Checkstyle 2019-10-09 19:51:01 +02:00
Clément Fournier
12d04beb9b Fix some pr comments 2019-10-07 00:03:17 +02:00
Clément Fournier
b270076e13 Remove useless violation factories 2019-10-07 00:03:00 +02:00
Clément Fournier
6b3e4f1b34 WIP3 2019-10-07 00:02:01 +02:00
Clément Fournier
4890905699 Remove Parser#canParse 2019-09-24 09:13:15 +02:00
Andreas Dangel
e536ca1947 [maven-release-plugin] prepare for next development iteration 2019-09-15 10:14:14 +02:00
Andreas Dangel
3f42cca200 [maven-release-plugin] prepare release pmd_releases/6.18.0 2019-09-15 10:14:05 +02:00
Andreas Dangel
7a7971f64d [maven-release-plugin] prepare for next development iteration 2019-07-28 10:24:51 +02:00
Andreas Dangel
365e1c9e8b [maven-release-plugin] prepare release pmd_releases/6.17.0 2019-07-28 10:24:43 +02:00
Andreas Dangel
73a8e4cc69 [maven-release-plugin] prepare for next development iteration 2019-06-30 10:33:08 +02:00
Andreas Dangel
45facbd323 [maven-release-plugin] prepare release pmd_releases/6.16.0 2019-06-30 10:32:58 +02:00
Andreas Dangel
5ac687918a [maven-release-plugin] prepare for next development iteration 2019-05-26 11:02:26 +02:00