pddl-workspace
Version:
159 lines (158 loc) • 7.01 kB
TypeScript
import { DirectionalGraph } from "./utils/DirectionalGraph";
import { FileInfo } from "./FileInfo";
import { Variable, PddlLanguage, ObjectInstance, Parameter } from "./language";
import { PddlSyntaxTree } from "./parser/PddlSyntaxTree";
import { PddlRange, DocumentPositionResolver } from "./DocumentPositionResolver";
import { PddlBracketNode } from "./parser/PddlSyntaxNode";
import { Constraint } from "./constraints";
import { URI } from "vscode-uri";
import { VariableDeclarationsInjection } from "./Compilations";
/**
* Holds objects belonging to the same type.
*/
export declare class TypeObjects {
readonly type: string;
private objects;
constructor(type: string);
getObjects(): string[];
addObject(obj: string): TypeObjects;
addAllObjects(objects: string[]): TypeObjects;
hasObjectCaseInsensitive(objectName: string): boolean;
hasObject(objectName: string): boolean;
getObjectInstance(objectName: string): ObjectInstance;
}
export declare class TypeObjectMap {
private typeNameToTypeObjectMap;
private objectNameToTypeObjectMap;
private objectNameCaseInsensitiveToTypeObjectMap;
/**
* Re-hydrates de-serialized type-object map
* @param other de-serialized
*/
static clone(other: unknown): TypeObjectMap;
toJSON(_key: string): unknown;
get length(): number;
merge(other: TypeObjectMap): TypeObjectMap;
/**
* Adds object to type.
* @param type type name (currently case insensitive)
* @param objectName object name (currently case sensitive)
*/
add(type: string, objectName: string): TypeObjectMap;
addAll(type: string, objects: string[]): TypeObjectMap;
private _upsert;
private valuesArray;
/**
* Returns the `TypeObjects` structure for the lower-cased `type` supplied.
* @param type case-insensitive type name
*/
getTypeCaseInsensitive(type: string): TypeObjects | undefined;
/**
* Returns the `TypeObjects` structure for a type that has the `objectName` supplied.
* @param objectName case-sensitive object name
*/
getTypeOf(objectName: string): TypeObjects | undefined;
/**
* Returns the `TypeObjects` structure for a type that has lower-cased `objectName` supplied.
* @param objectName case-insensitive object name
*/
getTypeOfCaseInsensitive(objectName: string): TypeObjects | undefined;
}
/**
* Domain file.
*/
export declare class DomainInfo extends FileInfo {
readonly syntaxTree: PddlSyntaxTree;
private predicatesNode;
private predicates;
private functionsNode;
private functions;
private derived;
private actions;
private typeInheritance;
private typesNode;
private typeLocations;
private constantsNode;
private constants;
private events?;
private processes?;
private constraints;
constructor(fileUri: URI, version: number, domainName: string, syntaxTree: PddlSyntaxTree, positionResolver: DocumentPositionResolver);
/**
* Copy constructor for re-constructing the domain from a serialized form.
* @param domain de-serialized domain
*/
static clone(domain: DomainInfo): DomainInfo;
static cloneAction(action: Action): Action;
getLanguage(): PddlLanguage;
getPredicates(): Variable[];
getPredicatesNode(): PddlBracketNode | undefined;
setPredicates(predicates: Variable[], predicatesNode: PddlBracketNode | undefined): void;
injectPredicates(injection: VariableDeclarationsInjection): void;
getFunctions(): Variable[];
getFunctionsNode(): PddlBracketNode | undefined;
setFunctions(functions: Variable[], functionsNode: PddlBracketNode | undefined): void;
injectFunctions(injection: VariableDeclarationsInjection): void;
getFunction(liftedVariableName: string): Variable | undefined;
getLiftedFunction(groundedVariable: Variable): Variable | undefined;
getDerived(): Variable[];
setDerived(derived: Variable[]): void;
setActions(actions: Action[]): void;
getActions(): Action[];
getJobs(): DurativeAction[] | undefined;
getStructures(): Action[];
getTypeInheritance(): DirectionalGraph;
getTypesNode(): PddlBracketNode | undefined;
setTypeInheritance(typeInheritance: DirectionalGraph, typesNode?: PddlBracketNode, positionResolver?: DocumentPositionResolver): void;
setConstants(constants: TypeObjectMap, constantsNode?: PddlBracketNode): void;
getConstants(): TypeObjectMap;
getConstantsNode(): PddlBracketNode | undefined;
getTypes(): string[];
getTypesInclObject(): string[];
isDomain(): boolean;
getTypesInheritingFrom(type: string): string[];
getTypesInheritingFromPlusSelf(type: string): string[];
getEvents(): Action[] | undefined;
setEvents(events: Action[]): void;
getProcesses(): Action[] | undefined;
setProcesses(processes: Action[]): void;
getConstraints(): Constraint[];
setConstraints(constraints: Constraint[]): void;
TYPES_SECTION_START: string;
getTypeLocation(type: string): PddlRange | undefined;
}
export declare abstract class PddlDomainConstruct {
readonly name: string | undefined;
readonly parameters: Parameter[];
readonly location: PddlRange;
private documentation;
constructor(name: string | undefined, parameters: Parameter[], location: PddlRange);
getLocation(): PddlRange;
setDocumentation(documentation: string[]): void;
getDocumentation(): string[];
getNameOrEmpty(): string;
}
export declare abstract class Action extends PddlDomainConstruct {
abstract isDurative(): boolean;
}
export declare class InstantAction extends Action {
readonly preCondition?: PddlBracketNode | undefined;
readonly effect?: PddlBracketNode | undefined;
constructor(name: string | undefined, parameters: Parameter[], location: PddlRange, preCondition?: PddlBracketNode | undefined, effect?: PddlBracketNode | undefined);
isDurative(): boolean;
}
export declare class DurativeAction extends Action {
readonly actionNode?: PddlBracketNode | undefined;
readonly parametersNode?: PddlBracketNode | undefined;
readonly duration?: PddlBracketNode | undefined;
readonly condition?: PddlBracketNode | undefined;
readonly effect?: PddlBracketNode | undefined;
constructor(name: string | undefined, parameters: Parameter[], location: PddlRange, actionNode?: PddlBracketNode | undefined, parametersNode?: PddlBracketNode | undefined, duration?: PddlBracketNode | undefined, condition?: PddlBracketNode | undefined, effect?: PddlBracketNode | undefined);
isDurative(): boolean;
}
export declare class Job extends DurativeAction {
constructor(name: string | undefined, parameters: Parameter[], location: PddlRange, actionNode?: PddlBracketNode, parametersNode?: PddlBracketNode, duration?: PddlBracketNode, condition?: PddlBracketNode, effect?: PddlBracketNode);
}
export declare class UnrecognizedStructure extends PddlDomainConstruct {
constructor(range: PddlRange);
}