org.evosuite.symbolic.expr.Operator Maven / Gradle / Ivy
The newest version!
/**
* Copyright (C) 2010-2018 Gordon Fraser, Andrea Arcuri and EvoSuite
* contributors
*
* This file is part of EvoSuite.
*
* EvoSuite is free software: you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as published
* by the Free Software Foundation, either version 3.0 of the License, or
* (at your option) any later version.
*
* EvoSuite is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with EvoSuite. If not, see .
*/
//
//Copyright (C) 2005 United States Government as represented by the
//Administrator of the National Aeronautics and Space Administration
//(NASA). All Rights Reserved.
//
//This software is distributed under the NASA Open Source Agreement
//(NOSA), version 1.3. The NOSA has been approved by the Open Source
//Initiative. See the file NOSA-1.3-JPF at the top of the distribution
//directory tree for the complete NOSA document.
//
//THE SUBJECT SOFTWARE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY OF ANY
//KIND, EITHER EXPRESSED, IMPLIED, OR STATUTORY, INCLUDING, BUT NOT
//LIMITED TO, ANY WARRANTY THAT THE SUBJECT SOFTWARE WILL CONFORM TO
//SPECIFICATIONS, ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR
//A PARTICULAR PURPOSE, OR FREEDOM FROM INFRINGEMENT, ANY WARRANTY THAT
//THE SUBJECT SOFTWARE WILL BE ERROR FREE, OR ANY WARRANTY THAT
//DOCUMENTATION, IF PROVIDED, WILL CONFORM TO THE SUBJECT SOFTWARE.
//
package org.evosuite.symbolic.expr;
public enum Operator {
//ALL with ### are not yet implemented in the execute of the according expression
// Simple operators
NEG("-",1),//negate
DIV("/", 2), //
MUL("*", 2), //
MINUS("-", 2), //
PLUS("+", 2), //
REM("%",2),//Remainder
// Logical operators
AND("&", 2), //
OR("|", 2), //
XOR("^", 2), //
// special operators
D2L("d2l", 1), // isn't used anywhere
L2D("l2d", 1), // isn't used anywhere
CMP("cmp", 2), // this is automatically removed so don't need it in execute
// Integer operators
IAND("iand", 2), //
IOR("ior", 2), //
SHR("ishr", 2), //
SHL("ishl", 2), //
USHR("iushr", 2), //
IXOR("ixor", 2), //
// More complex Math operators
//Unary
ABS("abs", 1), //
ACOS("acos", 1), //
ASIN("asin", 1), //
ATAN("atan", 1), //
CBRT("cbrt", 1), //
CEIL("ceil",1), //
COS("cos", 1), //
COSH("cosh", 1), //
EXP("exp", 1), //
EXPM1("expm1", 1), //
FLOOR("floor",1), //
GETEXPONENT("getExponent", 1), //
LOG("log", 1), //
LOG10("log10", 1), //
LOG1P("log1p", 1), //
NEXTUP("nextUp", 1), //
RINT("rint", 1), //
ROUND("round", 1), // this is never used
SIGNUM("signum", 1), //
SIN("sin", 1), //
SINH("sinh", 1), //
SQRT("sqrt", 1), //
TAN("tan", 1), //
TANH("tanh", 1), //
TODEGREES("toDegrees", 1), //
TORADIANS("toRadians", 1), //
ULP("ulp", 1), //
//Binary
ATAN2("atan2", 2), // ###
COPYSIGN("copySign", 2), // ###
HYPOT("hypot", 2), // ###
IEEEREMAINDER("IEEEremainder", 2), // ###
MAX("max", 2), // ###
MIN("min", 2), // ###
NEXTAFTER("nextAfter", 2), // ###
POW("pow", 2), // ###
SCALB("scalb", 2), // ###
// String comparisons
EQUALSIGNORECASE("equalsIgnoreCase", 2),
EQUALS("equals", 2),
ENDSWITH("endsWith", 2),
CONTAINS("contains", 2),
STARTSWITH("startsWith", 3),
REGIONMATCHES("regionMatches", 6),
PATTERNMATCHES("patternMatches", 2),
APACHE_ORO_PATTERN_MATCHES("apacheOroPatternMatches", 2),
// character operators
ISLETTER("isLetter",1),
ISDIGIT("isDigit",1),
GETNUMERICVALUE("getNumericValue",1),
// String operators
TRIM("trim", 1),
LENGTH("length", 1),
TOLOWERCASE("toLowerCase", 1),
TOUPPERCASE("toUpperCase", 1),
IS_INTEGER("isInteger", 1),
COMPARETO("compareTo", 2),
COMPARETOIGNORECASE("compareToIgnoreCase", 2),
CONCAT("concat", 2),
APPEND_BOOLEAN("append_boolean", 2),
APPEND_STRING("append_String", 2),
APPEND_REAL("append_Real",2),
APPEND_INTEGER("append_Integer", 2),
APPEND_CHAR("append_Char", 2),
INDEXOFC("indexOfC", 2),
INDEXOFS("indexOfS", 2),
LASTINDEXOFC("lastIndexOfC", 2),
LASTINDEXOFS("lastIndexOfS", 2),
CHARAT("charAt", 2),
REPLACEC("replacec", 3),
REPLACECS("replacecs", 3),
REPLACEALL("replaceAll", 3),
REPLACEFIRST("replaceFirst", 3),
INDEXOFCI("indexOfCI", 3),
INDEXOFSI("indexOfSI", 3),
LASTINDEXOFCI("lastIndexOfCI", 3),
LASTINDEXOFSI("lastIndexOfSI", 3),
SUBSTRING("substring", 3);
private final String str;
private final int arity;
Operator(String str, int arity) {
this.str = str;
this.arity = arity;
}
/**
* Getter for the field arity
.
*
* @return a int.
*/
public int getArity() {
return arity;
}
/** {@inheritDoc} */
@Override
public String toString() {
return " " + str + " ";
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy