blob: a7b7824f38f49138d88cadce12efc24a0103fc19 [file] [log] [blame]
package org.jetbrains.debugger.values;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.debugger.ObjectProperty;
import org.jetbrains.debugger.ValueModifier;
import org.jetbrains.debugger.VariableImpl;
public abstract class ObjectPropertyBase extends VariableImpl implements ObjectProperty {
private final FunctionValue getter;
private final FunctionValue setter;
protected ObjectPropertyBase(@NotNull String name, @Nullable Value value, @Nullable FunctionValue getter, @Nullable FunctionValue setter, @Nullable ValueModifier valueModifier) {
super(name, value, valueModifier);
this.getter = getter;
this.setter = setter;
}
@Override
public boolean isWritable() {
return true;
}
@Nullable
@Override
public final FunctionValue getGetter() {
return getter;
}
@Nullable
@Override
public FunctionValue getSetter() {
return setter;
}
@Override
public boolean isConfigurable() {
return true;
}
@Override
public boolean isEnumerable() {
return true;
}
}