1 /* |
1 /* |
2 * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * |
4 * |
5 * This code is free software; you can redistribute it and/or modify it |
5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as |
6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. |
7 * published by the Free Software Foundation. |
108 // Met an invalid type signature, e.g. [X |
108 // Met an invalid type signature, e.g. [X |
109 return VerificationType::bogus_type(); |
109 return VerificationType::bogus_type(); |
110 } |
110 } |
111 } |
111 } |
112 |
112 |
113 #ifndef PRODUCT |
|
114 |
|
115 void VerificationType::print_on(outputStream* st) const { |
113 void VerificationType::print_on(outputStream* st) const { |
116 switch (_u._data) { |
114 switch (_u._data) { |
117 case Bogus: st->print(" bogus "); break; |
115 case Bogus: st->print("top"); break; |
118 case Category1: st->print(" category1 "); break; |
116 case Category1: st->print("category1"); break; |
119 case Category2: st->print(" category2 "); break; |
117 case Category2: st->print("category2"); break; |
120 case Category2_2nd: st->print(" category2_2nd "); break; |
118 case Category2_2nd: st->print("category2_2nd"); break; |
121 case Boolean: st->print(" boolean "); break; |
119 case Boolean: st->print("boolean"); break; |
122 case Byte: st->print(" byte "); break; |
120 case Byte: st->print("byte"); break; |
123 case Short: st->print(" short "); break; |
121 case Short: st->print("short"); break; |
124 case Char: st->print(" char "); break; |
122 case Char: st->print("char"); break; |
125 case Integer: st->print(" integer "); break; |
123 case Integer: st->print("integer"); break; |
126 case Float: st->print(" float "); break; |
124 case Float: st->print("float"); break; |
127 case Long: st->print(" long "); break; |
125 case Long: st->print("long"); break; |
128 case Double: st->print(" double "); break; |
126 case Double: st->print("double"); break; |
129 case Long_2nd: st->print(" long_2nd "); break; |
127 case Long_2nd: st->print("long_2nd"); break; |
130 case Double_2nd: st->print(" double_2nd "); break; |
128 case Double_2nd: st->print("double_2nd"); break; |
131 case Null: st->print(" null "); break; |
129 case Null: st->print("null"); break; |
|
130 case ReferenceQuery: st->print("reference type"); break; |
|
131 case Category1Query: st->print("category1 type"); break; |
|
132 case Category2Query: st->print("category2 type"); break; |
|
133 case Category2_2ndQuery: st->print("category2_2nd type"); break; |
132 default: |
134 default: |
133 if (is_uninitialized_this()) { |
135 if (is_uninitialized_this()) { |
134 st->print(" uninitializedThis "); |
136 st->print("uninitializedThis"); |
135 } else if (is_uninitialized()) { |
137 } else if (is_uninitialized()) { |
136 st->print(" uninitialized %d ", bci()); |
138 st->print("uninitialized %d", bci()); |
137 } else { |
139 } else { |
138 st->print(" class %s ", name()->as_klass_external_name()); |
140 name()->print_value_on(st); |
139 } |
141 } |
140 } |
142 } |
141 } |
143 } |
142 |
|
143 #endif |
|