import java.util.*;
import Jakarta.util.*;
import java.io.*;
public class JTSParseTree {
public TypeDeclaration firstType; // used for inheritance
public TypeDeclaration lastType;
public void phase2( AST_Program root ) throws Exception {
try {
root.prepare( ( JTSParseTree ) this );
}
catch ( Exception e ) {
e.printStackTrace();
throw e;
}
}
public void compose( JTSParseTree t ) {
// apply inheritance composition rule: const o whatever = const
// we could do better here, and make suer that the name of the
// const class, interface, etc. matches the name of whatever.
// in fact, we should. this will do for now.
if ( t.isExtension() )
root.compose( t.root, ( JTSParseTree ) this, t );
else {
AstNode.warning( "overrides previous results" );
root = t.root;
firstType = t.firstType;
lastType = t.lastType;
isExtension = t.isExtension;
}
}
}