com.oracle.truffle.tools.agentscript.impl.InsightExceptionGen Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of insight Show documentation
Show all versions of insight Show documentation
The Ultimate Insights Gathering Platform
The newest version!
// CheckStyle: start generated
package com.oracle.truffle.tools.agentscript.impl;
import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary;
import com.oracle.truffle.api.dsl.GeneratedBy;
import com.oracle.truffle.api.interop.ExceptionType;
import com.oracle.truffle.api.interop.InteropLibrary;
import com.oracle.truffle.api.interop.UnsupportedMessageException;
import com.oracle.truffle.api.library.DynamicDispatchLibrary;
import com.oracle.truffle.api.library.LibraryExport;
import com.oracle.truffle.api.library.LibraryFactory;
import com.oracle.truffle.api.nodes.DenyReplace;
import com.oracle.truffle.api.nodes.NodeCost;
@GeneratedBy(InsightException.class)
final class InsightExceptionGen {
private static final LibraryFactory DYNAMIC_DISPATCH_LIBRARY_ = LibraryFactory.resolve(DynamicDispatchLibrary.class);
static {
LibraryExport.register(InsightException.class, new InteropLibraryExports());
}
private InsightExceptionGen() {
}
@GeneratedBy(InsightException.class)
private static final class InteropLibraryExports extends LibraryExport {
private static final Uncached UNCACHED = new Uncached();
private static final Cached CACHE = new Cached();
private InteropLibraryExports() {
super(InteropLibrary.class, InsightException.class, false, false, 0);
}
@Override
protected InteropLibrary createUncached(Object receiver) {
assert receiver instanceof InsightException;
InteropLibrary uncached = InteropLibraryExports.UNCACHED;
return uncached;
}
@Override
protected InteropLibrary createCached(Object receiver) {
assert receiver instanceof InsightException;
return InteropLibraryExports.CACHE;
}
@GeneratedBy(InsightException.class)
private static final class Cached extends InteropLibrary {
protected Cached() {
}
@Override
public boolean accepts(Object receiver) {
assert !(receiver instanceof InsightException) || DYNAMIC_DISPATCH_LIBRARY_.getUncached().dispatch(receiver) == null : "Invalid library export. Exported receiver with dynamic dispatch found but not expected.";
return receiver instanceof InsightException;
}
@Override
public boolean isAdoptable() {
return false;
}
@Override
public ExceptionType getExceptionType(Object receiver) throws UnsupportedMessageException {
assert this.accepts(receiver) : "Invalid library usage. Library does not accept given receiver.";
return (((InsightException) receiver)).getExceptionType();
}
@Override
public int getExceptionExitStatus(Object receiver) throws UnsupportedMessageException {
assert this.accepts(receiver) : "Invalid library usage. Library does not accept given receiver.";
return (((InsightException) receiver)).getExceptionExitStatus();
}
}
@GeneratedBy(InsightException.class)
@DenyReplace
private static final class Uncached extends InteropLibrary {
protected Uncached() {
}
@Override
@TruffleBoundary
public boolean accepts(Object receiver) {
assert !(receiver instanceof InsightException) || DYNAMIC_DISPATCH_LIBRARY_.getUncached().dispatch(receiver) == null : "Invalid library export. Exported receiver with dynamic dispatch found but not expected.";
return receiver instanceof InsightException;
}
@Override
public boolean isAdoptable() {
return false;
}
@Override
public NodeCost getCost() {
return NodeCost.MEGAMORPHIC;
}
@TruffleBoundary
@Override
public ExceptionType getExceptionType(Object receiver) throws UnsupportedMessageException {
// declared: true
assert this.accepts(receiver) : "Invalid library usage. Library does not accept given receiver.";
return ((InsightException) receiver) .getExceptionType();
}
@TruffleBoundary
@Override
public int getExceptionExitStatus(Object receiver) throws UnsupportedMessageException {
// declared: true
assert this.accepts(receiver) : "Invalid library usage. Library does not accept given receiver.";
return ((InsightException) receiver) .getExceptionExitStatus();
}
}
}
}