UNPKG

@composita/il

Version:

Composita language IL.

79 lines 2.23 kB
export class DeclarationDescriptor { constructor() { this.init = new CodeBlockDescriptor(); this.variables = new Array(); this.procedures = new Array(); this.components = new Array(); } } export class ComponentDescriptor { constructor(identifier) { this.identifier = identifier; this.offers = new Array(); this.requires = new Array(); this.declarations = new DeclarationDescriptor(); this.implementations = new Array(); this.begin = new CodeBlockDescriptor(); this.activity = new CodeBlockDescriptor(); this.finally = new CodeBlockDescriptor(); } } export class ProcedureDescriptor { constructor(identifier, returnType) { this.identifier = identifier; this.returnType = returnType; this.parameters = new Array(); this.declarations = new DeclarationDescriptor(); this.begin = new CodeBlockDescriptor(); } } export class ImplementationDescriptor { constructor(reference) { this.reference = reference; this.declarations = new DeclarationDescriptor(); this.begin = new CodeBlockDescriptor(); } } export class VariableDescriptor { constructor(identifier, type, mutable) { this.identifier = identifier; this.type = type; this.mutable = mutable; this.indexTypes = new Array(); } } export class CodeBlockDescriptor { constructor() { this.instructions = new Array(); } } export class InterfaceDescriptor { constructor(identifier) { this.identifier = identifier; this.protocols = new Array(); } } export class ProtocolDescriptor { constructor(type) { this.type = type; this.messages = new Array(); } } export class MessageDescriptor { constructor(identifier) { this.identifier = identifier; this.data = new Array(); } } export class JumpDescriptor { constructor(offset) { this.offset = offset; } } export class SystemCallDescriptor { constructor(systemCall, ...args) { this.systemCall = systemCall; this.arguments = new Array(...args); } } //# sourceMappingURL=descriptor.js.map