EMMA Coverage Report (generated Mon Mar 20 21:34:30 PST 2006)
[all classes][com.moesol.generator.printer]

COVERAGE SUMMARY FOR SOURCE FILE [JniSignatureTypePrinter.java]

nameclass, %method, %block, %line, %
JniSignatureTypePrinter.java67%  (2/3)58%  (11/19)62%  (90/146)56%  (29/52)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class JniSignatureTypePrinter$VisitError0%   (0/1)0%   (0/1)0%   (0/7)0%   (0/3)
JniSignatureTypePrinter$VisitError (JniSignatureTypePrinter, Throwable): void 0%   (0/1)0%   (0/7)0%   (0/3)
     
class JniSignatureTypePrinter$1100% (1/1)50%  (7/14)61%  (69/113)54%  (21/39)
visitByte (Class): void 0%   (0/1)0%   (0/4)0%   (0/2)
visitCharacter (Class): void 0%   (0/1)0%   (0/4)0%   (0/2)
visitDouble (Class): void 0%   (0/1)0%   (0/4)0%   (0/2)
visitFloat (Class): void 0%   (0/1)0%   (0/4)0%   (0/2)
visitLong (Class): void 0%   (0/1)0%   (0/4)0%   (0/2)
visitShort (Class): void 0%   (0/1)0%   (0/4)0%   (0/2)
visitVoid (Class): void 0%   (0/1)0%   (0/4)0%   (0/2)
print (char): void 100% (1/1)43%  (6/14)60%  (3/5)
visitArray (Class): void 100% (1/1)60%  (12/20)67%  (4/6)
JniSignatureTypePrinter$1 (JniSignatureTypePrinter, Writer): void 100% (1/1)100% (9/9)100% (1/1)
printObjectSignature (String): void 100% (1/1)100% (23/23)100% (5/5)
visitBoolean (Class): void 100% (1/1)100% (4/4)100% (2/2)
visitInteger (Class): void 100% (1/1)100% (4/4)100% (2/2)
visitObject (Class): void 100% (1/1)100% (11/11)100% (4/4)
     
class JniSignatureTypePrinter100% (1/1)100% (4/4)81%  (21/26)80%  (8/10)
print (Class, Writer): void 100% (1/1)69%  (11/16)67%  (4/6)
<static initializer> 100% (1/1)100% (5/5)100% (1/1)
JniSignatureTypePrinter (): void 100% (1/1)100% (3/3)100% (2/2)
getInstance (): JniSignatureTypePrinter 100% (1/1)100% (2/2)100% (1/1)

1//
2// (c) Copyright, Moebius Solutions, 2002
3//
4//                       All Rights Reserved
5//
6// This material may be reproduced by or for the U. S. Government
7// pursuant to the copyright license under the clause at
8// DFARS 252.227-7013 (OCT 1988).
9//
10/*
11 * $Id: JniSignatureTypePrinter.java,v 1.2 2004/11/04 19:29:19 hastings Exp $
12 */
13package com.moesol.generator.printer;
14 
15import java.io.*;
16 
17import com.moesol.generator.core.VisitClass;
18import com.moesol.generator.visitor.*;
19 
20public class JniSignatureTypePrinter extends TypePrinter {
21    private static JniSignatureTypePrinter instance = new JniSignatureTypePrinter();
22    public static JniSignatureTypePrinter getInstance() {
23        return instance;
24    }
25 
26    /**
27     * Wrap up an exception and throw it past the visitor framework.
28     */
29    class VisitError extends Error {
30        VisitError(Throwable cause) {
31            super(cause);
32        }
33    }
34    public void print(Class aType, final Writer out) throws IOException {
35        TypeVisitor v = new TypeVisitor() {
36                private void print(char c) {
37                    try {
38                        out.write(c);
39                    } catch (IOException e) {
40                        throw new VisitError(e);
41                    }
42                }
43                public void visitBoolean(Class type) {
44                    print('Z');
45                }
46                public void visitByte(Class type) {
47                    print('B');
48                }
49                public void visitCharacter(Class type) {
50                    print('C');
51                }
52                public void visitShort(Class type) {
53                    print('S');
54                }
55                public void visitInteger(Class type) {
56                    print('I');
57                }
58                public void visitLong(Class type) {
59                    print('J');
60                }
61                public void visitFloat(Class type) {
62                    print('F');
63                }
64                public void visitDouble(Class type) {
65                    print('D');
66                }
67                public void visitVoid(Class type) {
68                    print('V');
69                }
70                public void visitArray(Class type) {
71                    print('[');
72                    try {
73                        JniSignatureTypePrinter.this.print(type.getComponentType(), out);
74                    } catch (IOException e) {
75                        throw new VisitError(e);
76                    }
77                }
78                public void visitObject(Class type) {
79                    print('L');
80                    printObjectSignature(type.getName());
81                    print(';');
82                }
83                private void printObjectSignature(String typeName) {
84                    for (int i = 0; i < typeName.length(); i++) {
85                        if (typeName.charAt(i) == '.') {
86                            print('/');
87                        } else {
88                            print(typeName.charAt(i));
89                        }
90                    }
91                }
92            };
93        try {
94            VisitClass.visitType(aType, v);
95        } catch (VisitError e) {
96            throw (IOException)e.getCause();
97        }
98    }
99}

[all classes][com.moesol.generator.printer]
EMMA 2.0.5312 (C) Vladimir Roubtsov