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 }