blob: 961ac5f51289f1d83d6eae13e06a06541910ec23 [file] [log] [blame]
package com.intellij.tasks.jira.jql.psi.impl;
import com.intellij.lang.ASTNode;
import com.intellij.tasks.jira.jql.JqlTokenTypes;
import com.intellij.tasks.jira.jql.psi.JqlElementVisitor;
import com.intellij.tasks.jira.jql.psi.JqlOperand;
import com.intellij.tasks.jira.jql.psi.JqlWasClause;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
/**
* @author Mikhail Golubev
*/
public class JqlWasClauseImpl extends JqlClauseWithHistoryPredicatesImpl implements JqlWasClause {
public JqlWasClauseImpl(@NotNull ASTNode node) {
super(node);
}
@Override
public void accept(JqlElementVisitor visitor) {
visitor.visitJqlWasClause(this);
}
/**
* Operand can be missing in malformed query.
*/
@Nullable
@Override
public JqlOperand getOperand() {
return findChildByClass(JqlOperand.class);
}
@NotNull
@Override
public Type getType() {
boolean hasNot = getNode().findChildByType(JqlTokenTypes.NOT_KEYWORD) != null;
boolean hasIn = getNode().findChildByType(JqlTokenTypes.IN_KEYWORD) != null;
if (hasIn && hasNot) {
return Type.WAS_NOT_IN;
}
else if (hasIn) {
return Type.WAS_IN;
}
else if (hasNot) {
return Type.WAS_NOT;
}
else {
return Type.WAS;
}
}
}