mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-03-27 01:29:58 +01:00
[poincare] Change call to Expression::shallowReduce to
Expression::defaultShallowReduce to avoid infinite loop
This commit is contained in:
@@ -28,7 +28,7 @@ LayoutRef AbsoluteValue::createLayout(Preferences::PrintFloatMode floatDisplayMo
|
||||
}
|
||||
|
||||
Expression AbsoluteValue::shallowReduce(Context& context, Preferences::AngleUnit angleUnit) {
|
||||
Expression * e = Expression::shallowReduce(context, angleUnit);
|
||||
Expression * e = Expression::defaultShallowReduce(context, angleUnit);
|
||||
if (e != this) {
|
||||
return e;
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@ Expression * ArcCosine::clone() const {
|
||||
}
|
||||
|
||||
Expression ArcCosine::shallowReduce(Context& context, Preferences::AngleUnit angleUnit) {
|
||||
Expression * e = Expression::shallowReduce(context, angleUnit);
|
||||
Expression * e = Expression::defaultShallowReduce(context, angleUnit);
|
||||
if (e != this) {
|
||||
return e;
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@ Expression * ArcSine::clone() const {
|
||||
}
|
||||
|
||||
Expression ArcSine::shallowReduce(Context& context, Preferences::AngleUnit angleUnit) {
|
||||
Expression * e = Expression::shallowReduce(context, angleUnit);
|
||||
Expression * e = Expression::defaultShallowReduce(context, angleUnit);
|
||||
if (e != this) {
|
||||
return e;
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@ Expression * ArcTangent::clone() const {
|
||||
}
|
||||
|
||||
Expression ArcTangent::shallowReduce(Context& context, Preferences::AngleUnit angleUnit) {
|
||||
Expression * e = Expression::shallowReduce(context, angleUnit);
|
||||
Expression * e = Expression::defaultShallowReduce(context, angleUnit);
|
||||
if (e != this) {
|
||||
return e;
|
||||
}
|
||||
|
||||
@@ -21,7 +21,7 @@ Expression * BinomialCoefficient::clone() const {
|
||||
}
|
||||
|
||||
Expression BinomialCoefficient::shallowReduce(Context& context, Preferences::AngleUnit angleUnit) {
|
||||
Expression * e = Expression::shallowReduce(context, angleUnit);
|
||||
Expression * e = Expression::defaultShallowReduce(context, angleUnit);
|
||||
if (e != this) {
|
||||
return e;
|
||||
}
|
||||
|
||||
@@ -21,7 +21,7 @@ Expression * Ceiling::clone() const {
|
||||
}
|
||||
|
||||
Expression Ceiling::shallowReduce(Context& context, Preferences::AngleUnit angleUnit) {
|
||||
Expression * e = Expression::shallowReduce(context, angleUnit);
|
||||
Expression * e = Expression::defaultShallowReduce(context, angleUnit);
|
||||
if (e != this) {
|
||||
return e;
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@ Expression * ComplexArgument::clone() const {
|
||||
}
|
||||
|
||||
Expression ComplexArgument::shallowReduce(Context& context, Preferences::AngleUnit angleUnit) {
|
||||
Expression * e = Expression::shallowReduce(context, angleUnit);
|
||||
Expression * e = Expression::defaultShallowReduce(context, angleUnit);
|
||||
if (e != this) {
|
||||
return e;
|
||||
}
|
||||
|
||||
@@ -25,7 +25,7 @@ int ConfidenceInterval::polynomialDegree(char symbolName) const {
|
||||
}
|
||||
|
||||
Expression ConfidenceInterval::shallowReduce(Context& context, Preferences::AngleUnit angleUnit) {
|
||||
Expression * e = Expression::shallowReduce(context, angleUnit);
|
||||
Expression * e = Expression::defaultShallowReduce(context, angleUnit);
|
||||
if (e != this) {
|
||||
return e;
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@ LayoutRef Conjugate::createLayout(Preferences::PrintFloatMode floatDisplayMode,
|
||||
}
|
||||
|
||||
Expression Conjugate::shallowReduce(Context& context, Preferences::AngleUnit angleUnit) {
|
||||
Expression * e = Expression::shallowReduce(context, angleUnit);
|
||||
Expression * e = Expression::defaultShallowReduce(context, angleUnit);
|
||||
if (e != this) {
|
||||
return e;
|
||||
}
|
||||
|
||||
@@ -33,7 +33,7 @@ std::complex<T> Cosine::computeOnComplex(const std::complex<T> c, Preferences::A
|
||||
}
|
||||
|
||||
Expression Cosine::shallowReduce(Context& context, Preferences::AngleUnit angleUnit) {
|
||||
Expression * e = Expression::shallowReduce(context, angleUnit);
|
||||
Expression * e = Expression::defaultShallowReduce(context, angleUnit);
|
||||
if (e != this) {
|
||||
return e;
|
||||
}
|
||||
|
||||
@@ -274,7 +274,7 @@ Decimal::Decimal(size_t size, Integer m, int e) : Number(TreePool::sharedPool()-
|
||||
}
|
||||
|
||||
Expression Decimal::shallowReduce(Context& context, Preferences::AngleUnit angleUnit) const {
|
||||
Expression e = Expression::shallowReduce(context, angleUnit);
|
||||
Expression e = Expression::defaultShallowReduce(context, angleUnit);
|
||||
if (e.isUndefinedOrAllocationFailure()) {
|
||||
return e;
|
||||
}
|
||||
|
||||
@@ -30,7 +30,7 @@ int Derivative::polynomialDegree(char symbolName) const {
|
||||
}
|
||||
|
||||
Expression Derivative::shallowReduce(Context& context, Preferences::AngleUnit angleUnit) {
|
||||
Expression * e = Expression::shallowReduce(context, angleUnit);
|
||||
Expression * e = Expression::defaultShallowReduce(context, angleUnit);
|
||||
if (e != this) {
|
||||
return e;
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@ Expression * Determinant::clone() const {
|
||||
}
|
||||
|
||||
Expression Determinant::shallowReduce(Context& context, Preferences::AngleUnit angleUnit) {
|
||||
Expression * e = Expression::shallowReduce(context, angleUnit);
|
||||
Expression * e = Expression::defaultShallowReduce(context, angleUnit);
|
||||
if (e != this) {
|
||||
return e;
|
||||
}
|
||||
|
||||
@@ -65,7 +65,7 @@ template<typename T> MatrixComplex<T> DivisionNode::computeOnMatrices(const Matr
|
||||
// Division
|
||||
|
||||
Expression Division::shallowReduce(Context & context, Preferences::AngleUnit angleUnit) const {
|
||||
Expression result = Expression::shallowReduce(context, angleUnit);
|
||||
Expression result = Expression::defaultShallowReduce(context, angleUnit);
|
||||
if (result.isUndefinedOrAllocationFailure()) {
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@ Expression * DivisionQuotient::clone() const {
|
||||
}
|
||||
|
||||
Expression DivisionQuotient::shallowReduce(Context& context, Preferences::AngleUnit angleUnit) {
|
||||
Expression * e = Expression::shallowReduce(context, angleUnit);
|
||||
Expression * e = Expression::defaultShallowReduce(context, angleUnit);
|
||||
if (e != this) {
|
||||
return e;
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@ Expression * DivisionRemainder::clone() const {
|
||||
}
|
||||
|
||||
Expression DivisionRemainder::shallowReduce(Context& context, Preferences::AngleUnit angleUnit) {
|
||||
Expression * e = Expression::shallowReduce(context, angleUnit);
|
||||
Expression * e = Expression::defaultShallowReduce(context, angleUnit);
|
||||
if (e != this) {
|
||||
return e;
|
||||
}
|
||||
|
||||
@@ -39,7 +39,7 @@ Expression * Equal::standardEquation(Context & context, Preferences::AngleUnit a
|
||||
}
|
||||
|
||||
Expression Equal::shallowReduce(Context& context, Preferences::AngleUnit angleUnit) {
|
||||
Expression * e = Expression::shallowReduce(context, angleUnit);
|
||||
Expression * e = Expression::defaultShallowReduce(context, angleUnit);
|
||||
if (e != this) {
|
||||
return e;
|
||||
}
|
||||
|
||||
@@ -37,7 +37,7 @@ bool Factorial::needsParenthesesWithParent(const SerializationHelperInterface *
|
||||
/* Simplification */
|
||||
|
||||
Expression Factorial::shallowReduce(Context& context, Preferences::AngleUnit angleUnit) {
|
||||
Expression * e = Expression::shallowReduce(context, angleUnit);
|
||||
Expression * e = Expression::defaultShallowReduce(context, angleUnit);
|
||||
if (e != this) {
|
||||
return e;
|
||||
}
|
||||
|
||||
@@ -21,7 +21,7 @@ Expression * Floor::clone() const {
|
||||
}
|
||||
|
||||
Expression Floor::shallowReduce(Context& context, Preferences::AngleUnit angleUnit) {
|
||||
Expression * e = Expression::shallowReduce(context, angleUnit);
|
||||
Expression * e = Expression::defaultShallowReduce(context, angleUnit);
|
||||
if (e != this) {
|
||||
return e;
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@ Expression * FracPart::clone() const {
|
||||
}
|
||||
|
||||
Expression FracPart::shallowReduce(Context& context, Preferences::AngleUnit angleUnit) {
|
||||
Expression * e = Expression::shallowReduce(context, angleUnit);
|
||||
Expression * e = Expression::defaultShallowReduce(context, angleUnit);
|
||||
if (e != this) {
|
||||
return e;
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@ Expression * GreatCommonDivisor::clone() const {
|
||||
}
|
||||
|
||||
Expression GreatCommonDivisor::shallowReduce(Context& context, Preferences::AngleUnit angleUnit) {
|
||||
Expression * e = Expression::shallowReduce(context, angleUnit);
|
||||
Expression * e = Expression::defaultShallowReduce(context, angleUnit);
|
||||
if (e != this) {
|
||||
return e;
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@ Expression * HyperbolicArcCosine::clone() const {
|
||||
}
|
||||
|
||||
Expression HyperbolicArcCosine::shallowReduce(Context& context, Preferences::AngleUnit angleUnit) {
|
||||
Expression * e = Expression::shallowReduce(context, angleUnit);
|
||||
Expression * e = Expression::defaultShallowReduce(context, angleUnit);
|
||||
if (e != this) {
|
||||
return e;
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@ Expression * HyperbolicArcSine::clone() const {
|
||||
}
|
||||
|
||||
Expression HyperbolicArcSine::shallowReduce(Context& context, Preferences::AngleUnit angleUnit) {
|
||||
Expression * e = Expression::shallowReduce(context, angleUnit);
|
||||
Expression * e = Expression::defaultShallowReduce(context, angleUnit);
|
||||
if (e != this) {
|
||||
return e;
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@ Expression * HyperbolicArcTangent::clone() const {
|
||||
}
|
||||
|
||||
Expression HyperbolicArcTangent::shallowReduce(Context& context, Preferences::AngleUnit angleUnit) {
|
||||
Expression * e = Expression::shallowReduce(context, angleUnit);
|
||||
Expression * e = Expression::defaultShallowReduce(context, angleUnit);
|
||||
if (e != this) {
|
||||
return e;
|
||||
}
|
||||
|
||||
@@ -22,7 +22,7 @@ Expression * HyperbolicCosine::clone() const {
|
||||
}
|
||||
|
||||
Expression HyperbolicCosine::shallowReduce(Context& context, Preferences::AngleUnit angleUnit) {
|
||||
Expression * e = Expression::shallowReduce(context, angleUnit);
|
||||
Expression * e = Expression::defaultShallowReduce(context, angleUnit);
|
||||
if (e != this) {
|
||||
return e;
|
||||
}
|
||||
|
||||
@@ -22,7 +22,7 @@ Expression * HyperbolicSine::clone() const {
|
||||
}
|
||||
|
||||
Expression HyperbolicSine::shallowReduce(Context& context, Preferences::AngleUnit angleUnit) {
|
||||
Expression * e = Expression::shallowReduce(context, angleUnit);
|
||||
Expression * e = Expression::defaultShallowReduce(context, angleUnit);
|
||||
if (e != this) {
|
||||
return e;
|
||||
}
|
||||
|
||||
@@ -21,7 +21,7 @@ Expression * HyperbolicTangent::clone() const {
|
||||
}
|
||||
|
||||
Expression HyperbolicTangent::shallowReduce(Context& context, Preferences::AngleUnit angleUnit) {
|
||||
Expression * e = Expression::shallowReduce(context, angleUnit);
|
||||
Expression * e = Expression::defaultShallowReduce(context, angleUnit);
|
||||
if (e != this) {
|
||||
return e;
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@ Expression * ImaginaryPart::clone() const {
|
||||
|
||||
|
||||
Expression ImaginaryPart::shallowReduce(Context& context, Preferences::AngleUnit angleUnit) {
|
||||
Expression * e = Expression::shallowReduce(context, angleUnit);
|
||||
Expression * e = Expression::defaultShallowReduce(context, angleUnit);
|
||||
if (e != this) {
|
||||
return e;
|
||||
}
|
||||
|
||||
@@ -32,7 +32,7 @@ int Integral::polynomialDegree(char symbolName) const {
|
||||
}
|
||||
|
||||
Expression Integral::shallowReduce(Context& context, Preferences::AngleUnit angleUnit) {
|
||||
Expression * e = Expression::shallowReduce(context, angleUnit);
|
||||
Expression * e = Expression::defaultShallowReduce(context, angleUnit);
|
||||
if (e != this) {
|
||||
return e;
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@ Expression * LeastCommonMultiple::clone() const {
|
||||
}
|
||||
|
||||
Expression LeastCommonMultiple::shallowReduce(Context& context, Preferences::AngleUnit angleUnit) {
|
||||
Expression * e = Expression::shallowReduce(context, angleUnit);
|
||||
Expression * e = Expression::defaultShallowReduce(context, angleUnit);
|
||||
if (e != this) {
|
||||
return e;
|
||||
}
|
||||
|
||||
@@ -60,7 +60,7 @@ Expression * Logarithm::simpleShallowReduce(Context & context, Preferences::Angl
|
||||
}
|
||||
|
||||
Expression Logarithm::shallowReduce(Context& context, Preferences::AngleUnit angleUnit) {
|
||||
Expression * e = Expression::shallowReduce(context, angleUnit);
|
||||
Expression * e = Expression::defaultShallowReduce(context, angleUnit);
|
||||
if (e != this) {
|
||||
return e;
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@ Expression * MatrixDimension::clone() const {
|
||||
}
|
||||
|
||||
Expression MatrixDimension::shallowReduce(Context& context, Preferences::AngleUnit angleUnit) {
|
||||
Expression * e = Expression::shallowReduce(context, angleUnit);
|
||||
Expression * e = Expression::defaultShallowReduce(context, angleUnit);
|
||||
if (e != this) {
|
||||
return e;
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@ Expression * MatrixInverse::clone() const {
|
||||
}
|
||||
|
||||
Expression MatrixInverse::shallowReduce(Context& context, Preferences::AngleUnit angleUnit) {
|
||||
Expression * e = Expression::shallowReduce(context, angleUnit);
|
||||
Expression * e = Expression::defaultShallowReduce(context, angleUnit);
|
||||
if (e != this) {
|
||||
return e;
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@ Expression * MatrixTrace::clone() const {
|
||||
}
|
||||
|
||||
Expression MatrixTrace::shallowReduce(Context& context, Preferences::AngleUnit angleUnit) {
|
||||
Expression * e = Expression::shallowReduce(context, angleUnit);
|
||||
Expression * e = Expression::defaultShallowReduce(context, angleUnit);
|
||||
if (e != this) {
|
||||
return e;
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@ Expression * MatrixTranspose::clone() const {
|
||||
}
|
||||
|
||||
Expression MatrixTranspose::shallowReduce(Context& context, Preferences::AngleUnit angleUnit) {
|
||||
Expression * e = Expression::shallowReduce(context, angleUnit);
|
||||
Expression * e = Expression::defaultShallowReduce(context, angleUnit);
|
||||
if (e != this) {
|
||||
return e;
|
||||
}
|
||||
|
||||
@@ -190,10 +190,10 @@ Expression Multiplication::shallowReduce(Context& context, Preferences::AngleUni
|
||||
}
|
||||
|
||||
Expression Multiplication::privateShallowReduce(Context & context, Preferences::AngleUnit angleUnit, bool shouldExpand, bool canBeInterrupted) const {
|
||||
return Expression::shallowReduce(context, angleUnit);;
|
||||
return Expression::defaultShallowReduce(context, angleUnit);;
|
||||
//TODO
|
||||
#if 0
|
||||
Expression * e = Expression::shallowReduce(context, angleUnit);
|
||||
Expression * e = Expression::defaultShallowReduce(context, angleUnit);
|
||||
if (e != this) {
|
||||
return e;
|
||||
}
|
||||
|
||||
@@ -21,7 +21,7 @@ Expression * NaperianLogarithm::clone() const {
|
||||
}
|
||||
|
||||
Expression NaperianLogarithm::shallowReduce(Context& context, Preferences::AngleUnit angleUnit) {
|
||||
Expression * e = Expression::shallowReduce(context, angleUnit);
|
||||
Expression * e = Expression::defaultShallowReduce(context, angleUnit);
|
||||
if (e != this) {
|
||||
return e;
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@ Expression * NthRoot::clone() const {
|
||||
}
|
||||
|
||||
Expression NthRoot::shallowReduce(Context& context, Preferences::AngleUnit angleUnit) {
|
||||
Expression * e = Expression::shallowReduce(context, angleUnit);
|
||||
Expression * e = Expression::defaultShallowReduce(context, angleUnit);
|
||||
if (e != this) {
|
||||
return e;
|
||||
}
|
||||
|
||||
@@ -69,8 +69,8 @@ Expression OppositeNode::shallowReduce(Context& context, Preferences::AngleUnit
|
||||
|
||||
/* Simplification */
|
||||
|
||||
Expression Opposite::shallowReduce(Context & context, Preferences::AngleUnit angleUnit) {
|
||||
Expression result = Expression::shallowReduce(context, angleUnit);
|
||||
Expression Opposite::shallowReduce(Context& context, Preferences::AngleUnit angleUnit) {
|
||||
Expression result = Expression::defaultShallowReduce(context, angleUnit);
|
||||
if (result.isUndefinedOrAllocationFailure()) {
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -32,7 +32,7 @@ Evaluation<T> ParenthesisNode::templatedApproximate(Context& context, Preference
|
||||
}
|
||||
|
||||
Expression Parenthesis::shallowReduce(Context& context, Preferences::AngleUnit angleUnit) const {
|
||||
Expression e = Expression::shallowReduce(context, angleUnit);
|
||||
Expression e = Expression::defaultShallowReduce(context, angleUnit);
|
||||
if (e.isUndefinedOrAllocationFailure()) {
|
||||
return e;
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@ Expression * PermuteCoefficient::clone() const {
|
||||
}
|
||||
|
||||
Expression PermuteCoefficient::shallowReduce(Context& context, Preferences::AngleUnit angleUnit) {
|
||||
Expression * e = Expression::shallowReduce(context, angleUnit);
|
||||
Expression * e = Expression::defaultShallowReduce(context, angleUnit);
|
||||
if (e != this) {
|
||||
return e;
|
||||
}
|
||||
|
||||
@@ -254,7 +254,7 @@ Expression Power::shallowReduce(Context& context, Preferences::AngleUnit angleUn
|
||||
return result;
|
||||
//TODO
|
||||
#if 0
|
||||
Expression * e = Expression::shallowReduce(context, angleUnit);
|
||||
Expression * e = Expression::defaultShallowReduce(context, angleUnit);
|
||||
if (e != this) {
|
||||
return e;
|
||||
}
|
||||
|
||||
@@ -26,7 +26,7 @@ int PredictionInterval::polynomialDegree(char symbolName) const {
|
||||
}
|
||||
|
||||
Expression PredictionInterval::shallowReduce(Context& context, Preferences::AngleUnit angleUnit) {
|
||||
Expression * e = Expression::shallowReduce(context, angleUnit);
|
||||
Expression * e = Expression::defaultShallowReduce(context, angleUnit);
|
||||
if (e != this) {
|
||||
return e;
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@ Expression * RealPart::clone() const {
|
||||
}
|
||||
|
||||
Expression RealPart::shallowReduce(Context& context, Preferences::AngleUnit angleUnit) {
|
||||
Expression * e = Expression::shallowReduce(context, angleUnit);
|
||||
Expression * e = Expression::defaultShallowReduce(context, angleUnit);
|
||||
if (e != this) {
|
||||
return e;
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@ Expression * Round::clone() const {
|
||||
}
|
||||
|
||||
Expression Round::shallowReduce(Context& context, Preferences::AngleUnit angleUnit) {
|
||||
Expression * e = Expression::shallowReduce(context, angleUnit);
|
||||
Expression * e = Expression::defaultShallowReduce(context, angleUnit);
|
||||
if (e != this) {
|
||||
return e;
|
||||
}
|
||||
|
||||
@@ -33,7 +33,7 @@ std::complex<T> Sine::computeOnComplex(const std::complex<T> c, Preferences::Ang
|
||||
}
|
||||
|
||||
Expression Sine::shallowReduce(Context& context, Preferences::AngleUnit angleUnit) {
|
||||
Expression * e = Expression::shallowReduce(context, angleUnit);
|
||||
Expression * e = Expression::defaultShallowReduce(context, angleUnit);
|
||||
if (e != this) {
|
||||
return e;
|
||||
}
|
||||
|
||||
@@ -37,7 +37,7 @@ std::complex<T> SquareRoot::computeOnComplex(const std::complex<T> c, Preference
|
||||
}
|
||||
|
||||
Expression SquareRoot::shallowReduce(Context& context, Preferences::AngleUnit angleUnit) {
|
||||
Expression * e = Expression::shallowReduce(context, angleUnit);
|
||||
Expression * e = Expression::defaultShallowReduce(context, angleUnit);
|
||||
if (e != this) {
|
||||
return e;
|
||||
}
|
||||
|
||||
@@ -58,7 +58,7 @@ Expression SubtractionNode::shallowReduce(Context& context, Preferences::AngleUn
|
||||
}
|
||||
|
||||
Expression Subtraction::shallowReduce(Context& context, Preferences::AngleUnit angleUnit) const {
|
||||
Expression e = Expression::shallowReduce(context, angleUnit);
|
||||
Expression e = Expression::defaultShallowReduce(context, angleUnit);
|
||||
if (e.type() == ExpressionNode::Type::AllocationFailure || e.type() == ExpressionNode::Type::Undefined ) { //TODO use Expression method to make the ||
|
||||
return e;
|
||||
}
|
||||
|
||||
@@ -34,7 +34,7 @@ std::complex<T> Tangent::computeOnComplex(const std::complex<T> c, Preferences::
|
||||
}
|
||||
|
||||
Expression Tangent::shallowReduce(Context& context, Preferences::AngleUnit angleUnit) {
|
||||
Expression * e = Expression::shallowReduce(context, angleUnit);
|
||||
Expression * e = Expression::defaultShallowReduce(context, angleUnit);
|
||||
if (e != this) {
|
||||
return e;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user