UNPKG

pddl-workspace

Version:
159 lines (158 loc) 7.01 kB
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); }