/*
* This file is part of the Jikes RVM project (http://jikesrvm.org).
*
* This file is licensed to You under the Common Public License (CPL);
* You may not use this file except in compliance with the License. You
* may obtain a copy of the License at
*
* http://www.opensource.org/licenses/cpl1.0.php
*
* See the COPYRIGHT.txt file distributed with this work for information
* regarding copyright ownership.
*/
package org.jikesrvm.classloader;
import org.jikesrvm.compilers.common.VM_CompiledMethod;
import org.jikesrvm.runtime.VM_Entrypoints;
/**
* An abstract method of a java class.
*/
public final class VM_AbstractMethod extends VM_Method {
/**
* Construct abstract method information
*
* @param declaringClass the VM_TypeReference object of the class that declared this method
* @param memRef the canonical memberReference for this member.
* @param modifiers modifiers associated with this member.
* @param exceptionTypes exceptions thrown by this method.
* @param signature generic type of this method.
* @param annotations array of runtime visible annotations
* @param parameterAnnotations array of runtime visible parameter annotations
* @param annotationDefault value for this annotation that appears
*/
VM_AbstractMethod(VM_TypeReference declaringClass, VM_MemberReference memRef, short modifiers, short annoModifiers,
VM_TypeReference[] exceptionTypes, VM_Atom signature, VM_Annotation[] annotations,
VM_Annotation[] parameterAnnotations, Object annotationDefault) {
super(declaringClass,
memRef,
modifiers,
annoModifiers,
exceptionTypes,
signature,
annotations,
parameterAnnotations,
annotationDefault);
}
/**
* Generate the code for this method
*/
protected VM_CompiledMethod genCode(boolean forSubArch) {
VM_Entrypoints.unexpectedAbstractMethodCallMethod.compile(forSubArch);
return VM_Entrypoints.unexpectedAbstractMethodCallMethod.getCurrentCompiledMethod(forSubArch);
}
}