Clover coverage report - DynamicJava Test Coverage (dynamicjava-20120303-r5436)
Coverage timestamp: Sat Mar 3 2012 03:02:19 CST
file stats: LOC: 100   Methods: 6
NCLOC: 27   Classes: 1
 
 Source file Conditionals Statements Methods TOTAL
ObjectFieldAccess.java 50% 63.6% 66.7% 61.9%
coverage coverage
 1    /*
 2    * DynamicJava - Copyright (C) 1999-2001
 3    *
 4    * Permission is hereby granted, free of charge, to any person obtaining a
 5    * copy of this software and associated documentation files
 6    * (the "Software"), to deal in the Software without restriction, including
 7    * without limitation the rights to use, copy, modify, merge, publish,
 8    * distribute, sublicense, and/or sell copies of the Software, and to permit
 9    * persons to whom the Software is furnished to do so, subject to the
 10    * following conditions:
 11    * The above copyright notice and this permission notice shall be included
 12    * in all copies or substantial portions of the Software.
 13    *
 14    * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
 15    * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 16    * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
 17    * IN NO EVENT SHALL DYADE BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 18    * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 19    * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
 20    * DEALINGS IN THE SOFTWARE.
 21    *
 22    * Except as contained in this notice, the name of Dyade shall not be
 23    * used in advertising or otherwise to promote the sale, use or other
 24    * dealings in this Software without prior written authorization from
 25    * Dyade.
 26    *
 27    */
 28   
 29    package koala.dynamicjava.tree;
 30   
 31    import koala.dynamicjava.tree.visitor.*;
 32   
 33    /**
 34    * This class represents the field access nodes of the syntax tree
 35    *
 36    * @author Stephane Hillion
 37    * @version 1.0 - 1999/04/24
 38    */
 39   
 40    public class ObjectFieldAccess extends FieldAccess implements ExpressionContainer {
 41    /**
 42    * The expression on which this field access applies
 43    */
 44    private Expression expression;
 45   
 46    /**
 47    * Creates a new field access node
 48    * @param exp the expression on which this field access applies
 49    * @param fln the field name
 50    * @exception IllegalArgumentException if exp is null or fln is null
 51    */
 52  0 public ObjectFieldAccess(Expression exp, String fln) {
 53  0 this(exp, fln, SourceInfo.NONE);
 54    }
 55   
 56    /**
 57    * Creates a new field access node
 58    * @param exp the expression on which this field access applies
 59    * @param fln the field name
 60    * @exception IllegalArgumentException if exp is null or fln is null
 61    */
 62  108 public ObjectFieldAccess(Expression exp, String fln,
 63    SourceInfo si) {
 64  108 super(fln, si);
 65   
 66  0 if (exp == null) throw new IllegalArgumentException("exp == null");
 67   
 68  108 expression = exp;
 69    }
 70   
 71    /**
 72    * Returns the expression on which this field access applies
 73    */
 74  146 public Expression getExpression() {
 75  146 return expression;
 76    }
 77   
 78    /**
 79    * Sets the expression on which this field access applies
 80    * @exception IllegalArgumentException if e is null
 81    */
 82  108 public void setExpression(Expression e) {
 83  0 if (e == null) throw new IllegalArgumentException("e == null");
 84  108 expression = e;
 85    }
 86   
 87    /**
 88    * Allows a visitor to traverse the tree
 89    * @param visitor the visitor to accept
 90    */
 91  146 public <T> T acceptVisitor(Visitor<T> visitor) {
 92  146 return visitor.visit(this);
 93    }
 94    /**
 95    * Implementation of toString for use in unit testing
 96    */
 97  0 public String toString() {
 98  0 return "("+getClass().getName()+": "+getFieldName()+" "+getExpression()+")";
 99    }
 100    }