blob: 2c64fb0c9d32705217bba643c2cb9318a7bd8b51 [file] [log] [blame]
package org.eclipse.jdt.internal.eval;
/*
* (c) Copyright IBM Corp. 2000, 2001.
* All Rights Reserved.
*/
import org.eclipse.jdt.internal.compiler.env.*;
import org.eclipse.jdt.internal.compiler.util.CharOperation;
/**
* The skeleton of the class 'org.eclipse.jdt.internal.eval.target.CodeSnippet'
* used at compile time. Note that the method run() is declared to
* throw Throwable so that the user can write a code snipet that
* throws checked exceptio without having to catch those.
*/
public class CodeSnippetSkeleton implements IBinaryType, EvaluationConstants {
IBinaryMethod[] methods = new IBinaryMethod[] {
new BinaryMethodSkeleton(
"<init>".toCharArray(), //$NON-NLS-1$
"()V".toCharArray(), //$NON-NLS-1$
new char[][] {},
true
),
new BinaryMethodSkeleton(
"run".toCharArray(), //$NON-NLS-1$
"()V".toCharArray(), //$NON-NLS-1$
new char[][] {"java/lang/Throwable".toCharArray()}, //$NON-NLS-1$
false
),
new BinaryMethodSkeleton(
"setResult".toCharArray(), //$NON-NLS-1$
"(Ljava/lang/Object;Ljava/lang/Class;)V".toCharArray(), //$NON-NLS-1$
new char[][] {},
false
)
};
public class BinaryMethodSkeleton implements IBinaryMethod {
char[][] exceptionTypeNames;
char[] methodDescriptor;
char[] selector;
boolean isConstructor;
public BinaryMethodSkeleton(char[] selector, char[] methodDescriptor, char[][] exceptionTypeNames, boolean isConstructor) {
this.selector = selector;
this.methodDescriptor = methodDescriptor;
this.exceptionTypeNames = exceptionTypeNames;
this.isConstructor = this.isConstructor;
}
public char[][] getExceptionTypeNames() {
return this.exceptionTypeNames;
}
public char[] getMethodDescriptor() {
return this.methodDescriptor;
}
public int getModifiers() {
return IConstants.AccPublic;
}
public char[] getSelector() {
return this.selector;
}
public boolean isClinit() {
return false;
}
public boolean isConstructor() {
return this.isConstructor;
}
}
/**
* CodeSnippetSkeleton constructor comment.
*/
public CodeSnippetSkeleton() {
super();
}
public char[] getEnclosingTypeName() {
return null;
}
public IBinaryField[] getFields() {
return null;
}
public char[] getFileName() {
return CharOperation.concat(CODE_SNIPPET_NAME, ".java".toCharArray()); //$NON-NLS-1$
}
public char[][] getInterfaceNames() {
return null;
}
public IBinaryNestedType[] getMemberTypes() {
return null;
}
public IBinaryMethod[] getMethods() {
return this.methods;
}
public int getModifiers() {
return IConstants.AccPublic;
}
public char[] getName() {
return CODE_SNIPPET_NAME;
}
public char[] getSuperclassName() {
return null;
}
public boolean isBinaryType() {
return true;
}
public boolean isClass() {
return true;
}
public boolean isInterface() {
return false;
}
public char[] sourceFileName() {
return null;
}
}