Update of /cvsroot/nice/Nice/src/bossa/syntax
In directory sc8-pr-cvs1:/tmp/cvs-serv30856/src/bossa/syntax
Modified Files:
DefaultMethodImplementation.java ClassDefinition.java
Log Message:
Provide public accessors for tools working on Nice source.
Index: DefaultMethodImplementation.java
===================================================================
RCS file: /cvsroot/nice/Nice/src/bossa/syntax/DefaultMethodImplementation.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** DefaultMethodImplementation.java 11 Sep 2003 20:51:46 -0000 1.1
--- DefaultMethodImplementation.java 13 Sep 2003 00:39:53 -0000 1.2
***************
*** 22,26 ****
import bossa.util.User;
! class DefaultMethodImplementation extends MethodImplementation
{
DefaultMethodImplementation
--- 22,26 ----
import bossa.util.User;
! public class DefaultMethodImplementation extends MethodImplementation
{
DefaultMethodImplementation
Index: ClassDefinition.java
===================================================================
RCS file: /cvsroot/nice/Nice/src/bossa/syntax/ClassDefinition.java,v
retrieving revision 1.94
retrieving revision 1.95
diff -C2 -d -r1.94 -r1.95
*** ClassDefinition.java 24 Aug 2003 18:07:28 -0000 1.94
--- ClassDefinition.java 13 Sep 2003 00:39:53 -0000 1.95
***************
*** 38,42 ****
}
! static class Interface extends ClassDefinition
{
Interface(LocatedString name,
--- 38,42 ----
}
! public static class Interface extends ClassDefinition
{
Interface(LocatedString name,
***************
*** 188,192 ****
}
! static class Class extends ClassDefinition
{
Class(LocatedString name,
--- 188,192 ----
}
! public static class Class extends ClassDefinition
{
Class(LocatedString name,
***************
*** 246,251 ****
--- 246,272 ----
TypeConstructor getSuperClass() { return superClass; }
+ public ClassDefinition.Class getSuperClassDefinition()
+ {
+ return (ClassDefinition.Class) ClassDefinition.get(superClass);
+ }
+
mlsub.typing.Interface[] getInterfaces() { return impl; }
+ public ClassDefinition.Interface[] getImplementedInterfaces()
+ {
+ if (impl == null) return null;
+ List res = new LinkedList();
+
+ for (int i = 0; i < impl.length; i++)
+ {
+ Object itf = ClassDefinition.get(impl[i].associatedTC());
+ if (itf != null)
+ res.add(itf);
+ }
+
+ return (ClassDefinition.Interface[])
+ res.toArray(new ClassDefinition.Interface[res.size()]);
+ }
+
void resolveClass()
{
***************
*** 265,275 ****
}
! // Resolve the superclass first.
! if (superClass != null)
! {
! ClassDefinition d = ClassDefinition.get(superClass);
! if (d != null)
! d.resolve();
! }
super.resolveClass();
--- 286,292 ----
}
! ClassDefinition d = getSuperClassDefinition();
! if (d != null)
! d.resolve();
super.resolveClass();
|