1 /* 2 * Copyright (C) 2014 The Android Open Source Project 3 * Copyright (c) 1994, 2014, Oracle and/or its affiliates. All rights reserved. 4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 5 * 6 * This code is free software; you can redistribute it and/or modify it 7 * under the terms of the GNU General Public License version 2 only, as 8 * published by the Free Software Foundation. Oracle designates this 9 * particular file as subject to the "Classpath" exception as provided 10 * by Oracle in the LICENSE file that accompanied this code. 11 * 12 * This code is distributed in the hope that it will be useful, but WITHOUT 13 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 14 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 15 * version 2 for more details (a copy is included in the LICENSE file that 16 * accompanied this code). 17 * 18 * You should have received a copy of the GNU General Public License version 19 * 2 along with this work; if not, write to the Free Software Foundation, 20 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 21 * 22 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 23 * or visit www.oracle.com if you need additional information or have any 24 * questions. 25 */ 26 27 package java.lang; 28 29 import dalvik.annotation.compat.UnsupportedAppUsage; 30 31 @SuppressWarnings({"unchecked", "deprecation", "all"}) 32 public final class Class<T> 33 implements java.io.Serializable, 34 java.lang.reflect.GenericDeclaration, 35 java.lang.reflect.Type, 36 java.lang.reflect.AnnotatedElement { 37 38 @UnsupportedAppUsage Class()39 private Class() { 40 throw new RuntimeException("Stub!"); 41 } 42 toString()43 public java.lang.String toString() { 44 throw new RuntimeException("Stub!"); 45 } 46 toGenericString()47 public java.lang.String toGenericString() { 48 throw new RuntimeException("Stub!"); 49 } 50 forName(java.lang.String className)51 public static java.lang.Class<?> forName(java.lang.String className) 52 throws java.lang.ClassNotFoundException { 53 throw new RuntimeException("Stub!"); 54 } 55 forName( java.lang.String name, boolean initialize, java.lang.ClassLoader loader)56 public static java.lang.Class<?> forName( 57 java.lang.String name, boolean initialize, java.lang.ClassLoader loader) 58 throws java.lang.ClassNotFoundException { 59 throw new RuntimeException("Stub!"); 60 } 61 classForName( java.lang.String className, boolean shouldInitialize, java.lang.ClassLoader classLoader)62 static native java.lang.Class<?> classForName( 63 java.lang.String className, boolean shouldInitialize, java.lang.ClassLoader classLoader) 64 throws java.lang.ClassNotFoundException; 65 newInstance()66 public native T newInstance() 67 throws java.lang.IllegalAccessException, java.lang.InstantiationException; 68 isInstance(java.lang.Object obj)69 public boolean isInstance(java.lang.Object obj) { 70 throw new RuntimeException("Stub!"); 71 } 72 isAssignableFrom(java.lang.Class<?> cls)73 public boolean isAssignableFrom(java.lang.Class<?> cls) { 74 throw new RuntimeException("Stub!"); 75 } 76 isInterface()77 public boolean isInterface() { 78 throw new RuntimeException("Stub!"); 79 } 80 isArray()81 public boolean isArray() { 82 throw new RuntimeException("Stub!"); 83 } 84 isPrimitive()85 public boolean isPrimitive() { 86 throw new RuntimeException("Stub!"); 87 } 88 isFinalizable()89 public boolean isFinalizable() { 90 throw new RuntimeException("Stub!"); 91 } 92 isAnnotation()93 public boolean isAnnotation() { 94 throw new RuntimeException("Stub!"); 95 } 96 isSynthetic()97 public boolean isSynthetic() { 98 throw new RuntimeException("Stub!"); 99 } 100 getName()101 public java.lang.String getName() { 102 throw new RuntimeException("Stub!"); 103 } 104 getNameNative()105 private native java.lang.String getNameNative(); 106 getClassLoader()107 public java.lang.ClassLoader getClassLoader() { 108 throw new RuntimeException("Stub!"); 109 } 110 getTypeParameters()111 public synchronized java.lang.reflect.TypeVariable<java.lang.Class<T>>[] getTypeParameters() { 112 throw new RuntimeException("Stub!"); 113 } 114 getSuperclass()115 public java.lang.Class<? super T> getSuperclass() { 116 throw new RuntimeException("Stub!"); 117 } 118 getGenericSuperclass()119 public java.lang.reflect.Type getGenericSuperclass() { 120 throw new RuntimeException("Stub!"); 121 } 122 getPackage()123 public java.lang.Package getPackage() { 124 throw new RuntimeException("Stub!"); 125 } 126 getPackageName$()127 public java.lang.String getPackageName$() { 128 throw new RuntimeException("Stub!"); 129 } 130 getInterfaces()131 public java.lang.Class<?>[] getInterfaces() { 132 throw new RuntimeException("Stub!"); 133 } 134 getInterfacesInternal()135 private native java.lang.Class<?>[] getInterfacesInternal(); 136 getGenericInterfaces()137 public java.lang.reflect.Type[] getGenericInterfaces() { 138 throw new RuntimeException("Stub!"); 139 } 140 getComponentType()141 public java.lang.Class<?> getComponentType() { 142 throw new RuntimeException("Stub!"); 143 } 144 getModifiers()145 public int getModifiers() { 146 throw new RuntimeException("Stub!"); 147 } 148 getSigners()149 public java.lang.Object[] getSigners() { 150 throw new RuntimeException("Stub!"); 151 } 152 getEnclosingMethodNative()153 private native java.lang.reflect.Method getEnclosingMethodNative(); 154 getEnclosingMethod()155 public java.lang.reflect.Method getEnclosingMethod() { 156 throw new RuntimeException("Stub!"); 157 } 158 getEnclosingConstructor()159 public java.lang.reflect.Constructor<?> getEnclosingConstructor() { 160 throw new RuntimeException("Stub!"); 161 } 162 getEnclosingConstructorNative()163 private native java.lang.reflect.Constructor<?> getEnclosingConstructorNative(); 164 classNameImpliesTopLevel()165 private boolean classNameImpliesTopLevel() { 166 throw new RuntimeException("Stub!"); 167 } 168 getDeclaringClass()169 public native java.lang.Class<?> getDeclaringClass(); 170 getEnclosingClass()171 public native java.lang.Class<?> getEnclosingClass(); 172 getSimpleName()173 public java.lang.String getSimpleName() { 174 throw new RuntimeException("Stub!"); 175 } 176 getTypeName()177 public java.lang.String getTypeName() { 178 throw new RuntimeException("Stub!"); 179 } 180 getCanonicalName()181 public java.lang.String getCanonicalName() { 182 throw new RuntimeException("Stub!"); 183 } 184 isAnonymousClass()185 public native boolean isAnonymousClass(); 186 isLocalClass()187 public boolean isLocalClass() { 188 throw new RuntimeException("Stub!"); 189 } 190 isMemberClass()191 public boolean isMemberClass() { 192 throw new RuntimeException("Stub!"); 193 } 194 isLocalOrAnonymousClass()195 private boolean isLocalOrAnonymousClass() { 196 throw new RuntimeException("Stub!"); 197 } 198 getClasses()199 public java.lang.Class<?>[] getClasses() { 200 throw new RuntimeException("Stub!"); 201 } 202 getFields()203 public java.lang.reflect.Field[] getFields() throws java.lang.SecurityException { 204 throw new RuntimeException("Stub!"); 205 } 206 getPublicFieldsRecursive(java.util.List<java.lang.reflect.Field> result)207 private void getPublicFieldsRecursive(java.util.List<java.lang.reflect.Field> result) { 208 throw new RuntimeException("Stub!"); 209 } 210 getMethods()211 public java.lang.reflect.Method[] getMethods() throws java.lang.SecurityException { 212 throw new RuntimeException("Stub!"); 213 } 214 getPublicMethodsInternal(java.util.List<java.lang.reflect.Method> result)215 private void getPublicMethodsInternal(java.util.List<java.lang.reflect.Method> result) { 216 throw new RuntimeException("Stub!"); 217 } 218 getConstructors()219 public java.lang.reflect.Constructor<?>[] getConstructors() throws java.lang.SecurityException { 220 throw new RuntimeException("Stub!"); 221 } 222 getField(java.lang.String name)223 public java.lang.reflect.Field getField(java.lang.String name) 224 throws java.lang.NoSuchFieldException { 225 throw new RuntimeException("Stub!"); 226 } 227 getPublicFieldRecursive(java.lang.String name)228 private native java.lang.reflect.Field getPublicFieldRecursive(java.lang.String name); 229 getMethod( java.lang.String name, java.lang.Class<?>... parameterTypes)230 public java.lang.reflect.Method getMethod( 231 java.lang.String name, java.lang.Class<?>... parameterTypes) 232 throws java.lang.NoSuchMethodException, java.lang.SecurityException { 233 throw new RuntimeException("Stub!"); 234 } 235 getConstructor(java.lang.Class<?>.... parameterTypes)236 public java.lang.reflect.Constructor<T> getConstructor(java.lang.Class<?>... parameterTypes) 237 throws java.lang.NoSuchMethodException, java.lang.SecurityException { 238 throw new RuntimeException("Stub!"); 239 } 240 getDeclaredClasses()241 public native java.lang.Class<?>[] getDeclaredClasses(); 242 getDeclaredFields()243 public native java.lang.reflect.Field[] getDeclaredFields(); 244 getDeclaredFieldsUnchecked(boolean publicOnly)245 public native java.lang.reflect.Field[] getDeclaredFieldsUnchecked(boolean publicOnly); 246 getDeclaredMethods()247 public java.lang.reflect.Method[] getDeclaredMethods() throws java.lang.SecurityException { 248 throw new RuntimeException("Stub!"); 249 } 250 251 @UnsupportedAppUsage getDeclaredMethodsUnchecked(boolean publicOnly)252 public native java.lang.reflect.Method[] getDeclaredMethodsUnchecked(boolean publicOnly); 253 getDeclaredConstructors()254 public java.lang.reflect.Constructor<?>[] getDeclaredConstructors() 255 throws java.lang.SecurityException { 256 throw new RuntimeException("Stub!"); 257 } 258 getDeclaredConstructorsInternal( boolean publicOnly)259 private native java.lang.reflect.Constructor<?>[] getDeclaredConstructorsInternal( 260 boolean publicOnly); 261 getDeclaredField(java.lang.String name)262 public native java.lang.reflect.Field getDeclaredField(java.lang.String name) 263 throws java.lang.NoSuchFieldException; 264 getPublicDeclaredFields()265 private native java.lang.reflect.Field[] getPublicDeclaredFields(); 266 getDeclaredMethod( java.lang.String name, java.lang.Class<?>... parameterTypes)267 public java.lang.reflect.Method getDeclaredMethod( 268 java.lang.String name, java.lang.Class<?>... parameterTypes) 269 throws java.lang.NoSuchMethodException, java.lang.SecurityException { 270 throw new RuntimeException("Stub!"); 271 } 272 273 @UnsupportedAppUsage getMethod( java.lang.String name, java.lang.Class<?>[] parameterTypes, boolean recursivePublicMethods)274 private java.lang.reflect.Method getMethod( 275 java.lang.String name, 276 java.lang.Class<?>[] parameterTypes, 277 boolean recursivePublicMethods) 278 throws java.lang.NoSuchMethodException { 279 throw new RuntimeException("Stub!"); 280 } 281 getPublicMethodRecursive( java.lang.String name, java.lang.Class<?>[] parameterTypes)282 private java.lang.reflect.Method getPublicMethodRecursive( 283 java.lang.String name, java.lang.Class<?>[] parameterTypes) { 284 throw new RuntimeException("Stub!"); 285 } 286 getInstanceMethod( java.lang.String name, java.lang.Class<?>[] parameterTypes)287 public java.lang.reflect.Method getInstanceMethod( 288 java.lang.String name, java.lang.Class<?>[] parameterTypes) 289 throws java.lang.IllegalAccessException, java.lang.NoSuchMethodException { 290 throw new RuntimeException("Stub!"); 291 } 292 findInterfaceMethod( java.lang.String name, java.lang.Class<?>[] parameterTypes)293 private java.lang.reflect.Method findInterfaceMethod( 294 java.lang.String name, java.lang.Class<?>[] parameterTypes) { 295 throw new RuntimeException("Stub!"); 296 } 297 getDeclaredConstructor( java.lang.Class<?>.... parameterTypes)298 public java.lang.reflect.Constructor<T> getDeclaredConstructor( 299 java.lang.Class<?>... parameterTypes) 300 throws java.lang.NoSuchMethodException, java.lang.SecurityException { 301 throw new RuntimeException("Stub!"); 302 } 303 getResourceAsStream(java.lang.String name)304 public java.io.InputStream getResourceAsStream(java.lang.String name) { 305 throw new RuntimeException("Stub!"); 306 } 307 getResource(java.lang.String name)308 public java.net.URL getResource(java.lang.String name) { 309 throw new RuntimeException("Stub!"); 310 } 311 getProtectionDomain()312 public java.security.ProtectionDomain getProtectionDomain() { 313 throw new RuntimeException("Stub!"); 314 } 315 getPrimitiveClass(java.lang.String name)316 static native java.lang.Class<?> getPrimitiveClass(java.lang.String name); 317 resolveName(java.lang.String name)318 private java.lang.String resolveName(java.lang.String name) { 319 throw new RuntimeException("Stub!"); 320 } 321 getConstructor0( java.lang.Class<?>[] parameterTypes, int which)322 private java.lang.reflect.Constructor<T> getConstructor0( 323 java.lang.Class<?>[] parameterTypes, int which) throws java.lang.NoSuchMethodException { 324 throw new RuntimeException("Stub!"); 325 } 326 getDeclaredConstructorInternal( java.lang.Class<?>[] args)327 private native java.lang.reflect.Constructor<T> getDeclaredConstructorInternal( 328 java.lang.Class<?>[] args); 329 desiredAssertionStatus()330 public boolean desiredAssertionStatus() { 331 throw new RuntimeException("Stub!"); 332 } 333 getInnerClassName()334 private native java.lang.String getInnerClassName(); 335 getInnerClassFlags(int defaultValue)336 private native int getInnerClassFlags(int defaultValue); 337 isEnum()338 public boolean isEnum() { 339 throw new RuntimeException("Stub!"); 340 } 341 getEnumConstants()342 public T[] getEnumConstants() { 343 throw new RuntimeException("Stub!"); 344 } 345 getEnumConstantsShared()346 public T[] getEnumConstantsShared() { 347 throw new RuntimeException("Stub!"); 348 } 349 cast(java.lang.Object obj)350 public T cast(java.lang.Object obj) { 351 throw new RuntimeException("Stub!"); 352 } 353 cannotCastMsg(java.lang.Object obj)354 private java.lang.String cannotCastMsg(java.lang.Object obj) { 355 throw new RuntimeException("Stub!"); 356 } 357 asSubclass(java.lang.Class<U> clazz)358 public <U> java.lang.Class<? extends U> asSubclass(java.lang.Class<U> clazz) { 359 throw new RuntimeException("Stub!"); 360 } 361 getAnnotation( java.lang.Class<A> annotationClass)362 public <A extends java.lang.annotation.Annotation> A getAnnotation( 363 java.lang.Class<A> annotationClass) { 364 throw new RuntimeException("Stub!"); 365 } 366 isAnnotationPresent( java.lang.Class<? extends java.lang.annotation.Annotation> annotationClass)367 public boolean isAnnotationPresent( 368 java.lang.Class<? extends java.lang.annotation.Annotation> annotationClass) { 369 throw new RuntimeException("Stub!"); 370 } 371 getAnnotationsByType( java.lang.Class<A> annotationClass)372 public <A extends java.lang.annotation.Annotation> A[] getAnnotationsByType( 373 java.lang.Class<A> annotationClass) { 374 throw new RuntimeException("Stub!"); 375 } 376 getAnnotations()377 public java.lang.annotation.Annotation[] getAnnotations() { 378 throw new RuntimeException("Stub!"); 379 } 380 getDeclaredAnnotation( java.lang.Class<A> annotationClass)381 public native <A extends java.lang.annotation.Annotation> A getDeclaredAnnotation( 382 java.lang.Class<A> annotationClass); 383 getDeclaredAnnotations()384 public native java.lang.annotation.Annotation[] getDeclaredAnnotations(); 385 isDeclaredAnnotationPresent( java.lang.Class<? extends java.lang.annotation.Annotation> annotationClass)386 private native boolean isDeclaredAnnotationPresent( 387 java.lang.Class<? extends java.lang.annotation.Annotation> annotationClass); 388 getSignatureAttribute()389 private java.lang.String getSignatureAttribute() { 390 throw new RuntimeException("Stub!"); 391 } 392 getSignatureAnnotation()393 private native java.lang.String[] getSignatureAnnotation(); 394 isProxy()395 public boolean isProxy() { 396 throw new RuntimeException("Stub!"); 397 } 398 getAccessFlags()399 public int getAccessFlags() { 400 throw new RuntimeException("Stub!"); 401 } 402 getDeclaredMethodInternal( java.lang.String name, java.lang.Class<?>[] args)403 private native java.lang.reflect.Method getDeclaredMethodInternal( 404 java.lang.String name, java.lang.Class<?>[] args); 405 406 private static final int ANNOTATION = 8192; // 0x2000 407 408 private static final int ENUM = 16384; // 0x4000 409 410 private static final int FINALIZABLE = -2147483648; // 0x80000000 411 412 private static final int SYNTHETIC = 4096; // 0x1000 413 414 @UnsupportedAppUsage 415 private transient int accessFlags; 416 417 private transient int classFlags; 418 419 @UnsupportedAppUsage 420 private transient java.lang.ClassLoader classLoader; 421 422 private transient int classSize; 423 424 @UnsupportedAppUsage 425 private transient int clinitThreadId; 426 427 private transient java.lang.Class<?> componentType; 428 429 private transient short copiedMethodsOffset; 430 431 @UnsupportedAppUsage 432 private transient java.lang.Object dexCache; 433 434 @UnsupportedAppUsage 435 private transient int dexClassDefIndex; 436 437 private transient volatile int dexTypeIndex; 438 439 private transient dalvik.system.ClassExt extData; 440 441 private transient long iFields; 442 443 @UnsupportedAppUsage 444 private transient java.lang.Object[] ifTable; 445 446 private transient long methods; 447 448 @UnsupportedAppUsage 449 private transient java.lang.String name; 450 451 private transient int numReferenceInstanceFields; 452 453 private transient int numReferenceStaticFields; 454 455 @UnsupportedAppUsage 456 private transient int objectSize; 457 458 private transient int objectSizeAllocFastPath; 459 460 private transient int primitiveType; 461 462 private transient int referenceInstanceOffsets; 463 464 private transient long sFields; 465 466 private static final long serialVersionUID = 3206093459760846163L; // 0x2c7e5503d9bf9553L 467 468 @UnsupportedAppUsage 469 private transient int status; 470 471 private transient java.lang.Class<? super T> superClass; 472 473 private transient short virtualMethodsOffset; 474 475 private transient java.lang.Object vtable; 476 477 @SuppressWarnings({"unchecked", "deprecation", "all"}) 478 private static class Caches { 479 Caches()480 private Caches() { 481 throw new RuntimeException("Stub!"); 482 } 483 484 private static final libcore.util.BasicLruCache<java.lang.Class, java.lang.reflect.Type[]> 485 genericInterfaces; 486 487 static { 488 genericInterfaces = null; 489 } 490 } 491 } 492