EMMA Coverage Report (generated Wed Jun 28 22:15:27 PDT 2006)
[all classes][org.apache.derby.impl.services.bytecode]

COVERAGE SUMMARY FOR SOURCE FILE [Type.java]

nameclass, %method, %block, %line, %
Type.java100% (1/1)100% (7/7)100% (87/87)100% (22/22)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class Type100% (1/1)100% (7/7)100% (87/87)100% (22/22)
<static initializer> 100% (1/1)100% (49/49)100% (8/8)
Type (String, String): void 100% (1/1)100% (17/17)100% (6/6)
javaName (): String 100% (1/1)100% (3/3)100% (1/1)
vmName (): String 100% (1/1)100% (3/3)100% (1/1)
vmType (): short 100% (1/1)100% (3/3)100% (1/1)
width (): int 100% (1/1)100% (4/4)100% (1/1)
width (short): int 100% (1/1)100% (8/8)100% (4/4)

1/*
2 
3   Derby - Class org.apache.derby.impl.services.bytecode.Type
4 
5   Copyright 1999, 2004 The Apache Software Foundation or its licensors, as applicable.
6 
7   Licensed under the Apache License, Version 2.0 (the "License");
8   you may not use this file except in compliance with the License.
9   You may obtain a copy of the License at
10 
11      http://www.apache.org/licenses/LICENSE-2.0
12 
13   Unless required by applicable law or agreed to in writing, software
14   distributed under the License is distributed on an "AS IS" BASIS,
15   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16   See the License for the specific language governing permissions and
17   limitations under the License.
18 
19 */
20 
21package org.apache.derby.impl.services.bytecode;
22 
23import org.apache.derby.iapi.services.classfile.VMDescriptor;
24import org.apache.derby.iapi.services.classfile.ClassHolder;
25 
26final class Type {
27 
28        static final Type LONG = new Type("long", VMDescriptor.LONG);
29        static final Type INT = new Type("int", VMDescriptor.INT);
30        static final Type SHORT = new Type("short", VMDescriptor.SHORT);
31        static final Type BYTE = new Type("byte", VMDescriptor.BYTE);
32        static final Type BOOLEAN = new Type("boolean", VMDescriptor.BOOLEAN);
33        static final Type FLOAT = new Type("float", VMDescriptor.FLOAT);
34        static final Type DOUBLE = new Type("double", VMDescriptor.DOUBLE);
35        static final Type STRING = new Type("java.lang.String", "Ljava/lang/String;");
36 
37        private final String javaName; // e.g. java.lang.Object
38        private final short vmType; // e.g. BCExpr.vm_reference
39        private final String vmName; // e.g. Ljava/lang/Object;
40        final String vmNameSimple; // e.g. java/lang/Object
41 
42        Type(String javaName, String vmName) {
43                this.vmName = vmName;
44                this.javaName = javaName;
45                vmType = BCJava.vmTypeId(vmName);
46                vmNameSimple = ClassHolder.convertToInternalClassName(javaName);
47        }
48 
49        /*
50        ** Class specific methods.
51        */
52        
53        String javaName() {
54                return javaName;
55        }
56 
57        /**
58         * Get the VM Type name (java/lang/Object)
59         */
60        String vmName() {
61                return vmName;
62        }
63        /**
64                Get the VM type (eg. VMDescriptor.INT)
65        */
66        short vmType() {
67                return vmType;
68        }
69 
70        int width() {
71                return Type.width(vmType);
72        }
73 
74        static int width(short type) {
75                switch (type) {
76                case BCExpr.vm_void:
77                        return 0;
78                case BCExpr.vm_long:
79                case BCExpr.vm_double:
80                        return 2;
81                default:
82                        return 1;
83                }
84        }
85}

[all classes][org.apache.derby.impl.services.bytecode]
EMMA 2.0.5312 (C) Vladimir Roubtsov