Clover coverage report - Ant Coverage
Coverage timestamp: Tue Apr 8 2003 20:43:55 EST
file stats: LOC: 172   Methods: 9
NCLOC: 43   Classes: 1
 
 Source file Conditionals Statements Methods TOTAL
JSharp.java 0% 0% 0% 0%
 1   
 /*
 2   
  *  The Apache Software License, Version 1.1
 3   
  *
 4   
  *  Copyright (c) 2003 The Apache Software Foundation.  All rights
 5   
  *  reserved.
 6   
  *
 7   
  *  Redistribution and use in source and binary forms, with or without
 8   
  *  modification, are permitted provided that the following conditions
 9   
  *  are met:
 10   
  *
 11   
  *  1. Redistributions of source code must retain the above copyright
 12   
  *  notice, this list of conditions and the following disclaimer.
 13   
  *
 14   
  *  2. Redistributions in binary form must reproduce the above copyright
 15   
  *  notice, this list of conditions and the following disclaimer in
 16   
  *  the documentation and/or other materials provided with the
 17   
  *  distribution.
 18   
  *
 19   
  *  3. The end-user documentation included with the redistribution, if
 20   
  *  any, must include the following acknowlegement:
 21   
  *  "This product includes software developed by the
 22   
  *  Apache Software Foundation (http://www.apache.org/)."
 23   
  *  Alternately, this acknowlegement may appear in the software itself,
 24   
  *  if and wherever such third-party acknowlegements normally appear.
 25   
  *
 26   
  *  4. The names "The Jakarta Project", "Ant", and "Apache Software
 27   
  *  Foundation" must not be used to endorse or promote products derived
 28   
  *  from this software without prior written permission. For written
 29   
  *  permission, please contact apache@apache.org.
 30   
  *
 31   
  *  5. Products derived from this software may not be called "Apache"
 32   
  *  nor may "Apache" appear in their names without prior written
 33   
  *  permission of the Apache Group.
 34   
  *
 35   
  *  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
 36   
  *  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
 37   
  *  OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 38   
  *  DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
 39   
  *  ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 40   
  *  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 41   
  *  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
 42   
  *  USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
 43   
  *  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
 44   
  *  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
 45   
  *  OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 46   
  *  SUCH DAMAGE.
 47   
  *  ====================================================================
 48   
  *
 49   
  *  This software consists of voluntary contributions made by many
 50   
  *  individuals on behalf of the Apache Software Foundation.  For more
 51   
  *  information on the Apache Software Foundation, please see
 52   
  *  <http://www.apache.org/>.
 53   
  */
 54   
 
 55   
 
 56   
 package org.apache.tools.ant.taskdefs.optional.dotnet;
 57   
 
 58   
 import org.apache.tools.ant.BuildException;
 59   
 
 60   
 
 61   
 /**
 62   
  * Compile J# source down to a managed .NET application.
 63   
  * J# is not Java. But it is the language closest to Java in the .NET framework.
 64   
  * This task compiles jsharp source (assumes a .jsl extension, incidentally), and
 65   
  * generates a .NET managed exe or dll.
 66   
  * See http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dv_vjsharp/html/vjoriMicrosoftVisualJ.asp
 67   
  * for vjc command options in glory detail.
 68   
  * @author Steve Loughran
 69   
  * @since ant1.6
 70   
  * @ant.task    name="jsharp" category="dotnet"
 71   
  */
 72   
 public class JSharp extends DotnetCompile {
 73   
 
 74   
     /**
 75   
      * hex base address
 76   
      */
 77   
     String baseAddress;
 78   
 
 79   
     /** /x option to disable J++ and J# lang extensions
 80   
      *
 81   
      */
 82   
     boolean pureJava = true;
 83   
 
 84   
     /**
 85   
      * whether to make package scoped stuff public or assembly scoped
 86   
      */
 87   
     boolean secureScoping = false;
 88   
 
 89   
 
 90  0
     public void setBaseAddress(String baseAddress) {
 91  0
         this.baseAddress = baseAddress;
 92   
     }
 93   
 
 94   
     /**
 95   
      * do we want pure java (default, true) or corrupted J#?
 96   
      * @param pureJava
 97   
      */
 98  0
     public void setPureJava(boolean pureJava) {
 99  0
         this.pureJava = pureJava;
 100   
     }
 101   
 
 102   
     /**
 103   
      * Make package scoped code visible to the current assembly only (default: false)
 104   
      * .NET does not have package scoping. Instead it has assembly, private and public.
 105   
      * By default, package content is public to all.
 106   
      * @param secureScoping
 107   
      */
 108  0
     public void setSecureScoping(boolean secureScoping) {
 109  0
         this.secureScoping = secureScoping;
 110   
     }
 111   
 
 112   
     /**
 113   
      * Get the delimiter that the compiler uses between references.
 114   
      * For example, c# will return ";"; VB.NET will return ","
 115   
      * @return The string delimiter for the reference string.
 116   
      */
 117  0
     public String getReferenceDelimiter() {
 118  0
         return ";";
 119   
     }
 120   
 
 121   
     /**
 122   
      * Get the name of the compiler executable.
 123   
      * @return The name of the compiler executable.
 124   
      */
 125  0
     public String getCompilerExeName() {
 126  0
         return "vjc";
 127   
     }
 128   
 
 129   
     /**
 130   
      * Get the extension of filenames to compile.
 131   
      * @return The string extension of files to compile.
 132   
      */
 133  0
     public String getFileExtension() {
 134  0
         return ".jsl";
 135   
     }
 136   
 
 137   
     /**
 138   
      * add jvc specific commands
 139   
      * @param command
 140   
      */
 141  0
     protected void addCompilerSpecificOptions(NetCommand command) {
 142  0
         if (pureJava) {
 143  0
             command.addArgument("/x");
 144   
         }
 145  0
         if (secureScoping) {
 146  0
             command.addArgument("/securescoping");
 147   
         }
 148   
     }
 149   
 
 150   
     /**
 151   
      * from a resource, get the resource param
 152   
      * @param resource
 153   
      * @return a string containing the resource param, or a null string
 154   
      * to conditionally exclude a resource.
 155   
      */
 156  0
     protected String createResourceParameter(DotnetResource resource) {
 157  0
         return resource.getCSharpStyleParameter();
 158   
     }
 159   
 
 160   
     /**
 161   
      * validation code
 162   
      * @throws  org.apache.tools.ant.BuildException  if validation failed
 163   
      */
 164  0
     protected void validate()
 165   
             throws BuildException {
 166  0
         super.validate();
 167  0
         if (getDestFile() == null) {
 168  0
             throw new BuildException("DestFile was not specified");
 169   
         }
 170   
     }
 171   
 }
 172