Java Code Examples for com.android.tools.lint.detector.api.Location#getEnd()

The following examples show how to use com.android.tools.lint.detector.api.Location#getEnd() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: StringFormatDetector.java    From javaide with GNU General Public License v3.0 6 votes vote down vote up
private static Location refineLocation(Context context, Location location,
        String formatString, int substringStart, int substringEnd) {
    Position startLocation = location.getStart();
    Position endLocation = location.getEnd();
    if (startLocation != null && endLocation != null) {
        int startOffset = startLocation.getOffset();
        int endOffset = endLocation.getOffset();
        if (startOffset >= 0) {
            String contents = context.getClient().readFile(location.getFile());
            if (endOffset <= contents.length() && startOffset < endOffset) {
                int formatOffset = contents.indexOf(formatString, startOffset);
                if (formatOffset != -1 && formatOffset <= endOffset) {
                    return Location.create(location.getFile(), contents,
                            formatOffset + substringStart, formatOffset + substringEnd);
                }
            }
        }
    }

    return location;
}
 
Example 2
Source File: LintCliXmlParser.java    From javaide with GNU General Public License v3.0 6 votes vote down vote up
@Override
@NonNull
public Location getNameLocation(@NonNull XmlContext context, @NonNull Node node) {
    Location location = getLocation(context, node);
    Position start = location.getStart();
    Position end = location.getEnd();
    if (start == null || end == null) {
        return location;
    }
    int delta = node instanceof Element ? 1 : 0; // Elements: skip "<"
    int length = node.getNodeName().length();
    int startOffset = start.getOffset() + delta;
    int startColumn = start.getColumn() + delta;
    return Location.create(location.getFile(),
            new DefaultPosition(start.getLine(), startColumn, startOffset),
            new DefaultPosition(end.getLine(), startColumn + length, startOffset + length));
}
 
Example 3
Source File: LintCliXmlParser.java    From javaide with GNU General Public License v3.0 6 votes vote down vote up
@Override
@NonNull
public Location getValueLocation(@NonNull XmlContext context, @NonNull Attr node) {
    Location location = getLocation(context, node);
    Position start = location.getStart();
    Position end = location.getEnd();
    if (start == null || end == null) {
        return location;
    }
    int totalLength = end.getOffset() - start.getOffset();
    int length = node.getValue().length();
    int delta = totalLength - 1 - length;
    int startOffset = start.getOffset() + delta;
    int startColumn = start.getColumn() + delta;
    return Location.create(location.getFile(),
            new DefaultPosition(start.getLine(), startColumn, startOffset),
            new DefaultPosition(end.getLine(), startColumn + length, startOffset + length));
}