package de.fuberlin.projecta.analysis; import de.fuberlin.commons.lexer.IToken; import de.fuberlin.projecta.analysis.ast.AbstractSyntaxTree; public class DebuggingHelper { /** * Try to find nearest Token of an AST node * (recursively searches parent nodes to find next attached Token) * * @param node AST node * @return Token */ public static IToken extractPosition(AbstractSyntaxTree node) { while (node != null) { IToken token = node.getToken(); if (token != null) return token; node = (AbstractSyntaxTree)node.getParent(); } return null; } }