Affects PMD Version:
6.13.0
[CPD]
Description:
I am using cpd to run a folder contains go files. Following is the command I run, and errors encountered.
Code Sample demonstrating the issue:
cpd.bat --minimum-tokens 100 --files . --language go --format xml --encoding utf-8 > cpd_test.xml
net.sourceforge.pmd.lang.ast.TokenMgrError: Lexical error in file test.go at line 392, column 47. Encountered: token recognition error at: '\\'
at net.sourceforge.pmd.cpd.AntlrTokenizer.tokenize(AntlrTokenizer.java:45)
at net.sourceforge.pmd.cpd.CPD.addAndThrowLexicalError(CPD.java:142)
at net.sourceforge.pmd.cpd.CPD.add(CPD.java:137)
at net.sourceforge.pmd.cpd.CPD.add(CPD.java:107)
at net.sourceforge.pmd.cpd.CPD.add(CPD.java:69)
at net.sourceforge.pmd.cpd.CPD.addDirectory(CPD.java:79)
at net.sourceforge.pmd.cpd.CPD.addRecursively(CPD.java:64)
at net.sourceforge.pmd.cpd.CPDCommandLineInterface.addSourcesFilesToCPD(CPDCommandLineInterface.java:133)
at net.sourceforge.pmd.cpd.CPDCommandLineInterface.addSourceFilesToCPD(CPDCommandLineInterface.java:113)
at net.sourceforge.pmd.cpd.CPDCommandLineInterface.main(CPDCommandLineInterface.java:86)
at net.sourceforge.pmd.cpd.CPD.main(CPD.java:177)
The following code is where the error appears
func test(in *Value, param *Value) (*Value, *Error) {
output := strings.Replace(in.String(), "\\", "\\\\", -1) ----line:392
output = strings.Replace(output, "\"", "\\\"", -1)
output = strings.Replace(output, "'", "\\'", -1)
return AsValue(output), nil
}
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4