001 package org.meta_environment.eclipse.tokens;
002
003 import org.eclipse.core.runtime.IPath;
004 import org.eclipse.imp.language.ILanguageService;
005 import org.eclipse.imp.parser.ISourcePositionLocator;
006
007 import errorapi.types.Area;
008
009 public class TokenLocator implements ISourcePositionLocator, ILanguageService {
010
011 public Object findNode(Object ast, int offset) {
012 return null;
013 }
014
015 public Object findNode(Object ast, int startOffset, int endOffset) {
016 return null;
017 }
018
019 public int getEndOffset(Object node) {
020 if (node instanceof Token) {
021 Area a = ((Token) node).getArea();
022 return a.getOffset() + a.getLength() - 1;
023 }
024
025 return 0;
026 }
027
028 public int getLength(Object node) {
029 if (node instanceof Token) {
030 Area a = ((Token) node).getArea();
031 return a.getLength();
032 }
033
034 return 0;
035 }
036
037 public IPath getPath(Object node) {
038 return null;
039 }
040
041 public int getStartOffset(Object node) {
042 if (node instanceof Token) {
043 Area a = ((Token) node).getArea();
044 return a.getOffset();
045 }
046
047 return 0;
048 }
049 }