< prev index next >

test/jdk/com/sun/tools/jextract/jclang-ffi/src/jdk/internal/clang/SourceLocation.java

Print this page

        

*** 25,34 **** --- 25,35 ---- import java.foreign.NativeTypes; import java.foreign.Scope; import java.foreign.memory.Pointer; import java.nio.file.Path; import java.nio.file.Paths; + import java.util.Objects; import static clang.CXString.CXString; import static clang.Index.CXSourceLocation; public class SourceLocation {
*** 69,78 **** --- 70,96 ---- public boolean isFromMainFile() { return LibClang.lib.clang_Location_isFromMainFile(loc) != 0; } + @Override + public boolean equals(Object other) { + if (this == other) { + return true; + } + if (!(other instanceof SourceLocation)) { + return false; + } + SourceLocation sloc = (SourceLocation)other; + return Objects.equals(getFileLocation(), sloc.getFileLocation()); + } + + @Override + public int hashCode() { + return getFileLocation().hashCode(); + } + public final static class Location { private final Path path; private final int line; private final int column; private final int offset;
*** 102,108 **** --- 120,150 ---- } public int offset() { return offset; } + + @Override + public boolean equals(Object other) { + if (this == other) { + return true; + } + if (!(other instanceof Location)) { + return false; + } + Location loc = (Location)other; + return Objects.equals(path, loc.path) && + line == loc.line && column == loc.column && + offset == loc.offset; + } + + @Override + public int hashCode() { + return Objects.hashCode(path) ^ line ^ column ^ offset; + } + + @Override + public String toString() { + return Objects.toString(path) + ":" + line + ":" + column + ":" + offset; + } } }
< prev index next >