This reverts commit cb935f345683194e42e6e883d79c5a16479acd74. Discussion in D68708 advises that green dragon is being briskly refurbished, and it's good to have this patch up testing it.
46 lines
1.3 KiB
Python
46 lines
1.3 KiB
Python
# DExTer : Debugging Experience Tester
|
|
# ~~~~~~ ~ ~~ ~ ~~
|
|
#
|
|
# Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
# See https://llvm.org/LICENSE.txt for license information.
|
|
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
import os
|
|
|
|
|
|
class LocIR:
|
|
"""Data class which represents a source location."""
|
|
|
|
def __init__(self, path: str, lineno: int, column: int):
|
|
if path:
|
|
path = os.path.normcase(path)
|
|
self.path = path
|
|
self.lineno = lineno
|
|
self.column = column
|
|
|
|
def __str__(self):
|
|
return '{}({}:{})'.format(self.path, self.lineno, self.column)
|
|
|
|
def __eq__(self, rhs):
|
|
return (os.path.exists(self.path) and os.path.exists(rhs.path)
|
|
and os.path.samefile(self.path, rhs.path)
|
|
and self.lineno == rhs.lineno
|
|
and self.column == rhs.column)
|
|
|
|
def __lt__(self, rhs):
|
|
if self.path != rhs.path:
|
|
return False
|
|
|
|
if self.lineno == rhs.lineno:
|
|
return self.column < rhs.column
|
|
|
|
return self.lineno < rhs.lineno
|
|
|
|
def __gt__(self, rhs):
|
|
if self.path != rhs.path:
|
|
return False
|
|
|
|
if self.lineno == rhs.lineno:
|
|
return self.column > rhs.column
|
|
|
|
return self.lineno > rhs.lineno
|