68 const char *
name ()
const;
69 SymbolEntryPtr
entry ()
const;
75 std::ostream &
toXml (std::ostream &
str,
int indent )
const;
91 const char *
name ()
const;
92 SymbolEntryPtr
entry ()
const;
96 std::ostream &
toXml (std::ostream &
str,
int indent )
const;
97 constTypePtr
type()
const;
116 const char *
name ()
const;
118 std::ostream &
toStream (std::ostream &
str)
const;
119 std::ostream &
toXml (std::ostream &
str,
int indent )
const;
149 std::ostream &
toStream (std::ostream &
str)
const;
150 std::ostream &
toXml (std::ostream &
str,
int indent )
const;
166 YELocale (
const char *singular,
const char *plural, YCodePtr count,
const char *textdomain);
172 std::ostream &
toStream (std::ostream &
str)
const;
173 std::ostream &
toXml (std::ostream &
str,
int indent )
const;
190 void attach (YCodePtr element);
194 std::ostream &
toStream (std::ostream &
str)
const;
195 std::ostream &
toXml (std::ostream &
str,
int indent )
const;
196 constTypePtr
type()
const;
198 YCodePtr
value (
int index)
const;
211 YEMap (YCodePtr key, YCodePtr value);
215 void attach (YCodePtr key, YCodePtr value);
220 std::ostream &
toStream (std::ostream &
str)
const;
221 std::ostream &
toXml (std::ostream &
str,
int indent )
const;
222 constTypePtr
type()
const;
236 YEPropagate (YCodePtr value, constTypePtr from, constTypePtr to);
243 std::ostream &
toStream (std::ostream &
str)
const;
244 std::ostream &
toXml (std::ostream &
str,
int indent )
const;
266 std::ostream &
toStream (std::ostream &
str)
const;
267 std::ostream &
toXml (std::ostream &
str,
int indent )
const;
268 constTypePtr
type()
const {
return ((constFunctionTypePtr)
m_decl->
type)->returnType (); }
291 std::ostream &
toStream (std::ostream &
str)
const;
292 std::ostream &
toXml (std::ostream &
str,
int indent )
const;
293 constTypePtr
type()
const;
307 YETriple (YCodePtr a_expr, YCodePtr a_true, YCodePtr a_false);
316 std::ostream &
toStream (std::ostream &
str)
const;
317 std::ostream &
toXml (std::ostream &
str,
int indent )
const;
331 YEIs (YCodePtr expr, constTypePtr
type);
337 std::ostream &
toStream (std::ostream &
str)
const;
338 std::ostream &
toXml (std::ostream &
str,
int indent )
const;
357 std::ostream &
toStream (std::ostream &
str)
const;
358 std::ostream &
toXml (std::ostream &
str,
int indent )
const;
374 YEBracket (YCodePtr var, YCodePtr arg, YCodePtr
def, constTypePtr resultType);
380 std::ostream &
toStream (std::ostream &
str)
const;
381 std::ostream &
toXml (std::ostream &
str,
int indent )
const;
423 std::ostream &
toStream (std::ostream &
str)
const;
424 std::ostream &
toXml (std::ostream &
str,
int indent )
const;
425 constTypePtr
type ()
const;
448 const SymbolEntryPtr
entry ()
const;
468 std::ostream &
toStream (std::ostream &
str)
const;
469 std::ostream &
toXml (std::ostream &
str,
int indent )
const;
470 constTypePtr
type()
const;
515 string name ()
const;
524 virtual bool reset ();
527 #endif // YExpression_h
c++ interface for logging
Definition: libycp/src/include/ycp/y2log.h:73
Y2Function * m_functioncall
Definition: YExpression.h:441
YETriple(YCodePtr a_expr, YCodePtr a_true, YCodePtr a_false)
Definition: YExpression.cc:1480
Definition: YExpression.h:229
TableEntry * m_entry
Definition: YExpression.h:437
constTypePtr type() const
Definition: YExpression.h:268
constTypePtr type() const
Definition: YExpression.h:151
YCPValue * m_parameters
Definition: YExpression.h:509
declaration_t * decl() const
Definition: YExpression.cc:1261
#define DEFINE_DERIVED_POINTER(NAME, BASE)
Definition: RepDef.h:69
string toString() const
Definition: YExpression.cc:465
constTypePtr completeType() const
Definition: YExpression.cc:2305
Definition: YExpression.h:325
YCode for precompiled ycp code.
Definition: YCode.h:75
static const constTypePtr Term
Definition: Type.h:131
YCodePtr m_false
Definition: YExpression.h:305
YCodePtr m_arg1
Definition: YExpression.h:279
string qualifiedName() const
Definition: YExpression.cc:3518
constTypePtr attachSymVariable(const char *name, constTypePtr type, unsigned int line, TableEntry *&tentry)
Definition: YExpression.cc:2380
SymbolEntryPtr m_entry
Definition: YExpression.h:62
~YEUnary()
Definition: YExpression.cc:1255
Definition: YExpression.h:181
uint m_next_param_id
Definition: YExpression.h:443
YCodePtr m_expr
Definition: YExpression.h:349
#define str
Definition: scanner.cc:997
Definition: YExpression.h:127
Definition: YExpression.h:158
int count() const
Definition: YExpression.cc:775
virtual ykind kind() const
Definition: YExpression.h:310
string toString() const
Definition: YExpression.cc:2431
YCPValue evaluate(bool cse=false)
Definition: YExpression.cc:616
constTypePtr type() const
Definition: YExpression.h:318
YCodePtr m_def
Definition: YExpression.h:371
string toString() const
Definition: YExpression.cc:2991
struct mapval * next
Definition: YExpression.h:208
constTypePtr type() const
Definition: YExpression.cc:2278
YCodePtr m_arg
Definition: YExpression.h:370
virtual ykind kind() const
Definition: YExpression.h:67
YCPValue evaluate(bool cse=false)
Definition: YExpression.cc:1775
virtual ykind kind() const
Definition: YExpression.h:239
YEVariable(SymbolEntryPtr entry)
Definition: YExpression.cc:77
constFunctionTypePtr m_type
Definition: YExpression.h:394
YCPValue evaluate(bool cse=false)
Definition: YExpression.cc:1710
virtual ykind kind() const
Definition: YExpression.h:90
const char * m_singular
Definition: YExpression.h:161
constTypePtr type() const
Definition: YExpression.h:174
declaration_t * m_decl
Definition: YExpression.h:278
static const constTypePtr Locale
Definition: Type.h:127
virtual bool attachParameter(const YCPValue &arg, const int pos)
Definition: YExpression.cc:3457
~YEReference()
Definition: YExpression.h:89
SymbolEntryPtr m_entry
Definition: YExpression.h:85
YCodePtr m_expr
Definition: YExpression.h:328
YELocale(const char *singular, const char *plural, YCodePtr count, const char *textdomain)
Definition: YExpression.cc:561
constTypePtr type
Definition: StaticDeclaration.h:77
virtual ykind kind() const
Definition: YExpression.h:499
std::ostream & toStream(std::ostream &str) const
Definition: YExpression.cc:1717
Definition: YExpression.h:103
virtual YCPValue evaluate(bool cse=false)
Definition: YExpression.cc:3231
string toString() const
Definition: YExpression.cc:338
virtual bool reset()
Definition: YExpression.cc:3527
cmp_op
Definition: YExpression.h:131
declaration_t * decl()
Definition: YExpression.cc:1366
std::ostream & toXml(std::ostream &str, int indent) const
Definition: YExpression.cc:1724
string toString() const
Definition: YExpression.cc:1504
YCodePtr m_value
Definition: YExpression.h:234
ykind
Definition: YCode.h:90
Definition: YExpression.h:390
virtual YCPValue evaluateCall()
Definition: YExpression.cc:3344
virtual ykind kind() const
Definition: YExpression.h:404
Definition: YExpression.h:131
constTypePtr type() const
Definition: YExpression.h:245
Definition: YExpression.h:252
Y2YCPFunction(YSymbolEntryPtr entry)
Definition: YExpression.cc:3316
std::ostream & toStream(std::ostream &str) const
Definition: YExpression.cc:1548
void attach(YCodePtr element)
Definition: YExpression.cc:708
Definition: YExpression.h:131
string toString() const
Definition: YExpression.cc:906
YCodePtr m_arg
Definition: YExpression.h:256
YEUnary(declaration_t *decl, YCodePtr arg)
Definition: YExpression.cc:1234
std::ostream & toStream(std::ostream &str) const
Definition: YExpression.cc:140
virtual constTypePtr finalize()
Definition: YExpression.cc:3192
ycodelist_t * m_parameters
Definition: YExpression.h:107
constTypePtr type() const
Definition: YExpression.h:120
constTypePtr finalize(Logger *problem_logger)
Definition: YExpression.cc:2093
virtual ykind kind() const
Definition: YExpression.h:285
YECall(TableEntry *entry)
Definition: YExpression.cc:2637
constTypePtr attachParameter(YCodePtr code, constTypePtr dummy=Type::Unspec)
Definition: YExpression.cc:303
constTypePtr type() const
Definition: YExpression.h:339
virtual YCPValue evaluate(bool cse=false)
Definition: YExpression.cc:3099
std::ostream & toStream(std::ostream &str) const
Definition: YExpression.cc:1950
~YEList()
Definition: YExpression.cc:694
constTypePtr attachParameter(YCodePtr code, constTypePtr type)
Definition: YExpression.cc:2805
void closeParameters()
Definition: YExpression.cc:2258
virtual ykind kind() const
Definition: YExpression.h:189
Definition: YExpression.h:275
std::ostream & toStream(std::ostream &str) const
Definition: YExpression.cc:535
const char * name() const
Definition: YExpression.cc:99
std::ostream & toStream(std::ostream &str) const
Definition: YExpression.cc:218
YBlockPtr m_parameterblock
Definition: YExpression.h:397
ycodelist_t * m_parameters
Definition: YExpression.h:399
YEReturn(YCodePtr expr)
Definition: YExpression.cc:1680
std::ostream & toXml(std::ostream &str, int indent) const
Definition: YExpression.cc:1558
constTypePtr type() const
Definition: YExpression.cc:1452
Definition: YExpression.h:82
declaration_t * m_decl
Definition: YExpression.h:255
YEBracket(YCodePtr var, YCodePtr arg, YCodePtr def, constTypePtr resultType)
Definition: YExpression.cc:1737
YCodePtr value(int index) const
Definition: YExpression.cc:789
YSymbolEntryPtr m_sentry
Definition: YExpression.h:508
SymbolEntryPtr entry() const
Definition: YExpression.cc:184
~YEBuiltin()
Definition: YExpression.cc:2057
~Y2YCPFunction()
Definition: YExpression.cc:3337
YCPValue evaluate(bool cse=false)
Definition: YExpression.cc:113
YECompare(YCodePtr left, c_op op, YCodePtr right)
Definition: YExpression.cc:422
mapval_t * m_first
Definition: YExpression.h:209
YCPValue evaluate(bool cse=false)
Definition: YExpression.cc:745
Definition: YExpression.h:366
Definition: YExpression.h:346
YLocale::t_uniquedomains::const_iterator m_domain
Definition: YExpression.h:164
const char * m_plural
Definition: YExpression.h:162
YETerm(const char *name)
Definition: YExpression.cc:248
SymbolEntryPtr m_sentry
Definition: YExpression.h:438
~YEPropagate()
Definition: YExpression.cc:1074
virtual ykind kind() const
Definition: YExpression.h:377
Definition: YExpression.h:208
virtual ykind kind() const
Definition: YExpression.h:485
string toString() const
Definition: YExpression.cc:606
const char * name() const
Definition: YExpression.cc:191
YCodePtr * m_parameters
Definition: YExpression.h:439
string toString() const
Definition: YExpression.cc:1268
std::ostream & toXml(std::ostream &str, int indent) const
Definition: YExpression.cc:547
static const constTypePtr Unspec
Definition: Type.h:118
YCPValue evaluate(bool cse=false)
Definition: YExpression.cc:1608
Definition: YExpression.h:134
std::ostream & toXml(std::ostream &str, int indent) const
Definition: YExpression.cc:1322
string name() const
Definition: YExpression.cc:3539
YEIs(YCodePtr expr, constTypePtr type)
Definition: YExpression.cc:1575
string toString() const
Definition: YExpression.cc:1765
constTypePtr type() const
Definition: YExpression.h:359
std::ostream & toXml(std::ostream &str, int indent) const
Definition: YExpression.cc:1438
constTypePtr type() const
Definition: YExpression.cc:829
constTypePtr type() const
Definition: YExpression.h:76
c_op m_op
Definition: YExpression.h:140
~YEBracket()
Definition: YExpression.cc:1759
YEBuiltin(declaration_t *decl, YBlockPtr parameterblock=0, constTypePtr type=0)
Definition: YExpression.cc:1913
virtual ykind kind() const
Definition: YExpression.h:354
constTypePtr * m_parameter_types
Definition: YExpression.h:440
Definition: YExpression.h:59
std::ostream & toStream(std::ostream &str) const
Definition: YExpression.cc:1211
SymbolEntryPtr entry() const
Definition: YExpression.cc:92
const char * m_name
Definition: YExpression.h:106
ycodelist_t * m_first
Definition: YExpression.h:184
Definition: YExpression.h:132
std::ostream & toStream(std::ostream &str) const
Definition: YExpression.cc:650
std::ostream & toStream(std::ostream &str) const
Definition: YExpression.cc:3014
static YECallPtr readCall(bytecodeistream &str)
Definition: YExpression.cc:2734
Definition: YExpression.h:133
~YEMap()
Definition: YExpression.cc:871
Definition: YExpression.h:433
std::ostream & toXml(std::ostream &str, int indent) const
Definition: YExpression.cc:3031
constTypePtr m_resultType
Definition: YExpression.h:372
YCodePtr m_left
Definition: YExpression.h:139
const SymbolEntryPtr entry() const
Definition: YExpression.cc:2784
YCPValue evaluate(bool cse=false)
Definition: YExpression.cc:477
std::ostream & toStream(std::ostream &str) const
Definition: YExpression.cc:1311
YEMap(YCodePtr key, YCodePtr value)
Definition: YExpression.cc:849
std::ostream & toStream(std::ostream &str) const
Definition: YExpression.cc:802
string toString() const
Definition: YExpression.cc:727
cmp_op c_op
Definition: YExpression.h:137
Definition: StaticDeclaration.h:71
constTypePtr m_type
Definition: YExpression.h:329
bool canPropagate(const YCPValue &value, constTypePtr to_type) const
Definition: YExpression.cc:1087
~YEBinary()
Definition: YExpression.cc:1360
declaration_t * decl() const
Definition: YExpression.cc:2070
YCPValue evaluate(bool cse=false)
Definition: YExpression.cc:2451
constTypePtr type() const
Definition: YExpression.cc:1014
std::ostream & toXml(std::ostream &str, int indent) const
Definition: YExpression.cc:227
virtual bool appendParameter(const YCPValue &arg)
Definition: YExpression.cc:3470
Definition: YExpression.h:131
string qualifiedName() const
Definition: YExpression.cc:3066
std::ostream & toStream(std::ostream &str) const
Definition: YExpression.cc:1658
string toString() const
Definition: YExpression.cc:1700
string toString() const
Definition: YExpression.cc:1080
constTypePtr attachParameter(YCodePtr code, constTypePtr type=Type::Unspec)
Definition: YExpression.cc:2323
constTypePtr m_to
Definition: YExpression.h:233
std::ostream & toXml(std::ostream &str, int indent) const
Definition: YExpression.cc:1977
virtual bool finishParameters()
Definition: YExpression.cc:3502
REP_BODY(YEFunctionPointer)
YEReference(SymbolEntryPtr entry)
Definition: YExpression.cc:166
Definition: YExpression.h:205
YCPValue evaluate(bool cse=false)
Definition: YExpression.cc:1382
~YECompare()
Definition: YExpression.cc:442
virtual ykind kind() const
Definition: YExpression.h:261
YCodePtr m_true
Definition: YExpression.h:304
Definition: YExpression.h:135
YEFunctionPointer(TableEntry *entry)
Definition: YExpression.cc:3215
YEFunction(TableEntry *entry)
Definition: YExpression.cc:3077
~YEReturn()
Definition: YExpression.cc:1694
YBlockPtr parameterBlock() const
Definition: YExpression.cc:2077
YCodePtr value
Definition: YExpression.h:208
virtual constTypePtr wantedParameterType() const
Definition: YExpression.cc:3427
YCPValue evaluate(bool cse=false)
Definition: YExpression.cc:1276
std::ostream & toStream(std::ostream &str) const
Definition: YExpression.cc:1426
virtual ykind kind() const
Definition: YExpression.h:112
std::ostream & toStream(std::ostream &str) const
Definition: YExpression.cc:392
struct YEMap::mapval mapval_t
virtual constTypePtr finalize()
Definition: YExpression.cc:2865
Wrapper for YCPValueRep This class realizes an automatic memory management via YCPElement. Access the functionality of YCPValueRep with the arrow operator. See YCPValueRep.
Definition: YCPValue.h:275
std::ostream & toXml(std::ostream &str, int indent) const
Definition: YExpression.cc:400
YCPValue evaluate(bool cse=false)
Definition: YExpression.cc:205
string toString() const
Definition: YExpression.cc:1373
YCPValue evaluate(bool cse=false)
Definition: YExpression.cc:362
Definition: YExpression.h:506
std::ostream & toXml(std::ostream &str, int indent) const
Definition: YExpression.cc:987
virtual ykind kind() const
Definition: YExpression.h:334
virtual ykind kind() const
Definition: YExpression.h:214
constTypePtr type() const
Definition: YExpression.h:382
YCodePtr m_right
Definition: YExpression.h:141
constTypePtr m_from
Definition: YExpression.h:232
YCodePtr m_expr
Definition: YExpression.h:303
const char * name() const
Definition: YExpression.cc:286
static const constTypePtr Boolean
Definition: Type.h:123
An istream that remembers some data about the bytecode.
Definition: Bytecode.h:42
YCPValue evaluate(bool cse=false)
Definition: YExpression.cc:927
~YECall()
Definition: YExpression.cc:2706
constTypePtr type() const
Definition: YExpression.cc:3059
virtual ykind kind() const
Definition: YExpression.h:169
std::ostream & toXml(std::ostream &str, int indent) const
Definition: YExpression.cc:810
~YEIs()
Definition: YExpression.cc:1591
declaration_t * m_decl
Definition: YExpression.h:393
YEList(YCodePtr code)
Definition: YExpression.cc:677
std::ostream & toStream(std::ostream &str) const
Definition: YExpression.cc:1886
YEBinary(declaration_t *decl, YCodePtr arg1, YCodePtr arg2)
Definition: YExpression.cc:1337
constTypePtr type() const
Definition: YExpression.cc:238
~YELocale()
Definition: YExpression.cc:598
std::ostream & toXml(std::ostream &str, int indent) const
Definition: YExpression.cc:662
YCPValue evaluate(bool cse=false)
Definition: YExpression.cc:1166
std::ostream & toXml(std::ostream &str, int indent) const
Definition: YExpression.cc:1667
string toString() const
Definition: YExpression.cc:198
string toString() const
Definition: YExpression.cc:106
~YEVariable()
Definition: YExpression.h:66
~YETriple()
Definition: YExpression.cc:1498
YEPropagate(YCodePtr value, constTypePtr from, constTypePtr to)
Definition: YExpression.cc:1051
Definition: YExpression.h:300
Definition: SymbolTable.h:42
YCodePtr m_var
Definition: YExpression.h:369
YCodePtr m_arg2
Definition: YExpression.h:280
virtual bool isReferenceable() const
Definition: YExpression.h:72
~YETerm()
Definition: YExpression.cc:272
virtual ykind kind() const
Definition: YExpression.h:146
YCodePtr key
Definition: YExpression.h:208
Definition: Y2Function.h:71
string toString() const
Definition: YExpression.cc:1597
std::ostream & toStream(std::ostream &str) const
Definition: YExpression.cc:963
Definition: YExpression.h:493
YCPValue evaluate(bool cse=false)
Definition: YExpression.cc:1513
YCodePtr def() const
Definition: YExpression.h:383
void attach(YCodePtr key, YCodePtr value)
Definition: YExpression.cc:885
std::ostream & toXml(std::ostream &str, int indent) const
Definition: YExpression.cc:1897
std::ostream & toXml(std::ostream &str, int indent) const
Definition: YExpression.cc:1220
Definition: YExpression.h:479
std::ostream & toXml(std::ostream &str, int indent) const
Definition: YExpression.cc:148
YCodePtr m_count
Definition: YExpression.h:163