summaryrefslogtreecommitdiff
path: root/sources/scalac/ast/AbstractTreeCopyFactory.java
blob: 358d468cd4c477473ee31966cbd13b8476e9ecb0 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
/*     ____ ____  ____ ____  ______                                     *\
**    / __// __ \/ __// __ \/ ____/    SOcos COmpiles Scala             **
**  __\_ \/ /_/ / /__/ /_/ /\_ \       (c) 2002, LAMP/EPFL              **
** /_____/\____/\___/\____/____/                                        **
**                                                                      **
\*                                                                      */

// $Id$

package scalac.ast;

import scalac.ast.*;

/**
 * Abstract superclass for all TreeCopyFactories, which provides only
 * the code to copy the attribution from the "old" to the "new" tree.
 *
 * @author Michel Schinz
 * @version 1.0
 */

public abstract class AbstractTreeCopyFactory implements TreeCopyFactory {
    public void attribute(Tree newTree, Tree oldTree) {
        if (newTree != oldTree) {
            newTree.type = oldTree.type;
            if (newTree.hasSymbol())
                newTree.setSymbol(oldTree.symbol());
        }
    }
}