use of org.elixir_lang.psi.stub.call.Stub in project intellij-elixir by KronicDeth.
the class ElixirPsiImplUtil method resolvedFinalArity.
@Contract(pure = true)
@NotNull
public static int resolvedFinalArity(@NotNull final org.elixir_lang.psi.call.StubBased<Stub> stubBased) {
Stub stub = stubBased.getStub();
Integer resolvedFinalArity;
if (stub != null) {
resolvedFinalArity = stub.resolvedFinalArity();
} else {
resolvedFinalArity = resolvedFinalArity((Call) stubBased);
}
if (resolvedFinalArity == null) {
resolvedFinalArity = 0;
}
return resolvedFinalArity;
}
use of org.elixir_lang.psi.stub.call.Stub in project intellij-elixir by KronicDeth.
the class ElixirPsiImplUtil method resolvedModuleName.
/**
* Similar to {@link moduleName}, but takes into account `alias`es and `import`s.
*
* @param element
* @param newName
* @return
*/
@NotNull
public static String resolvedModuleName(@NotNull final Unqualified unqualified) {
Call unqualifiedCall = (Call) unqualified;
Stub stub = null;
if (unqualifiedCall instanceof org.elixir_lang.psi.call.StubBased) {
org.elixir_lang.psi.call.StubBased<Stub> unqualifiedNamed = (org.elixir_lang.psi.call.StubBased<Stub>) unqualifiedCall;
stub = unqualifiedNamed.getStub();
}
String resolvedModuleName;
if (stub != null) {
resolvedModuleName = stub.resolvedModuleName();
} else {
// TODO handle `import`s
resolvedModuleName = KERNEL;
}
//noinspection ConstantConditions
return resolvedModuleName;
}
use of org.elixir_lang.psi.stub.call.Stub in project intellij-elixir by KronicDeth.
the class ElixirPsiImplUtil method resolvedFunctionName.
@Contract(pure = true)
@NotNull
public static String resolvedFunctionName(@NotNull final org.elixir_lang.psi.call.StubBased<Stub> stubBased) {
Stub stub = stubBased.getStub();
String resolvedFunctionName;
if (stub != null) {
resolvedFunctionName = stub.resolvedFunctionName();
} else {
resolvedFunctionName = resolvedFunctionName((Call) stubBased);
}
//noinspection ConstantConditions
return resolvedFunctionName;
}
use of org.elixir_lang.psi.stub.call.Stub in project intellij-elixir by KronicDeth.
the class ElixirPsiImplUtil method resolvedFunctionName.
@Nullable
public static String resolvedFunctionName(@NotNull final UnqualifiedNoArgumentsCall<Stub> unqualifiedNoArgumentsCall) {
Stub stub = unqualifiedNoArgumentsCall.getStub();
String resolvedFunctionName;
if (stub != null) {
resolvedFunctionName = stub.resolvedFunctionName();
} else {
// TODO handle `import`s and determine whether actually local variable
resolvedFunctionName = unqualifiedNoArgumentsCall.functionName();
}
return resolvedFunctionName;
}
use of org.elixir_lang.psi.stub.call.Stub in project intellij-elixir by KronicDeth.
the class ElixirPsiImplUtil method hasDoBlockOrKeyword.
public static boolean hasDoBlockOrKeyword(@NotNull final StubBased<Stub> stubBased) {
Stub stub = stubBased.getStub();
boolean has;
if (stub != null) {
has = stub.hasDoBlockOrKeyword();
} else {
has = hasDoBlockOrKeyword((Call) stubBased);
}
return has;
}
Aggregations