package me.coley.recaf.search;

/**
 * Type of query, useful for switching over query implementation types.
 *
 * @author Matt
 */
public enum QueryType {
	/**
	 * Match a class if it matches a given name.
	 */
	CLASS_NAME,
	/**
	 * Match a class if it inherits a given class.
	 */
	CLASS_INHERITANCE,
	/**
	 * Match a member if it matches a given definition.
	 */
	MEMBER_DEFINITION,
	/**
	 * TODO: Remove
	 *  - Outdated since people can do overlapping results of CLASS_INHERITANCE/MEMBER_DEF
	 */
	MEMBER_INHERITANCE,
	/**
	 * Match an instruction if it references a given definition.
	 */
	USAGE,
	/**
	 * Match an instruction / field-constant if it's string value matches a given pattern.
	 */
	STRING,
	/**
	 * Match an instruction if it contains a given value.
	 */
	VALUE,
	/**
	 * Match a method if it contains the given sequence of instruction patterns.
	 */
	INSTRUCTION_TEXT
}

package me.coley.recaf.search;

/**
 * Type of query, useful for switching over query implementation types.
 *
 * @author Matt
 */
public enum QueryType {
	/**
	 * Match a class if it matches a given name.
	 */
	CLASS_NAME,
	/**
	 * Match a class if it inherits a given class.
	 */
	CLASS_INHERITANCE,
	/**
	 * Match a member if it matches a given definition.
	 */
	MEMBER_DEFINITION,
	/**
	 * Match an instruction if it references a given definition.
	 */
	USAGE,
	/**
	 * Match an instruction / field-constant if it's string value matches a given pattern.
	 */
	STRING,
	/**
	 * Match an instruction if it contains a given value.
	 */
	VALUE,
	/**
	 * TODO: Implement this
	 *  - Will need to support multiple consecutive insns that are incomplete
	 *  - Pass a List&lt;String&gt;? <br>
	 * Match a method if it contains the given sequence of instruction patterns.
	 */
	INSTRUCTION_TEXT
}

Remove unused query-type, see old removal note
Remove unused query-type, see old removal note
