public override List <string> GetTodosOperadores() { List <string> nomeOperadores = base.GetTodosOperadores(); List <Classe> classesNativas = RepositorioDeClassesOO.Instance().GetClasses(); if (classesNativas != null) { for (int x = 0; x < classesNativas.Count; x++) { for (int y = 0; y < classesNativas[x].GetOperadores().Count; y++) { string nome = classesNativas[x].GetOperadores()[y].nome; if (nome != "") { int indexOperador = nomeOperadores.FindIndex(k => k.Equals(nome)); if (indexOperador == -1) { nomeOperadores.Add(nome); } } } } // for x } return(nomeOperadores); }
} // inicializaProducoesParaLinguagem() public Operador GetOperador(string nome, string nomeClasse) { Classe classe = RepositorioDeClassesOO.Instance().GetClasse(nomeClasse); if (classe != null) { List <Operador> operadores = classe.GetOperadores().FindAll(k => k.nome == nome); if ((operadores == null) || (operadores.Count == 0)) { return(null); } return(operadores[0]); } return(null); }
public override List <Operador> GetOperadores() { List <Operador> operadores = base.GetOperadores().ToList <Operador>(); List <Classe> classes = RepositorioDeClassesOO.Instance().GetClasses(); if ((classes != null) && (classes.Count > 0)) { for (int x = 0; x < classes.Count; x++) { List <Operador> operadoresDaClasse = classes[x].GetOperadores(); if ((operadoresDaClasse != null) && (operadoresDaClasse.Count > 0)) { operadores.AddRange(operadoresDaClasse); } } // for x } return(operadores); }
public static LinguagemOrquidea Instance() { if (linguagemOrquideaSingleton == null) { linguagemOrquideaSingleton = new LinguagemOrquidea(); if (RepositorioDeClassesOO.Instance().GetClasse(typeof(Objeto).Name) == null) { // importa as duas estruturas de dados da linguagem: Vetor, e Objeto. ImportadorDeClasses importer = new ImportadorDeClasses(); importer.ImportAClassFromApplication(typeof(Vetor)); importer.ImportAClassFromApplication(typeof(Objeto)); /* * List<Funcao> operadoresObjeto = new OperadoresImplementacao().GetImplentacao("parser.Objeto"); * List<Funcao> operadoresVetor = new OperadoresImplementacao().GetImplentacao("parse.Vetor"); */ } } return(linguagemOrquideaSingleton); }
} // GetClasses() private void adicionaClasse(Classe c) { Classes.Add(c); RepositorioDeClassesOO.Instance().RegistraUmaClasse(c); } // adicionaClasse()