KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > aspectj > compiler > base > ast > FormalDec


1 /* -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
2  *
3  * This file is part of the compiler and core tools for the AspectJ(tm)
4  * programming language; see http://aspectj.org
5  *
6  * The contents of this file are subject to the Mozilla Public License
7  * Version 1.1 (the "License"); you may not use this file except in
8  * compliance with the License. You may obtain a copy of the License at
9  * either http://www.mozilla.org/MPL/ or http://aspectj.org/MPL/.
10  *
11  * Software distributed under the License is distributed on an "AS IS" basis,
12  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
13  * for the specific language governing rights and limitations under the
14  * License.
15  *
16  * The Original Code is AspectJ.
17  *
18  * The Initial Developer of the Original Code is Xerox Corporation. Portions
19  * created by Xerox Corporation are Copyright (C) 1999-2002 Xerox Corporation.
20  * All Rights Reserved.
21  *
22  * Contributor(s):
23  */

24
25 package org.aspectj.compiler.base.ast;
26
27 import org.aspectj.compiler.base.*;
28 import org.aspectj.compiler.base.JavaCompiler;
29 import org.aspectj.compiler.base.CodeWriter;
30
31 /**
32   * @grammar modifiers typeD id (no initializer)
33   */

34
35 public class FormalDec extends VarDec {
36
37     public FormalDec(SourceLocation location, TypeD typeD, String JavaDoc id) {
38         this(location,new Modifiers(location,0), typeD, id, null);
39     }
40
41     //XXX only used by pointcut and advice to find unbound formals
42
public boolean isBound = false;
43
44     public String JavaDoc toString() {
45         return "FormalDec("+getTypeD().getString()+" "+getId()+")";
46     }
47
48     public boolean isField() { return false; }
49
50     public void unparse(CodeWriter writer) {
51         writeModifiers(writer);
52         writer.write(typeD);
53         writer.requiredSpace();
54         writer.write(id);
55     }
56
57     // ------------------------------
58
// INTRO from FlowCheckerPass
59

60     public void walkFlow(FlowCheckerPass w) {
61         w.setVars(w.getVars().addAssigned(this));
62     }
63
64     //BEGIN: Generated from @child and @property
65

66     public FormalDec(SourceLocation location, Modifiers _modifiers, TypeD _typeD, String JavaDoc _id, Expr _initializer) {
67         super(location, _modifiers, _typeD, _id, _initializer);
68
69     }
70     protected FormalDec(SourceLocation source) {
71         super(source);
72     }
73
74     public ASTObject copyWalk(CopyWalker walker) {
75         FormalDec ret = new FormalDec(getSourceLocation());
76         ret.preCopy(walker, this);
77         if (modifiers != null) ret.setModifiers( (Modifiers)walker.process(modifiers) );
78         if (typeD != null) ret.setTypeD( (TypeD)walker.process(typeD) );
79         ret.id = id;
80         if (initializer != null) ret.setInitializer( (Expr)walker.process(initializer) );
81         return ret;
82     }
83
84
85     public String JavaDoc getDefaultDisplayName() {
86         return "FormalDec(id: "+id+")";
87     }
88
89     //END: Generated from @child and @property
90
}
91
Popular Tags