pike.git
/
src
/
operators.c
version
»
Context lines:
10
20
40
80
file
none
3
pike.git/src/operators.c:5968:
#define F_AND_TYPE(Z) \ tOr(tFunc(tSetvar(0,Z),tVar(0)), \ tIfnot(tFuncV(tNone, tNot(Z), tMix), \ tFuncV(tSetvar(1,Z),tSetvar(2,Z), \ tOr(tVar(1),tVar(2))))) ADD_EFUN2("`&",f_and,
-
tOr4
(
-
tFunc(tSetvar(0,tMix),tVar(0)),
-
-
tOr
(
tFuncV
(
tMix
tObj
,
tMix,tMix
),
-
tFuncV(tObj
tMix,tMix,tMix)),
-
-
tOr6
(
F_AND_TYPE
(
tInt
),
+
tTransitive
(tFunc(tSetvar(0,tMix),tVar(0)),
+
tOr9
(
tFunc
(
tSetvar(0,
tInt) tSetvar(1
,
tInt
),
+
tAndInt
(
tVar(0),
tVar
(
1
)
))
,
F_AND_TYPE(tArray), F_AND_TYPE(tMapping), F_AND_TYPE(tMultiset), F_AND_TYPE(tString),
-
F_AND_TYPE(tOr(tType(tMix),tPrg(tObj)))
)
,
-
-
tIfnot
(
tFuncV
(
tNone
,
tNot(
tMapping)
,
tMix
),
-
tFuncV
(
tNone
,
-
tOr3
(tArray,tMultiset
,
tSetvar(4,tMapping)
)
,
-
tVar(4)) )
-
),
-
+
F_AND_TYPE(tOr(tType(tMix),tPrg(tObj))),
+
tFunc
(
tSetvar
(
4
, tMapping)
+
tOr(tArray
,
tMultiset
),
+
tVar
(
4))
,
+
tFunc
(
tOr(
tArray,tMultiset
)
+
tSetvar(4,
tMapping),
+
tVar(4))
,
+
tOr(tFunc(tMix tObj, tMix
)
,
+
tFunc(tObj tMix, tMix
)
)))
,
OPT_TRY_OPTIMIZE,optimize_binary,generate_and); #define LOG_TYPE \ tOr7(tIfnot(tFuncV(tNone, tNot(tObj), tMix), \ tOr(tFuncV(tMix tObj,tMix,tMix), \ tFuncV(tObj,tMix,tMix))), \ tOr(tFuncV(tIntPos, tIntPos, tIntPos), \ tIfnot(tFuncV(tNone, tNot(tIntMinus), tMix), \ tFuncV(tInt, tInt, tInt))), \ tFuncV(tSetvar(1,tMapping),tSetvar(2,tMapping),tOr(tVar(1),tVar(2))), \