Package kawa.lang

Class Pattern

java.lang.Object
kawa.lang.Pattern
All Implemented Interfaces:
gnu.kawa.format.Printable
Direct Known Subclasses:
AnyPat, EqualPat, ListPat, ListRepeatPat, PairPat, SyntaxPattern, VarListPat

public abstract class Pattern extends Object implements gnu.kawa.format.Printable
A Pattern is used to match against objects. E.g. it can be used to match against macro arguments.
  • Field Details

    • typePattern

      public static ClassType typePattern
    • matchPatternMethod

      public static final Method matchPatternMethod
  • Constructor Details

    • Pattern

      public Pattern()
  • Method Details

    • match

      public Object[] match(Object obj)
      Match this Pattern against an object.
      Parameters:
      obj - object to match against this pattern
      Returns:
      null on failure, or an array of bound pattern variables.
    • match

      public abstract boolean match(Object obj, Object[] vars, int start_vars)
      Match this Pattern against an Object.
      Parameters:
      obj - the Object to match against
      vars - the "pattern variable" values extracted from obj go here
      start_vars - where in vars to strt putting the varCount() values
      Returns:
      true iff the match succeeded.
    • varCount

      public abstract int varCount()
    • print

      public void print(Consumer out)
      Specified by:
      print in interface gnu.kawa.format.Printable