mjc

org.multijava.mjc
Interface MJTopLevelDeclaration

All Known Implementing Classes:
MJTopLevelMethodDeclaration

public interface MJTopLevelDeclaration

This interface is implemented by all classes that represent top-level declarations in MultiJava, i.e., all open-class declarations.


Method Summary
 void accept(MjcVisitor p)
          Accepts the specified visitor
 CMember checkInterface(CContextType context)
          Checks the basic interfaces to make sure things generally look OK.
 CType getOpenClassType()
          Returns the type that this open member extends
 boolean isExternal()
          Indicates whether this member is external.
 

Method Detail

accept

public void accept(MjcVisitor p)
Accepts the specified visitor

Parameters:
p - the visitor

getOpenClassType

public CType getOpenClassType()
Returns the type that this open member extends

Returns:
a class representing the type extended by this open member

isExternal

public boolean isExternal()
Indicates whether this member is external.

Returns:
a flag indicating whether this member is external

checkInterface

public CMember checkInterface(CContextType context)
                                throws PositionedError
Checks the basic interfaces to make sure things generally look OK. This pass gathers information about the type signatures of everything (imported class files, classes being compiled, methods, fields, etc...) needed for the later passes. This information is stored in a context hierarchy that is bound to the AST.

Returns:
a representation of the member iff no errors are detected
Throws:
PositionedError - if any checks fail

mjc

mjc is Copyright (C) 2000-2004 by Iowa State University and is distributed under the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. mjc is based in part on the Kopi project Copyright (C) 1990-99 DMS Decision Management Systems Ges.m.b.H.