blob: ccb8c251dd7e304f81892c70db8f2af0d78b847a [file] [log] [blame]
package org.jetbrains.debugger.values;
import com.intellij.openapi.util.AsyncResult;
import com.intellij.util.ThreeState;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.debugger.Scope;
public interface FunctionValue extends ObjectValue {
/**
* You must invoke {@link #resolve} to use any function value methods
*/
@NotNull
AsyncResult<FunctionValue> resolve();
/**
* Returns position of opening parenthesis of function arguments. Position is absolute
* within resource (not relative to script start position).
*
* @return position or null if position is not available
*/
int getOpenParenLine();
int getOpenParenColumn();
@Nullable
Scope[] getScopes();
/**
* Method could be called (it is normal and expected) for unresolved function.
* It must return quickly. Return {@link com.intellij.util.ThreeState#UNSURE} otherwise.
*/
@NotNull
ThreeState hasScopes();
}