Search in sources :

Example 1 with Tokens

use of net.sourceforge.pmd.cpd.Tokens in project sonarqube by SonarSource.

the class TokenizerBridge method chunk.

public List<TokensLine> chunk(File file) {
    SourceCode sourceCode = new SourceCode(new FileCodeLoaderWithoutCache(file, encoding));
    Tokens tokens = new Tokens();
    TokenEntry.clearImages();
    try {
        tokenizer.tokenize(sourceCode, tokens);
    } catch (IOException e) {
        throw Throwables.propagate(e);
    }
    TokenEntry.clearImages();
    return convert(tokens.getTokens());
}
Also used : SourceCode(net.sourceforge.pmd.cpd.SourceCode) FileCodeLoaderWithoutCache(org.sonar.duplications.cpd.FileCodeLoaderWithoutCache) IOException(java.io.IOException) Tokens(net.sourceforge.pmd.cpd.Tokens)

Example 2 with Tokens

use of net.sourceforge.pmd.cpd.Tokens in project sonarqube by SonarSource.

the class TokenizerBridgeTest method setUp.

@Before
public void setUp() {
    Tokenizer tokenizer = new Tokenizer() {

        public void tokenize(SourceCode tokens, Tokens tokenEntries) throws IOException {
            tokenEntries.add(new TokenEntry("t1", "src", 1));
            tokenEntries.add(new TokenEntry("t2", "src", 1));
            tokenEntries.add(new TokenEntry("t3", "src", 2));
            tokenEntries.add(new TokenEntry("t1", "src", 4));
            tokenEntries.add(new TokenEntry("t3", "src", 4));
            tokenEntries.add(new TokenEntry("t3", "src", 4));
            tokenEntries.add(TokenEntry.getEOF());
        }
    };
    bridge = new TokenizerBridge(tokenizer, "UTF-8", 10);
}
Also used : SourceCode(net.sourceforge.pmd.cpd.SourceCode) TokenEntry(net.sourceforge.pmd.cpd.TokenEntry) Tokenizer(net.sourceforge.pmd.cpd.Tokenizer) Tokens(net.sourceforge.pmd.cpd.Tokens) Before(org.junit.Before)

Example 3 with Tokens

use of net.sourceforge.pmd.cpd.Tokens in project sonarqube by SonarSource.

the class XooTokenizerTest method testExecution.

@Test
public void testExecution() throws IOException {
    File source = new File(baseDir, "src/foo.xoo");
    FileUtils.write(source, "token1 token2 token3\ntoken4");
    DefaultInputFile inputFile = new TestInputFileBuilder("foo", "src/foo.xoo").setLanguage("xoo").setModuleBaseDir(baseDir.toPath()).build();
    fileSystem.add(inputFile);
    XooTokenizer tokenizer = new XooTokenizer(fileSystem);
    SourceCode sourceCode = mock(SourceCode.class);
    when(sourceCode.getFileName()).thenReturn(inputFile.absolutePath());
    Tokens cpdTokens = new Tokens();
    tokenizer.tokenize(sourceCode, cpdTokens);
    // 4 tokens + EOF
    assertThat(cpdTokens.getTokens()).hasSize(5);
    assertThat(cpdTokens.getTokens().get(3)).isEqualTo(new TokenEntry("token4", "src/foo.xoo", 2));
}
Also used : TestInputFileBuilder(org.sonar.api.batch.fs.internal.TestInputFileBuilder) SourceCode(net.sourceforge.pmd.cpd.SourceCode) TokenEntry(net.sourceforge.pmd.cpd.TokenEntry) DefaultInputFile(org.sonar.api.batch.fs.internal.DefaultInputFile) DefaultInputFile(org.sonar.api.batch.fs.internal.DefaultInputFile) File(java.io.File) Tokens(net.sourceforge.pmd.cpd.Tokens) Test(org.junit.Test)

Aggregations

SourceCode (net.sourceforge.pmd.cpd.SourceCode)3 Tokens (net.sourceforge.pmd.cpd.Tokens)3 TokenEntry (net.sourceforge.pmd.cpd.TokenEntry)2 File (java.io.File)1 IOException (java.io.IOException)1 Tokenizer (net.sourceforge.pmd.cpd.Tokenizer)1 Before (org.junit.Before)1 Test (org.junit.Test)1 DefaultInputFile (org.sonar.api.batch.fs.internal.DefaultInputFile)1 TestInputFileBuilder (org.sonar.api.batch.fs.internal.TestInputFileBuilder)1 FileCodeLoaderWithoutCache (org.sonar.duplications.cpd.FileCodeLoaderWithoutCache)1