Arguments/named arguments

This commit is contained in:
Maxim Shafirov
2011-01-09 00:35:08 +03:00
parent 851d83272e
commit 6fc5ed07cd
3 changed files with 29 additions and 1 deletions
+1 -1
View File
@@ -36,7 +36,6 @@ public interface JetNodeTypes {
// TODO: Not sure if we really need separate PSI nodes for the class parameters?
JetNodeType PRIMARY_CONSTRUCTOR_PARAMETERS_LIST = new JetNodeType("PRIMARY_CONSTRUCTOR_PARAMETERS_LIST", JetParameterList.class);
JetNodeType PRIMARY_CONSTRUCTOR_PARAMETER = new JetNodeType("PRIMARY_CONSTRUCTOR_PARAMETER", JetParameter.class);
JetNodeType NAMED_ARGUMENT = new JetNodeType("NAMED_ARGUMENT");
JetNodeType CLASS_BODY = new JetNodeType("CLASS_BODY", JetClassBody.class);
JetNodeType IMPORT_DIRECTIVE = new JetNodeType("IMPORT_DIRECTIVE", JetImportDirective.class);
JetNodeType IMPORTED = new JetNodeType("IMPORTED");
@@ -48,6 +47,7 @@ public interface JetNodeTypes {
JetNodeType TYPE_ARGUMENT_LIST = new JetNodeType("TYPE_ARGUMENT_LIST", JetTypeArgumentList.class);
JetNodeType VALUE_ARGUMENT_LIST = new JetNodeType("VALUE_ARGUMENT_LIST", JetArgumentList.class);
JetNodeType VALUE_ARGUMENT = new JetNodeType("VALUE_ARGUMENT", JetArgument.class);
JetNodeType NAMED_ARGUMENT = new JetNodeType("NAMED_ARGUMENT");
JetNodeType TYPE_REFERENCE = new JetNodeType("TYPE_REFERENCE", JetTypeReference.class);
JetNodeType LABELED_TUPLE_ENTRY = new JetNodeType("LABELED_TUPLE_ENTRY");
JetNodeType TUPLE_TYPE = new JetNodeType("TUPLE_TYPE");
@@ -2,6 +2,7 @@ package org.jetbrains.jet.lang.psi;
import com.intellij.lang.ASTNode;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
/**
* @author max
@@ -14,4 +15,9 @@ public class JetArgument extends JetElement {
public void accept(JetVisitor visitor) {
visitor.visitArgument(this);
}
@Nullable
public JetExpression getArgumentExpression() {
return findChildByClass(JetExpression.class);
}
}
@@ -0,0 +1,22 @@
package org.jetbrains.jet.lang.psi;
import com.intellij.lang.ASTNode;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.jet.lexer.JetTokens;
/**
* @author max
*/
public class JetNamedArgumentImpl extends JetArgument {
public JetNamedArgumentImpl(@NotNull ASTNode node) {
super(node);
}
public String getParameterName() {
return getParameterNameNode().getText();
}
private ASTNode getParameterNameNode() {
return getNode().findChildByType(JetTokens.IDENTIFIER);
}
}