Clover coverage report - DynamicJava Test Coverage (dynamicjava-20130622-r5436)
Coverage timestamp: Sat Jun 22 2013 03:01:29 CDT
file stats: LOC: 40   Methods: 9
NCLOC: 21   Classes: 1
 
 Source file Conditionals Statements Methods TOTAL
Options.java - 77.8% 77.8% 77.8%
coverage coverage
 1    package edu.rice.cs.dynamicjava;
 2   
 3    import edu.rice.cs.dynamicjava.symbol.TypeSystem;
 4    import edu.rice.cs.dynamicjava.symbol.ExtendedTypeSystem;
 5    import edu.rice.cs.plt.lambda.LambdaUtil;
 6    import edu.rice.cs.plt.lambda.LazyThunk;
 7    import edu.rice.cs.plt.lambda.Thunk;
 8   
 9    public class Options {
 10   
 11    public static final Options DEFAULT = new Options();
 12   
 13    private final Thunk<? extends TypeSystem> _tsFactory;
 14   
 15    /** For default options, use {@link #DEFAULT}; for custom options, create a subclass. */
 16  2 protected Options() { _tsFactory = typeSystemFactory(); }
 17   
 18    /**
 19    * Provide a factory for the type system. Allows subclasses to control the caching of the
 20    * result (for a TypeSystem that should be allocated only once, use a LazyThunk or LambdaUtil.valueLambda).
 21    * Note that this method is called from the constructor, before subclass constructors are run.
 22    */
 23  2 protected Thunk<? extends TypeSystem> typeSystemFactory() {
 24  2 return LambdaUtil.valueLambda(new ExtendedTypeSystem(this));
 25    }
 26   
 27  8560 public final TypeSystem typeSystem() { return _tsFactory.value(); }
 28    /** Require a semicolon at the end of statements. */
 29  0 public boolean requireSemicolon() { return false; }
 30    /** Require variable declarations to include an explicit type. */
 31  235 public boolean requireVariableType() { return false; }
 32    /** Check that all access of class members is permitted by accessibility controls. */
 33  1638 public boolean enforceAllAccess() { return false; }
 34    /** Check that access of private class members is permitted (irrelevant if enforceAllAccess() is true). */
 35  1638 public boolean enforcePrivateAccess() { return false; }
 36    /** Disallow boxing conversion. */
 37  31 public boolean prohibitBoxing() { return false; }
 38    /** Disallow unchecked casting conversion. */
 39  0 public boolean prohibitUncheckedCasts() { return true; }
 40    }