src.org.kiama.util.Patterns.scala Maven / Gradle / Ivy
/**
* This file is part of Kiama.
*
* Copyright (C) 2011-2012 Anthony M Sloane, Macquarie University.
*
* Kiama is free software: you can redistribute it and/or modify it under
* the terms of the GNU Lesser General Public License as published by the
* Free Software Foundation, either version 3 of the License, or (at your
* option) any later version.
*
* Kiama is distributed in the hope that it will be useful, but WITHOUT ANY
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for
* more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with Kiama. (See files COPYING and COPYING.LESSER.) If not, see
* .
*/
package org.kiama
package util
/**
* Patterns that are useful when processing trees.
*/
object Patterns {
import org.kiama.attribution.Attributable
/**
* Match if `x` is an `Attributable` value, returning a pair of `x`
* and its parent.
*/
object HasParent {
def unapply[T <: Attributable] (x : T) = Some (x, x.parent)
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy