From caa5d3cc95b321951db05355f2535949855d315d Mon Sep 17 00:00:00 2001 From: Maxim Shafirov Date: Mon, 10 Jan 2011 01:56:18 +0300 Subject: [PATCH] Argument node --- .../jetbrains/jet/lang/psi/JetArgument.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/idea/src/org/jetbrains/jet/lang/psi/JetArgument.java b/idea/src/org/jetbrains/jet/lang/psi/JetArgument.java index 4d6a3f26b28..7b39b0810b0 100644 --- a/idea/src/org/jetbrains/jet/lang/psi/JetArgument.java +++ b/idea/src/org/jetbrains/jet/lang/psi/JetArgument.java @@ -3,6 +3,7 @@ package org.jetbrains.jet.lang.psi; import com.intellij.lang.ASTNode; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import org.jetbrains.jet.lexer.JetTokens; /** * @author max @@ -20,4 +21,21 @@ public class JetArgument extends JetElement { public JetExpression getArgumentExpression() { 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; + } }