1 package com
.intellij
.ide
.todo
;
3 import com
.intellij
.openapi
.editor
.Document
;
4 import com
.intellij
.openapi
.editor
.RangeMarker
;
5 import com
.intellij
.openapi
.util
.TextRange
;
6 import com
.intellij
.psi
.search
.TodoItem
;
7 import org
.jetbrains
.annotations
.NotNull
;
10 * @author Vladimir Kondratyev
12 public final class SmartTodoItemPointer
{
13 private final TodoItem myTodoItem
;
14 private final Document myDocument
;
15 private final RangeMarker myRangeMarker
;
17 public SmartTodoItemPointer(@NotNull TodoItem todoItem
,@NotNull Document document
){
20 TextRange textRange
=myTodoItem
.getTextRange();
21 myRangeMarker
=document
.createRangeMarker(textRange
);
24 public TodoItem
getTodoItem(){
28 public Document
getDocument(){
32 public RangeMarker
getRangeMarker(){
36 public boolean equals(Object obj
){
37 if(!(obj
instanceof SmartTodoItemPointer
)){
40 SmartTodoItemPointer pointer
=(SmartTodoItemPointer
)obj
;
41 return myTodoItem
.getFile().equals(pointer
.myTodoItem
.getFile())&&
42 myRangeMarker
.getStartOffset()==pointer
.myRangeMarker
.getStartOffset()&&
43 myRangeMarker
.getEndOffset()==pointer
.myRangeMarker
.getEndOffset()&&
44 myTodoItem
.getPattern().equals(pointer
.myTodoItem
.getPattern());
47 public int hashCode(){
48 return myTodoItem
.getFile().hashCode();