Coverage Report - edu.rice.cs.drjava.model.definitions.reducedmodel.BraceInfo
 
Classes in this File Line Coverage Branch Coverage Complexity
BraceInfo
72%
8/11
0%
0/2
1.4
 
 1  
 /*BEGIN_COPYRIGHT_BLOCK
 2  
  *
 3  
  * Copyright (c) 2001-2010, JavaPLT group at Rice University (drjava@rice.edu)
 4  
  * All rights reserved.
 5  
  * 
 6  
  * Redistribution and use in source and binary forms, with or without
 7  
  * modification, are permitted provided that the following conditions are met:
 8  
  *    * Redistributions of source code must retain the above copyright
 9  
  *      notice, this list of conditions and the following disclaimer.
 10  
  *    * Redistributions in binary form must reproduce the above copyright
 11  
  *      notice, this list of conditions and the following disclaimer in the
 12  
  *      documentation and/or other materials provided with the distribution.
 13  
  *    * Neither the names of DrJava, the JavaPLT group, Rice University, nor the
 14  
  *      names of its contributors may be used to endorse or promote products
 15  
  *      derived from this software without specific prior written permission.
 16  
  * 
 17  
  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 18  
  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 19  
  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 20  
  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
 21  
  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 22  
  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
 23  
  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
 24  
  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
 25  
  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
 26  
  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 27  
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 28  
  *
 29  
  * This software is Open Source Initiative approved Open Source Software.
 30  
  * Open Source Initative Approved is a trademark of the Open Source Initiative.
 31  
  * 
 32  
  * This file is part of DrJava.  Download the current version of this project
 33  
  * from http://www.drjava.org/ or http://sourceforge.net/projects/drjava/
 34  
  * 
 35  
  * END_COPYRIGHT_BLOCK*/
 36  
 
 37  
 package edu.rice.cs.drjava.model.definitions.reducedmodel;
 38  
 
 39  
 /** Indent information block.
 40  
  *  @version $Id: BraceInfo.java 5175 2010-01-20 08:46:32Z mgricken $
 41  
  */
 42  51
 public class BraceInfo {
 43  
   
 44  
   // TODO: convert String brace type to char brace type
 45  
   
 46  
   public static final String NONE = "";             // char '\u0000';
 47  
   public static final String OPEN_CURLY = "{";      // char '{';
 48  
   public static final String OPEN_PAREN    = "(";   // char '(';
 49  
   public static final String OPEN_BRACKET  = "[";   // char '[';
 50  
 
 51  51
   public static final BraceInfo NULL = new BraceInfo(NONE, -1);
 52  
   
 53  
   private String _braceType;   // one of the four above options
 54  
 
 55  
   /** distance to open brace preceding the anchor point (_currentLocation or beginning of line). Distance includes 
 56  
     * brace so that (anchor - distance) gives offset of brace. */
 57  
   private int _distance; 
 58  
 
 59  
   /** Creates an IndentInfo with default values. */
 60  202
   public BraceInfo(String braceType, int distance) {
 61  202
     _braceType = braceType;
 62  202
     _distance = distance;
 63  202
   }
 64  
 
 65  
   /** Gets the _braceType. */
 66  695
   public String braceType() { return _braceType; }
 67  
   
 68  
   /** Gets the _distance. */
 69  352
   public int distance() { return _distance; }
 70  
   
 71  
   /** @return a new BraceInfo equivalent to this except that this.distance is shifted by dist. NONE is treated 
 72  
     * as a special case. */
 73  
   public BraceInfo shift(int dist) { 
 74  0
     if (this == NULL) return NULL;
 75  0
     return new BraceInfo(_braceType, _distance + dist); 
 76  
   }
 77  
   
 78  0
   public String toString() { return "BraceInfo(" + _distance + ", '" + _braceType + "')"; }
 79  
 }
 80  
 
 81  
 
 82