Service Ast

from ast import Ast

Port NameLocationProtocolInterfaces
inputlocalAstInterface

List of Available Interfaces

AstInterface

Operation NameInput TypeOutput TypeFaultsDescription
parseModulestringModule-

Types

Aggregation: An aggregation, as in the aggregates construct used in input ports.
Type Declaration
void {
  textLocation[1,1]: TextLocation // 
  extender[0,1]: LocatedSymbolRef // 
  outputPort[1,1]: LocatedSymbolRef // 
}
BasicType: A basic type.
Type Declaration
VoidBasicType
|BoolBasicType
|IntBasicType
|LongBasicType
|DoubleBasicType
|StringBasicType





BoolBasicType: A boolean basic type.
Type Declaration
void {
  bool[1,1]: void // @JavaName("boolTag")
}
ChoiceType: A choice type.
Type Declaration
void {
  textLocation[1,1]: TextLocation // 
  left[1,1]: Type // 
  right[1,1]: Type // 
}
Documentation: A documentation node.
Type Declaration
LocatedString
DoubleBasicType: A double basic type.
Type Declaration
void {
  double[1,1]: void // @JavaName("doubleTag")
  refinements[0,1]: DoubleRefinement // 
}
DoubleRange:
Type Declaration
void {
  min[1,1]: double // 
  max[1,1]: double // 
}
DoubleRefinement:
Type Declaration
void {
  ranges[0,1]: DoubleRange // 
}
FaultType: The type of a fault.
Type Declaration
void {
  textLocation[1,1]: TextLocation // 
  name[1,1]: LocatedString // 
  type[1,1]: Type // 
}
InputPort: An input port.
Type Declaration
void {
  textLocation[1,1]: TextLocation // 
  redirections[0,1]: Redirection // 
  protocol[0,1]: LocatedString // 
  interfaces[0,1]: SymbolRef // 
  operations[0,1]: Operation // 
  name[1,1]: LocatedString // 
  location[0,1]: LocatedString // 
  aggregations[0,1]: Aggregation // 
}
IntBasicType: An integer basic type.
Type Declaration
void {
  int[1,1]: void // @JavaName("intTag")
  refinements[0,1]: IntRefinement // 
}
IntRange: An integer range.
Type Declaration
void {
  min[1,1]: int //  Must be lower than or equal to max.
  max[1,1]: int // 
}
IntRefinement:
Type Declaration
void {
  ranges[0,1]: IntRange // 
}
InterfaceDef: An interface definition.
Type Declaration
void {
  textLocation[1,1]: TextLocation // 
  operations[0,1]: Operation // 
  name[1,1]: LocatedString // 
}
LocatedString: A string with a text location.
Type Declaration
string {
  textLocation[1,1]: TextLocation // 
}
LocatedSymbolRef: A symbol reference with a text location.
Type Declaration
string {
  textLocation[1,1]: TextLocation // 
}
Location: The location of a piece of text in a text document.
Type Declaration
void {
  range[1,1]: Range // 
  source[1,1]: Source // 
}
LongBasicType: A long basic type.
Type Declaration
void {
  long[1,1]: void // @JavaName("longTag")
  refinements[0,1]: LongRefinement // 
}
LongRange:
Type Declaration
void {
  min[1,1]: long // 
  max[1,1]: long // 
}
LongRefinement:
Type Declaration
void {
  ranges[0,1]: LongRange // 
}
Module: A module.
Type Declaration
void {
  types[0,1]: TypeDef // 
  interfaces[0,1]: InterfaceDef // 
  services[0,1]: ServiceDef // 
}
NonNegativeIntRange: A non-negative integer range, as used in types.
Type Declaration
void {
  min[1,1]: int //  Cannot be lower than 0 and should always be lower than or equal to max.
  max[1,1]: int // 
}
OneWayOperation: The type of a OneWay operation.
Type Declaration
void {
  textLocation[1,1]: TextLocation // 
  requestType[1,1]: Type // 
  name[1,1]: LocatedString // 
}
Operation: The type of an operation.
Type Declaration
OneWayOperation
|RequestResponseOperation

OutputPort: An output port.
Type Declaration
void {
  textLocation[1,1]: TextLocation // 
  protocol[0,1]: LocatedString // 
  interfaces[0,1]: SymbolRef // 
  operations[0,1]: Operation // 
  name[1,1]: LocatedString // 
  location[0,1]: LocatedString // 
}
Position: A position in a text document.
Type Declaration
void {
  character[1,1]: int // 
  line[1,1]: int // 
}
Range: A range in a text document.
Type Declaration
void {
  start[1,1]: Position // 
  end[1,1]: Position // 
}
Redirection: A redirection, as used in an input port.
Type Declaration
void {
  textLocation[1,1]: TextLocation // 
  outputPort[1,1]: LocatedSymbolRef // 
  name[1,1]: LocatedString // 
}
RequestResponseOperation: The type of a RequestResponse operation.
Type Declaration
void {
  textLocation[1,1]: TextLocation // 
  responseType[1,1]: Type // 
  requestType[1,1]: Type // 
  name[1,1]: LocatedString // 
  faults[0,1]: FaultType // 
}
ServiceDef: A service.
Type Declaration
void {
  textLocation[1,1]: TextLocation // 
  documentation[0,1]: Documentation // 
  outputPorts[0,1]: OutputPort // 
  name[1,1]: LocatedString // 
  inputPorts[0,1]: InputPort // 
}
Source:
Type Declaration
string
StringBasicType: A string basic type.
Type Declaration
void {
  string[1,1]: void // @JavaName("stringTag")
  refinements[0,1]: StringRefinement // 
}
StringRefinement:
Type Declaration
void {
  length[1,1]: IntRange // 
}
|void {
  enum[1,1]: string // @JavaName("enumeration")
}
|void {
  regex[1,1]: string // 
}


SymbolRef: A reference to the definition of a symbol.
Type Declaration
string
TreeNodeType: The type of a node in a tree type.
Type Declaration
void {
  textLocation[1,1]: TextLocation // 
  documentation[0,1]: Documentation // 
  name[1,1]: LocatedString // 
  range[1,1]: NonNegativeIntRange // 
  type[1,1]: Type // 
}
TreeType: A tree type.
Type Declaration
void {
  textLocation[1,1]: TextLocation // 
  basicType[1,1]: BasicType // 
  rest[0,1]: TreeNodeType // 
  nodes[0,1]: TreeNodeType // 
  documentation[0,1]: Documentation // 
}
Type: A type. // TODO: makes switching hard, consider defining the possible options as their own types.
Type Declaration
void {
  tree[1,1]: TreeType // 
}
|void {
  choice[1,1]: ChoiceType // 
}
|void {
  ref[1,1]: LocatedSymbolRef // 
}


TypeDef: A type definition.
Type Declaration
void {
  textLocation[1,1]: TextLocation // 
  name[1,1]: LocatedString // 
  type[1,1]: Type // 
}
VoidBasicType: A void basic type.
Type Declaration
void {
  void[1,1]: void // @JavaName("voidTag")
}