File: RegexMatcher.java

package info (click to toggle)
checker-framework-java 3.2.0%2Bds-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 22,840 kB
  • sloc: java: 145,910; xml: 839; sh: 518; makefile: 401; perl: 26
file content (25 lines) | stat: -rw-r--r-- 822 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// Test case for Issue panacekcz#8:
// https://github.com/panacekcz/checker-framework/issues/8

import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.checkerframework.checker.index.qual.NonNegative;

public class RegexMatcher {
    static void m(String p, String s) {
        Matcher matcher = Pattern.compile(p).matcher(s);
        // The following line cannot be used as a test,
        // because the relation of matcher to p is not tracked,
        // so the upper bound is not known.

        // s.substring(matcher.start(), matcher.end());

        @NonNegative int i;
        i = matcher.start();
        i = matcher.end();
        // :: error: (assignment.type.incompatible)
        i = matcher.start(1);
        // :: error: (assignment.type.incompatible)
        i = matcher.end(1);
    }
}