diff --git a/uk/ac/sanger/artemis/io/Location.java b/uk/ac/sanger/artemis/io/Location.java index a65e81781420d40d08bd596062a98866a840831e..e3ac9925de59beb1edc16f60854090723a73c3c9 100644 --- a/uk/ac/sanger/artemis/io/Location.java +++ b/uk/ac/sanger/artemis/io/Location.java @@ -20,7 +20,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * - * $Header: //tmp/pathsoft/artemis/uk/ac/sanger/artemis/io/Location.java,v 1.7 2005-11-15 14:02:37 tjc Exp $ + * $Header: //tmp/pathsoft/artemis/uk/ac/sanger/artemis/io/Location.java,v 1.8 2009-02-02 16:05:32 tjc Exp $ */ package uk.ac.sanger.artemis.io; @@ -34,7 +34,7 @@ import uk.ac.sanger.artemis.io.LocationLexer.TokenEnumeration; * functions for parsing and manipulating the location. * * @author Kim Rutherford - * @version $Id: Location.java,v 1.7 2005-11-15 14:02:37 tjc Exp $ + * @version $Id: Location.java,v 1.8 2009-02-02 16:05:32 tjc Exp $ * */ public class Location @@ -920,13 +920,16 @@ public class Location Range child_range = null; if(child_node.getType() == LocationParseNode.COMPLEMENT) - child_range = child_node.getComplementChild().getRange(); + { + if(child_node.getComplementChild().getType() == LocationParseNode.RANGE) + child_range = child_node.getComplementChild().getRange(); + } else if(child_node.getType() == LocationParseNode.RANGE) child_range = child_node.getRange(); if((child_node.getType() == LocationParseNode.RANGE || child_node.getType() == LocationParseNode.COMPLEMENT) && - child_range.equals(range)) + (child_range != null && child_range.equals(range))) { if(child_node.getType() == LocationParseNode.COMPLEMENT) return true;