comparison src/classes/gov/nasa/jpf/AnnotationProxyBase.java @ 0:61d41facf527

initial v8 import (history reset)
author Peter Mehlitz <Peter.C.Mehlitz@nasa.gov>
date Fri, 23 Jan 2015 10:14:01 -0800
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:61d41facf527
1 /*
2 * Copyright (C) 2014, United States Government, as represented by the
3 * Administrator of the National Aeronautics and Space Administration.
4 * All rights reserved.
5 *
6 * The Java Pathfinder core (jpf-core) platform is licensed under the
7 * Apache License, Version 2.0 (the "License"); you may not use this file except
8 * in compliance with the License. You may obtain a copy of the License at
9 *
10 * http://www.apache.org/licenses/LICENSE-2.0.
11 *
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
17 */
18
19 package gov.nasa.jpf;
20
21
22 /**
23 * common stuff used by all Annotation Proxies
24 */
25 public class AnnotationProxyBase {
26
27 public native Class<?> annotationType();
28
29 // this is just here to be intercepted by the native peer
30 @Override
31 public native String toString();
32
33 /***
34 public String toString() {
35 StringBuilder sb = new StringBuilder();
36 sb.append('@');
37
38 Class<?> cls = getClass();
39 String clsName = cls.getName();
40 int idx = clsName.lastIndexOf('$');
41 sb.append(clsName.substring(0, idx));
42
43 Field[] fields = cls.getDeclaredFields();
44 if (fields.length > 0){
45 sb.append('(');
46 for (int i=0; i<fields.length; i++){
47 fields[i].setAccessible(true);
48
49 if (i>0){
50 sb.append(',');
51 }
52 sb.append(fields[i].getName());
53 sb.append('=');
54
55 try {
56 Object v = fields[i].get(this);
57 Class<?> vcls = v.getClass();
58
59 if (vcls.isArray()){
60 sb.append('[');
61 int n = Array.getLength(v);
62 for (int j=0; j<n; j++){
63 if (j>0){
64 sb.append(',');
65 }
66 sb.append(Array.get(v,j));
67 }
68 sb.append(']');
69 } else {
70 sb.append(fields[i].get(this));
71 }
72 } catch (IllegalAccessException iax){}
73 }
74 sb.append(')');
75 }
76
77 return sb.toString();
78 }
79 ***/
80 }