yast2-core
Macros | Functions | Variables
YCPBuiltinTerm.cc File Reference
#include "ycp/YCPBuiltinTerm.h"
#include "ycp/YCPTerm.h"
#include "ycp/YCPInteger.h"
#include "ycp/YCPString.h"
#include "ycp/StaticDeclaration.h"
#include "ycp/y2log.h"

Macros

#define ETC   0, NULL, constTypePtr(), NULL
#define ETCf   NULL, constTypePtr(), NULL

Functions

static YCPValue t_size (const YCPTerm &term)
static YCPValue t_add (const YCPTerm &term, const YCPValue &value)
static YCPValue t_symbolof (const YCPTerm &term)
YCPValue t_select (const YCPValue &term, const YCPValue &i, const YCPValue &def)
static YCPValue t_toterm1 (const YCPValue &v)
static YCPValue t_toterm2 (const YCPSymbol &s, const YCPList &l)
static YCPValue t_remove (const YCPTerm &term, const YCPInteger &i)
static YCPValue t_argsof (const YCPTerm &term)

Variables

StaticDeclaration static_declarations

Macro Definition Documentation

#define ETC   0, NULL, constTypePtr(), NULL
#define ETCf   NULL, constTypePtr(), NULL

Function Documentation

static YCPValue t_add ( const YCPTerm term,
const YCPValue value 
)
static

add add-term Add value to term Adds the value VALUE to the term TERM and returns the newly created term. As always in YCP, TERM is not modified.

Parameters:
termTERM
anyVALUE
Returns:
term
See also:
remove add (VBox(Empty()), Label("a")) ->VBox (Empty (),Label ("a")) add (VBox(Empty()), "a") -> VBox (Empty (), "a")

References YCPTerm::functionalAdd(), and YCPElement::isNull().

Referenced by YCPBuiltinTerm::YCPBuiltinTerm().

static YCPValue t_argsof ( const YCPTerm term)
static

argsof Returns the arguments of a term.

Parameters:
termTERM
Returns:
list

argsof (fun(1, 2)) -> [1, 2] @usage argsof(TextEntry(id("text"), "Label", "value")) -> [id ("text"), "Label", "value"]

References YCPTerm::args(), and YCPElement::isNull().

Referenced by YCPBuiltinTerm::YCPBuiltinTerm().

static YCPValue t_remove ( const YCPTerm term,
const YCPInteger i 
)
static

remove remove-term Remove item from term

Remove the i'th value from a term. The first value has the index 1 (!). (The index counting is for compatibility reasons with the 'old' remove which allowed 'remove(`term(1,2,3), 0) = [1,2,3]' Use 'argsof (term) -> list' for this kind of transformation.)

The yast2-core version < 2.17.16 returns nil if the index is invalid. This behavior has changed in version 2.17.16 to return unchanged term.

Parameters:
termTERM
integeri
Returns:
term
See also:
add remove (fun(1, 2), 1) ->fun(2) remove (VBox(Label("a"), Label("b")), 2) ->VBox (`Label ("a"))

References YCPTerm::args(), YCPElement::isNull(), YCPTerm::name(), YCPList::remove(), YCPList::size(), toString(), and ycp2error.

Referenced by YCPBuiltinTerm::YCPBuiltinTerm().

YCPValue t_select ( const YCPValue term,
const YCPValue i,
const YCPValue def 
)

select (deprecated, use TERM[ITEM]:DEFAULT) select-term Select item from term Gets the i'th value of the term t. The first value has the index 0. The call select ([1, 2, 3], 1) thus returns

  1. Returns the default if the index is invalid or the found value has a diffetent type that default. Functionality replaced with syntax: term a = VBox(VSpacing(2), Label("string"),VSpacing(2)); a[1]:Empty() ->Label ("string") a[9]:Empty() ->Empty ()
Parameters:
termTERM
integerITEM
anyDEFAULT

select (`hirn (true, false), 33, true) -> true

References YCPElement::isNull(), YCPList::size(), and YCPList::value().

Referenced by l_select(), and YCPBuiltinTerm::YCPBuiltinTerm().

static YCPValue t_size ( const YCPTerm term)
static

size size-term Returns the number of arguments of the term TERM.

Parameters:
termTERM
Returns:
integer Size of the TERM

size (VBox(Empty(),Empty(),Empty())) -> 3

References YCPElement::isNull(), and YCPTerm::size().

Referenced by YCPBuiltinTerm::YCPBuiltinTerm().

static YCPValue t_symbolof ( const YCPTerm term)
static

symbolof Returns the symbol of the term TERM.

Parameters:
termTERM
Returns:
symbol

symbolof (hrombuch (18, false)) ->hrombuch symbolof (Label("string")) ->Label

References YCPElement::isNull(), and YCPTerm::name().

Referenced by YCPBuiltinTerm::YCPBuiltinTerm().

static YCPValue t_toterm1 ( const YCPValue v)
static

toterm toterm-any Converts a value to a term.

If the value can't be converted to a term, nilterm is returned.

Parameters:
anyVALUE
Returns:
term

toterm ("VBox") -> VBox () @usage toterm (VBox) -> `VBox ()

References YCPElement::isNull(), YT_STRING, YT_SYMBOL, and YT_TERM.

Referenced by YCPBuiltinTerm::YCPBuiltinTerm().

static YCPValue t_toterm2 ( const YCPSymbol s,
const YCPList l 
)
static

toterm toterm-list Constructs a term from a symbol and a list.

Constructs a term from a symbol and a list. Thus complement to symbolof and argsof.

Parameters:
symbols
listl
Returns:
term

toterm (RadioButton, [id (test), "Test" ]) ->RadioButton (id (test), "Test")

References YCPTerm::add(), YCPElement::isNull(), YCPList::size(), and YCPList::value().

Referenced by YCPBuiltinTerm::YCPBuiltinTerm().


Variable Documentation

StaticDeclaration static_declarations

Generated on a sunny day for yast2-core by doxygen 1.8.1