Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

294
Vistas
constructor de clase no se puede invocar sin 'nuevo

Estoy tratando de usar una biblioteca de mecanografiado de terceros (antlr - https://github.com/tunnelvisionlabs/antlr4ts ) en mi proyecto angular 2 creado con angular-cli. Está fallando con este constructor de clase de error. MyLexer no se puede invocar sin 'new . Si observa el fragmento de código a continuación, está fallando al realizar una llamada a super();. También Lexer.js se encuentra en node_modules de la biblioteca antlr.

No estoy usando babel en mi proyecto, pero encontré esta otra publicación de stackoverflow que tiene un error similar al mío Babel error: Class constructor Foo no se puede invocar sin 'new' . Dice que debido a la forma en que funcionan las clases de ES6, no puede extender una clase nativa con una clase transpilada. ¿Está relacionado de alguna manera con mi problema también? Por favor guía.

Fragmento de código

 let inputStream = new ANTLRInputStream("sometext"); let lexer = new MyLexer(inputStream); // it fails here let tokenStream = new CommonTokenStream(lexer); let parser = new MyParser(tokenStream);

MyLexer.ts (Código generado)

 export class MyLexer extends Lexer { constructor(input: CharStream) { super(input); // it fails here. this._interp = new LexerATNSimulator(MyLexer._ATN, this); } // more code }

Lexer.js (sentado en node_modules)

 class Lexer extends Recognizer_1.Recognizer { constructor(input) { super(); //more code
about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Eso es bastante sorprendente. Estoy usando el mismo enfoque que usted en mi módulo de nodo antlr4-graps , que tiene configurado ES6 comodestino de transpilación y todo funciona muy bien. Echa un vistazo más de cerca allí. Tal vez pueda detectar otras diferencias significativas entre su código y el mío. Supongo que tienes instalada la última versión alfa de antlr4ts.

about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda