Home    Reference > D Types > xdom:call
prev next

Description

The xdom:call type is used to represent call nodes within an xdom tree.

Type xdom:call

@x:type xdom:call

@x:self @x:func sys:Init(func~xdom,list=list1~TypeOr[list,void] := null,noStep=noStep1~boolean := false,breakBefore=breakBefore1~boolean := false,breakAfter=breakAfter1~boolean := false,mark1=mark11~boolean := false,mark2=mark21~boolean := false,mark3=mark31~boolean := false,label=label1~boolean := "",spaceBefore=spaceBefore1~enum["empty","space","line","lines","erase"] := "line",spaceAfter=spaceAfter1~enum["empty","space","line","lines","erase"] := "line",kind=kind1~enum["normal","op","dot","double","single","long","short","subscript","list"] := "normal")~void
@x:self @x:var func~xdom
@x:self @x:const size~int
@x:self @x:func sys:Subscript(index~int)
@x:self @x:func insert(val,pos~int := self.size)~void
@x:self @x:func delete(pos~int)~void
@x:self @x:const all~func
@x:type @x:func sys:Eq(a~xdom:call,b~xdom:call)~boolean
@x:type @x:func sys:Ne(a~xdom:call,b~xdom:call)~boolean
@x:self @x:var noStep~boolean
@x:self @x:var breakBefore~boolean
@x:self @x:var breakAfter~boolean
@x:self @x:var mark1~boolean
@x:self @x:var mark2~boolean
@x:self @x:var mark3~boolean
@x:self @x:var label~string
@x:self @x:var spaceBefore~enum["empty","space","line","lines","erase"]
@x:self @x:var spaceAfter~enum["empty","space","line","lines","erase"]
@x:self @x:var kind~enum["normal","op","dot","double","single","long","short","subscript","list"]

Self Function sys:Init

@x:func sys:Init(func~xdom,list=list1~TypeOr[list,void] := null,noStep=noStep1~boolean := false,breakBefore=breakBefore1~boolean := false,breakAfter=breakAfter1~boolean := false,mark1=mark11~boolean := false,mark2=mark21~boolean := false,mark3=mark31~boolean := false,label=label1~boolean := "",spaceBefore=spaceBefore1~enum["empty","space","line","lines","erase"] := "line",spaceAfter=spaceAfter1~enum["empty","space","line","lines","erase"] := "line",kind=kind1~enum["normal","op","dot","double","single","long","short","subscript","list"] := "normal")~void
func the xdom for the function to be called.
list=list1 (optional) the list of function parameters If null, the result will have no parameters.
noStep=noStep1 (optional) sets self.noStep
breakBefore=breakBefore1 (optional) sets self.breakBefore
breakAfter=breakAfter1 (optional) sets self.breakAfter
mark1=mark11 (optional) sets self.mark1
mark2=mark21 (optional) sets self.mark2
mark3=mark31 (optional) sets self.mark3
label=label1 (optional) sets self.label
spaceBefore=spaceBefore1 (optional) sets self.spaceBefore
spaceAfter=spaceAfter1 (optional) sets self.spaceAfter
kind=kind1 (optional) sets self.kind

Semantics

Initializes a new
xdom:call tree node.

Self Var func

@x:var func~xdom

Semantics

The tree for the function being called.

Self Const size

@x:const size~int

Semantics

The number of
xdom tree nodes that are parameters of the call.

LHS/RHS Self Function sys:Subscript

@x:func sys:Subscript(index~int)
index The index of the parameter to be selected. For call c this must be in the range 1..c.size.

Semantics

The indexth parameter.

Self Function insert

@x:func insert(val,pos~int := self.size)~void
val a value to be inserted
pos (optional) the value must be in the range 0..self.size.

Semantics

Inserts the new value at the specified position. If the position is 0, the value is inserted at the beginning of the parameter list. Otherwise, the value is inserted after the pos parameter.

Self Function delete

@x:func delete(pos~int)~void
pos (optional) for call c, the value must be in the range 1..c.size.

Semantics

The parameter at the specified position is deleted from the parameter list.

Self Const all

@x:const all~func

Semantics

An iterator function that iterates over all the parameters.

Type Function sys:Eq

@x:func sys:Eq(a~xdom:call,b~xdom:call)~boolean
a first parameter
b second parameter

Semantics

If a and b are the same tree node, then the result is
true, else the result is false.

Type Function sys:Ne

@x:func sys:Ne(a~xdom:call,b~xdom:call)~boolean
a first parameter
b second parameter

Semantics

If a and b are the same tree node, then the result is
false, else the result is true.

Self Var noStep

@x:var noStep~boolean

Semantics

The debugger should not break before or after this node when in single step mode.

Self Var breakBefore

@x:var breakBefore~boolean

Semantics

The debugger should break before executing this node.

Self Var breakAfter

@x:var breakAfter~boolean

Semantics

The debugger should break after executing this node.

Self Var mark1

@x:var mark1~boolean

Semantics

A boolean used for directed graph traversal.

Self Var mark2

@x:var mark2~boolean

Semantics

A boolean used for directed graph traversal.

Self Var mark3

@x:var mark3~boolean

Semantics

A boolean used for directed graph traversal.

Self Var label

@x:var label~string

Semantics

A label name used when unparsing directed graphs.

Self Var spaceBefore

@x:var spaceBefore~enum["empty","space","line","lines","erase"]

Semantics

The amount of space present between the last non-blank character before this
xdom item and the beginning of this xdom item.

Self Var spaceAfter

@x:var spaceAfter~enum["empty","space","line","lines","erase"]

Semantics

The amount of space present between the end of this
xdom item and the next non-blank character.

Self Var kind

@x:var kind~enum["normal","op","dot","double","single","long","short","subscript","list"]

Semantics

The kind of syntactic sugar for this element.

"normal" f(x)
"op" a + b
"dot" a.b
"double" "abc&foo;def"
"single" 'abc&foo;def'
"long" x:/* a long comment */
"short" x:// comment
"subscript" f(x)#v
"list" [2,3]