Main Page | Packages | Class Hierarchy | Class List | Directories | File List | Class Members | Related Pages

TipoClasse.java

Go to the documentation of this file.
00001 package plp.orientadaObjetos1.util;
00002 
00003 import plp.orientadaObjetos1.excecao.declaracao.ClasseNaoDeclaradaException;
00004 import plp.orientadaObjetos1.expressao.leftExpression.Id;
00005 import plp.orientadaObjetos1.memoria.AmbienteCompilacao;
00006 
00010 public class TipoClasse implements Tipo {
00011 
00015     protected Id tipoClasse;
00016 
00020     public static final Id NULL = new Id("NULL");
00021 
00025     public static final Tipo TIPO_NULL = new TipoClasse(NULL);
00026 
00032      public TipoClasse(Id tipoClasse) {
00033         this.tipoClasse = tipoClasse;
00034      }
00035 
00036 
00043      public TipoClasse(TipoGeneric generic) {
00044         this.tipoClasse = generic.getTipo();
00045     }
00046 
00047 
00053     public Id getTipo() {
00054         return tipoClasse;
00055     }
00056 
00057 
00065     public boolean eValido(AmbienteCompilacao ambiente)
00066          throws ClasseNaoDeclaradaException {
00067         boolean resposta = false;
00068         try{
00069              resposta =  (tipoClasse == NULL) || (ambiente.getDefClasse(tipoClasse) != null);
00070          }
00071          catch(ClasseNaoDeclaradaException c){
00072               resposta = false;
00073          }
00074          return resposta;
00075     }
00076 
00083     public boolean equals(Object obj) {
00084         return (obj instanceof TipoClasse) &&
00085                ((TipoClasse)obj).tipoClasse.equals(this.tipoClasse);
00086     }
00091     public String toString() {
00092         return tipoClasse.toString();
00093     }
00094 }

Generated on Mon Aug 8 20:20:48 2005 for Linguagem OO1 - Generics by  doxygen 1.4.4