/* * Sonar JavaScript Plugin * Copyright (C) 2011 Eriks Nukis * dev@sonar.codehaus.org * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02 */ package org.sonar.plugins.javascript.complexity.utils; import javax.swing.event.TreeModelListener; import javax.swing.tree.TreeModel; import javax.swing.tree.TreePath; import org.antlr.runtime.tree.CommonTree; /** * @author Jörg Werner * */ public class ASTtoTreeModelAdapter implements TreeModel { CommonTree m_tree = null; public ASTtoTreeModelAdapter(CommonTree t) { m_tree = t; } /* * (non-Javadoc) * * @see javax.swing.tree.TreeModel#addTreeModelListener(javax.swing.event.TreeModelListener) */ public void addTreeModelListener(TreeModelListener l) { // TODO Auto-generated method stub } /* * (non-Javadoc) * * @see javax.swing.tree.TreeModel#getChild(java.lang.Object, int) */ public Object getChild(Object parent, int index) { return ((CommonTree) parent).getChild(index); } /* * (non-Javadoc) * * @see javax.swing.tree.TreeModel#getChildCount(java.lang.Object) */ public int getChildCount(Object parent) { return ((CommonTree) parent).getChildCount(); } /* * (non-Javadoc) * * @see javax.swing.tree.TreeModel#getIndexOfChild(java.lang.Object, * java.lang.Object) */ public int getIndexOfChild(Object parent, Object child) { if (parent == null || child == null) return -1; CommonTree cp = ((CommonTree) parent); CommonTree cc = ((CommonTree) child); for (int i = 0; i < cp.getChildCount(); i++) { if (cp.getChild(i).equals(cc)) return i; } return -1; } /* * (non-Javadoc) * * @see javax.swing.tree.TreeModel#getRoot() */ public Object getRoot() { return m_tree; } /* * (non-Javadoc) * * @see javax.swing.tree.TreeModel#isLeaf(java.lang.Object) */ public boolean isLeaf(Object node) { CommonTree cn = ((CommonTree) node); boolean r = (cn.getChildCount() == 0) ? true : false; return r; } /* * (non-Javadoc) * * @see javax.swing.tree.TreeModel#removeTreeModelListener(javax.swing.event.TreeModelListener) */ public void removeTreeModelListener(TreeModelListener l) { // TODO Auto-generated method stub } /* * (non-Javadoc) * * @see javax.swing.tree.TreeModel#valueForPathChanged(javax.swing.tree.TreePath, * java.lang.Object) */ public void valueForPathChanged(TreePath path, Object newValue) { // TODO Auto-generated method stub } }