Argument node

This commit is contained in:
Maxim Shafirov
2011-01-10 01:56:18 +03:00
parent 5311c7511b
commit caa5d3cc95
@@ -3,6 +3,7 @@ package org.jetbrains.jet.lang.psi;
import com.intellij.lang.ASTNode; import com.intellij.lang.ASTNode;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import org.jetbrains.jet.lexer.JetTokens;
/** /**
* @author max * @author max
@@ -20,4 +21,21 @@ public class JetArgument extends JetElement {
public JetExpression getArgumentExpression() { public JetExpression getArgumentExpression() {
return findChildByClass(JetExpression.class); return findChildByClass(JetExpression.class);
} }
public String getArgumentName() {
ASTNode firstChildNode = getNode().getFirstChildNode();
return firstChildNode.getElementType() == JetTokens.IDENTIFIER ? firstChildNode.getText() : null;
}
public boolean isNamed() {
return getArgumentName() != null;
}
public boolean isOut() {
return findChildByType(JetTokens.OUT_KEYWORD) != null;
}
public boolean isRef() {
return findChildByType(JetTokens.REF_KEYWORD) != null;
}
} }