package org.graalvm.compiler.hotspot.phases.aot;
import java.util.*;
import org.graalvm.compiler.options.*;
import org.graalvm.compiler.options.OptionType;
public class AOTInliningPolicy_OptionDescriptors implements OptionDescriptors {
@Override
public OptionDescriptor get(String value) {
switch (value) {
case "AOTInliningDepthToSizeRate": {
return OptionDescriptor.create(
"AOTInliningDepthToSizeRate",
OptionType.Expert,
Double.class,
"",
AOTInliningPolicy.Options.class,
"AOTInliningDepthToSizeRate",
AOTInliningPolicy.Options.AOTInliningDepthToSizeRate);
}
case "AOTInliningSizeMaximum": {
return OptionDescriptor.create(
"AOTInliningSizeMaximum",
OptionType.Expert,
Integer.class,
"",
AOTInliningPolicy.Options.class,
"AOTInliningSizeMaximum",
AOTInliningPolicy.Options.AOTInliningSizeMaximum);
}
case "AOTInliningSizeMinimum": {
return OptionDescriptor.create(
"AOTInliningSizeMinimum",
OptionType.Expert,
Integer.class,
"",
AOTInliningPolicy.Options.class,
"AOTInliningSizeMinimum",
AOTInliningPolicy.Options.AOTInliningSizeMinimum);
}
}
return null;
}
@Override
public Iterator<OptionDescriptor> iterator() {
return new Iterator<OptionDescriptor>() {
int i = 0;
@Override
public boolean hasNext() {
return i < 3;
}
@Override
public OptionDescriptor next() {
switch (i++) {
case 0: return get("AOTInliningDepthToSizeRate");
case 1: return get("AOTInliningSizeMaximum");
case 2: return get("AOTInliningSizeMinimum");
}
throw new NoSuchElementException();
}
};
}
}