/* * Copyright 2013 Guidewire Software, Inc. */ package gw.plugin.ij.lang.psi.api.statements.arguments; import com.intellij.psi.PsiElement; import com.intellij.util.IncorrectOperationException; import gw.plugin.ij.lang.psi.IGosuPsiElement; import gw.plugin.ij.lang.psi.api.expressions.IGosuExpression; import gw.plugin.ij.lang.psi.api.util.GosuNamedArgumentsOwner; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; public interface IGosuArgumentList extends IGosuPsiElement, GosuNamedArgumentsOwner { @NotNull IGosuExpression[] getExpressionArguments(); @NotNull PsiElement[] getAllArguments(); @NotNull IGosuArgumentList replaceWithArgumentList(IGosuArgumentList newArgList) throws IncorrectOperationException; boolean isIndexPropertiesList(); @Nullable PsiElement getLeftParen(); @Nullable PsiElement getRightParen(); int getExpressionArgumentIndex(IGosuExpression arg); @Nullable IGosuExpression removeArgument(int argNumber); @NotNull IGosuNamedArgument addNamedArgument(IGosuNamedArgument namedArgument); }