Fatti :
A.- O._, nato nel 1949, aveva beneficiato di una rendita intera dell'assicurazione per l'invalidità dal 1° marzo 1978 al 31 dicembre 1985. La stessa prestazione era stata ripristinata dal 1° gennaio 1991 al 31 dicembre 1992, mentre dal 1° gennaio 1993 venne concessa una mezza rendita. A partire dal 1° aprile 1995 l'interessato è stato nuovamente posto al beneficio di una rendita intera, il grado d'invalidità essendo stato fissato al 70 %. Dal 1987 al 1990 O._ aveva svolto attività lucrativa presso la E._ SA, nell'ambito della qual ditta disponeva del diritto di firma. A favore dei propri quadri la società, in qualità di datore di lavoro, in data 11 dicembre 1987 aveva concluso, con effetto dal 1° novembre dello stesso anno, un contratto di previdenza con la Fondazione comune assicurazioni generali Svizzera francese e Ticino (la Fondazione), rappresentata dalla Rentenanstalt. In occasione della notifica per l'assicurazione, essa aveva indicato che O._ era completamente abile al lavoro e che il suo guadagno annuo ammontava a fr. 156'000. --.
Con determinazione del 17 luglio 1991, la Fondazione ha riconosciuto l'assicurato incapace al guadagno nella misura del 100 %, assegnandogli dal 5 aprile 1990 la relativa rendita d'invalidità della previdenza professionale sovraobbligatoria.
B.- L'11 febbraio 1993 la Rentenanstalt ha comunicato a O._ di non ritenersi più legata nei suoi confronti al contratto di previdenza stipulato dalla ditta, in quanto le prestazioni fornite erano state corrisposte in base a false informazioni date dall'assicurato, sia relativamente alla sua abilità lavorativa che in merito al guadagno annuo dichiarato. L'assicuratrice ha confermato tale dichiarazione il 5 luglio 1993 e ha poi chiesto, il 12 agosto seguente, la restituzione delle rendite già versate sino al 30 settembre 1992, pari ad un importo di fr. 11'492. --.
C.- L'interessato, rappresentato dall'avvocato P. Luisoni di Bellinzona, ha inoltrato al Tribunale delle assicurazioni del Cantone Ticino una petizione 7 giugno 1996, con la quale chiedeva che la Rentenanstalt, rispettivamente la Fondazione, fosse tenuta a riconoscergli le prestazioni spettantigli.
Congiunte le due cause ed esperiti ulteriori accertamenti, la Corte cantonale in data 4 novembre 1998 ha per mancanza di legittimazione passiva respinto la petizione inoltrata avverso la Rentenanstalt (dispositivo no. 2), mentre ha accolto quella presentata nei confronti della Fondazione (dispositivo no. 1), condannando quest'ultima a versare all'insorgente pure ripetibili (dispositivo no. 3). Ha in sostanza giudicato che la Fondazione doveva riconoscere a O._ il diritto alla rendita d'invalidità dal 5 aprile 1990 e anche dopo il 30 settembre 1992, oltre a interessi del 5 % dal 7 giugno 1996.
D.- La predetta Fondazione, patrocinata dall'avvocato F. Ramelli di Locarno, interpone al Tribunale federale delle assicurazioni un ricorso di diritto amministrativo contro la pronunzia cantonale. Protestate spese e ripetibili, chiede in via principale l'annullamento dei dispositivi no. 1 e 3 del giudizio. In via subordinata, postula che in parziale accoglimento del ricorso sia annullato il dispositivo no. 1 della pronunzia impugnata, la petizione essendo accolta entro i limiti da essa definiti nel gravame circa le basi di calcolo della rendita e degli interessi di mora, con conseguente riforma del dispositivo no. 3. In via ancora più subordinata, domanda che gli atti siano ritornati all'istanza cantonale per nuovo giudizio.
Chiamato a determinarsi, O._ conclude, tramite il suo legale, chiedendo la conferma della pronunzia cantonale, il corretto ammontare della rendita dovendo essere fissato in fr. 23'400. -- annui. Fa altresì valere che atti importanti sarebbero stati sottratti alla cognizione del Tribunale cantonale, ciò che la ricorrente contesta formalmente. Dal canto suo, l'Ufficio federale delle assicurazioni sociali propone l'accoglimento del ricorso.
Con effetto dal 17 gennaio 2000 è stato pronunciato il fallimento dell'opponente.

Diritto :
1.- Oggetto della vertenza in esame è il tema di sapere se fosse dato diritto a prestazioni previdenziali derivanti dal contratto concluso nel 1987 tra la società E._ SA e la Fondazione.
2.- Nei considerandi del contestato giudizio l'autorità di ricorso cantonale ha debitamente illustrato sia le disposizioni legali e di ordinanza applicabili in concreto, sia la normativa dedotta dal regolamento dell'assicuratrice ed i principi di giurisprudenza cui deve essere fatto capo nel caso di specie. A questa esposizione si può pertanto fare riferimento e prestare adesione.
3.- a) O._, affetto da epilessia e da turbe psichiche, segnatamente da depressioni recidivanti, è stato posto al beneficio di una rendita dell'assicurazione per l'invalidità dal 1° marzo 1978 al 31 dicembre 1985 ed a partire dal 1° gennaio 1991 in poi. Nel lasso di tempo intercorso tra questi due periodi d'invalidità - il primo essendo stato interrotto su formale richiesta dell'interessato medesimo - egli è stato sovente incapace al lavoro, in particolare da gennaio a marzo e da agosto a dicembre 1986, da gennaio a febbraio, in aprile e da agosto a fine settembre 1987, nonché nel 1988 (circa per tre mesi), nel 1989 (pure durante tre mesi) e nel 1990 praticamente durante tutto l'anno. Ciò nonostante, da questa fattispecie la precedente istanza ha dedotto che O._, al momento della conclusione del contratto di previdenza, avvenuta l'11 dicembre 1987, era completamente abile al lavoro e non aveva quindi potuto aver risposto inesattamente dichiarando in un questionario di affiliazione che la sua abilità fosse integrale. A mente della Corte cantonale, per quanto riguardava le dichiarazioni relative al salario, asseritamente troppo elevato rispetto a quello effettivamente percepito, l'assicuratrice avrebbe conosciuto o dovuto conoscere le reali condizioni salariali dell'interessato. Di conseguenza, certamente non potendosi ammettere che O._ avesse indotto in errore l'Istituto di previdenza, quest'ultimo a torto era receduto dal contratto in oggetto.
b) Dal canto suo, la Fondazione considera tra l'altro che nel caso in parola, pur avendo l'interessato chiesto l'adesione all'assicurazione collettiva in un momento in cui era, nel suddetto lasso di tempo, capace al lavoro, la stipulazione dev'essere ritenuta nulla giusta l'art. 9 LCA, disposto secondo il quale il contratto di assicurazione è nullo se, al momento in cui fu conchiuso, il rischio era già scomparso o il sinistro era già accaduto.
Ora, il parere dell'Istituto ricorrente non può che essere condiviso. Non si vede in effetti come possa essere tutelato un istante che, affetto da anni da importanti turbe ricorrenti, scelga un episodico momento di capacità lavorativa per aderire a un fondo, traendo profitto dal fatto che, come in concreto, il contenuto delle domande postegli sia lapidario, nel senso che gli si chiede soltanto di indicare se sia capace al lavoro. La considerazione che precede è tantopiù valida in concreto quando si consideri, da un lato, che l'interessato aveva prima della domanda d'adesione spontaneamente fatto sì che la rendita d'invalidità gli fosse soppressa e, d'altro lato, si ricordi che al momento in questione in cui venne concluso il contratto di previdenza l'interessato disponeva del diritto di firma nell'ambito della piccola ditta alle cui dipendenze egli era attivo. Né, contrariamente a quanto asserito dai giudici cantonali, sussistono sufficienti elementi idonei a far pensare che la situazione valetudinaria del richiedente potesse essere conosciuta dalla Fondazione nella misura richiesta perché essa non dovesse recedere dal contratto nonostante la reticenza. Nemmeno può legittimamente essere richiamata la giurisprudenza ricordata dai primi giudici, pubblicata in SZS 1998 pag. 372 segg. In quel caso si trattava infatti di un contadino che, affetto da turbe dorsali, aveva reputato essere le medesime di scarso rilievo, normali in un'attività agricola pesante. Ben diversa da tale fattispecie è quella oggetto della presente vertenza: in effetti, le turbe lamentate da O._ risalivano a molti anni addietro ed erano state precisamente diagnosticate; in particolare era stato rilevato il carattere recidivante dei disturbi, i quali avevano giustificato per anni prestazioni erogate dall'assicurazione per l'invalidità.
c) In esito alle suesposte considerazioni, già per questo motivo il ricorso di diritto amministrativo merita accoglimento, il tema di sapere se e in quale misura al caso l'interessato abbia voluto indurre in errore l'amministrazione invocando un reddito più elevato di quanto effettivamente percepito potendo in tali condizioni restare irrisolto.
d) Dato quanto precede, può essere lasciato insoluto anche il quesito posto dalla Fondazione insorgente nel ricorso, per il quale, non essendo stati pagati premi arretrati tempestivamente, il contratto di previdenza sarebbe stato conchiuso solo il 31 maggio 1991, quando il sinistro indubbiamente già si era verificato.
4.- Rispondendo al gravame, O._ ha asserito che la precedente istanza non avrebbe potuto statuire fondandosi sull'intero incarto, ritenuto che la Fondazione si sarebbe resa colpevole di aver sottratto o di non aver prodotto determinati atti mancanti all'inserto. In esito all'esame dell'incarto risulta che la censura non è stata debitamente sostanziata né quindi appare attendibile. Essa è pertanto infondata e priva di rilevanza, segnatamente sotto il profilo del principio della violazione del diritto di essere sentito.
5.- La Fondazione, vincente in causa, ha concluso protestando l'assegnazione di spese ripetibili. Ai sensi dell'art. 159 cpv. 2 OG, nelle procedure di ricorso nessuna indennità di parte è di regola assegnata agli organismi con compiti di diritto pubblico. Tale regola vale anche per quanto riguarda l'Istituto ricorrente (<ref-ruling>consid. 7 e rinvii), per cui l'assegnazione di ripetibili deve essergli rifiutata.

Per questi motivi, il Tribunale federale delle assicurazioni
pronuncia :
I.Il ricorso di diritto amministrativo è accolto nel senso che il giudizio del Tribunale delle assicurazioni del Cantone Ticino del 4 novembre 1998 è annullato per quanto riferito alla petizione avverso la Fondazione, pure quest'ultima essendo respinta.
II.Non si percepiscono spese giudiziarie né si assegnano ripetibili.
III. La presente sentenza sarà intimata alle parti, a O._, al Tribunale cantonale delle assicurazioni, Lugano, e all'Ufficio federale delle assicurazioni sociali.