< prev index next >

src/jdk.vm.ci/share/classes/jdk.vm.ci.meta/src/jdk/vm/ci/meta/ResolvedJavaType.java

Print this page


   1 /*
   2  * Copyright (c) 2009, 2015, Oracle and/or its affiliates. All rights reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  *
   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
   7  * published by the Free Software Foundation.
   8  *
   9  * This code is distributed in the hope that it will be useful, but WITHOUT
  10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  11  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  12  * version 2 for more details (a copy is included in the LICENSE file that
  13  * accompanied this code).
  14  *
  15  * You should have received a copy of the GNU General Public License version
  16  * 2 along with this work; if not, write to the Free Software Foundation,
  17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18  *
  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  */


 327      * Returns the enclosing type of this type, if it exists, or {@code null}.
 328      */
 329     ResolvedJavaType getEnclosingType();
 330 
 331     /**
 332      * Returns an array reflecting all the constructors declared by this type. This method is
 333      * similar to {@link Class#getDeclaredConstructors()} in terms of returned constructors.
 334      */
 335     ResolvedJavaMethod[] getDeclaredConstructors();
 336 
 337     /**
 338      * Returns an array reflecting all the methods declared by this type. This method is similar to
 339      * {@link Class#getDeclaredMethods()} in terms of returned methods.
 340      */
 341     ResolvedJavaMethod[] getDeclaredMethods();
 342 
 343     /**
 344      * Returns the {@code <clinit>} method for this class if there is one.
 345      */
 346     ResolvedJavaMethod getClassInitializer();
 347 
 348     /**
 349      * Returns true if this type represents an interface and it should be trusted even in places
 350      * where the JVM verifier would not give any guarantees other than {@link Object}.
 351      */
 352     boolean isTrustedInterfaceType();
 353 
 354     default ResolvedJavaMethod findMethod(String name, Signature signature) {
 355         for (ResolvedJavaMethod method : getDeclaredMethods()) {
 356             if (method.getName().equals(name) && method.getSignature().equals(signature)) {
 357                 return method;
 358             }
 359         }
 360         return null;
 361     }
 362 }
   1 /*
   2  * Copyright (c) 2009, 2016, Oracle and/or its affiliates. All rights reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  *
   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
   7  * published by the Free Software Foundation.
   8  *
   9  * This code is distributed in the hope that it will be useful, but WITHOUT
  10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  11  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  12  * version 2 for more details (a copy is included in the LICENSE file that
  13  * accompanied this code).
  14  *
  15  * You should have received a copy of the GNU General Public License version
  16  * 2 along with this work; if not, write to the Free Software Foundation,
  17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18  *
  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  */


 327      * Returns the enclosing type of this type, if it exists, or {@code null}.
 328      */
 329     ResolvedJavaType getEnclosingType();
 330 
 331     /**
 332      * Returns an array reflecting all the constructors declared by this type. This method is
 333      * similar to {@link Class#getDeclaredConstructors()} in terms of returned constructors.
 334      */
 335     ResolvedJavaMethod[] getDeclaredConstructors();
 336 
 337     /**
 338      * Returns an array reflecting all the methods declared by this type. This method is similar to
 339      * {@link Class#getDeclaredMethods()} in terms of returned methods.
 340      */
 341     ResolvedJavaMethod[] getDeclaredMethods();
 342 
 343     /**
 344      * Returns the {@code <clinit>} method for this class if there is one.
 345      */
 346     ResolvedJavaMethod getClassInitializer();






 347 
 348     default ResolvedJavaMethod findMethod(String name, Signature signature) {
 349         for (ResolvedJavaMethod method : getDeclaredMethods()) {
 350             if (method.getName().equals(name) && method.getSignature().equals(signature)) {
 351                 return method;
 352             }
 353         }
 354         return null;
 355     }
 356 }
< prev index next >