Class FunctionDeclaration


public final class FunctionDeclaration extends Symbol
Represents a function declaration (function symbol). If the function is overloaded, it will serve as a singly linked list.
  • Constructor Details

    • FunctionDeclaration

      public FunctionDeclaration(int position, Modifiers modifiers, String name, List<Variable> parameters, Type returnType, boolean builtin, boolean entryPoint, int intrinsicKind)
  • Method Details

    • convert

      public static @Nullable FunctionDeclaration convert(@NonNull Context context, int pos, @NonNull Modifiers modifiers, @NonNull String name, @NonNull List<Variable> parameters, @NonNull Type returnType)
    • getKind

      public @NonNull Node.SymbolKind getKind()
      Specified by:
      getKind in class Symbol
      See Also:
    • getType

      public @NonNull Type getType()
      Specified by:
      getType in class Symbol
    • getReturnType

      public @NonNull Type getReturnType()
    • getIntrinsicKind

      public int getIntrinsicKind()
    • isIntrinsic

      public boolean isIntrinsic()
    • getDefinition

      public FunctionDefinition getDefinition()
    • setDefinition

      public void setDefinition(FunctionDefinition definition)
    • getParameters

      public List<Variable> getParameters()
    • getMangledName

      public @NonNull String getMangledName()
    • getNextOverload

      public @Nullable FunctionDeclaration getNextOverload()
    • setNextOverload

      public void setNextOverload(FunctionDeclaration overload)
      Sets the previously defined function symbol with the same function name.
    • getModifiers

      public Modifiers getModifiers()
    • isBuiltin

      public boolean isBuiltin()
    • isEntryPoint

      public boolean isEntryPoint()
    • resolveParameterTypes

      public @Nullable Type resolveParameterTypes(@NonNull List<Expression> arguments, @NonNull List<Type> outParameterTypes)
    • toString

      public @NonNull String toString()
      Specified by:
      toString in class Node
      Returns:
      a string representation of this AST node