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 Summary
Fields Modifier and Type Field Description static Method
matchPatternMethod
static ClassType
typePattern
-
Constructor Summary
Constructors Constructor Description Pattern()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description Object[]
match(Object obj)
Match this Pattern against an object.abstract boolean
match(Object obj, Object[] vars, int start_vars)
Match this Pattern against an Object.void
print(Consumer out)
abstract int
varCount()
-
-
-
Method Detail
-
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 againstvars
- the "pattern variable" values extracted from obj go herestart_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 interfacegnu.kawa.format.Printable
-
-