Class FormalArgument

java.lang.Object
org.antlr.stringtemplate.language.FormalArgument

public class FormalArgument extends Object
Represents the name of a formal argument defined in a template: group test; test(a,b) : "$a$ $b$" t() : "blort" Each template has a set of these formal arguments or uses a placeholder object: UNKNOWN (indicating that no arguments were specified such as when a template is loaded from a file.st). Note: originally, I tracked cardinality as well as the name of an attribute. I'm leaving the code here as I suspect something may come of it later. Currently, though, cardinality is not used.
  • Field Details

    • OPTIONAL

      public static final int OPTIONAL
      See Also:
    • REQUIRED

      public static final int REQUIRED
      See Also:
    • ZERO_OR_MORE

      public static final int ZERO_OR_MORE
      See Also:
    • ONE_OR_MORE

      public static final int ONE_OR_MORE
      See Also:
    • suffixes

      public static final String[] suffixes
    • UNKNOWN

      public static final LinkedHashMap UNKNOWN
      When template arguments are not available such as when the user uses "new StringTemplate(...)", then the list of formal arguments must be distinguished from the case where a template can specify args and there just aren't any such as the t() template above.
    • name

      public String name
    • defaultValueST

      public StringTemplate defaultValueST
      If they specified name="value", store the template here
  • Constructor Details

    • FormalArgument

      public FormalArgument(String name)
    • FormalArgument

      public FormalArgument(String name, StringTemplate defaultValueST)
  • Method Details

    • getCardinalityName

      public static String getCardinalityName(int cardinality)
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object