Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var tex=`class hola{
- let s_texto1='texto1';
- let s_texto2='texto2';
- //comentario1
- /**
- esto es otro comentario
- **/
- m_metodo1(){
- let m=1;
- const l=2;
- while(){
- const;
- if(){
- let y=4;
- }
- }
- return algo;
- //comentario
- }
- mr_metodo(){
- let p=0;
- }
- mr_metodo3(p_param){
- const ñ=1;
- let po='2';
- }
- //comentario1
- /**
- ju
- lju
- **/
- }`;
- //----------------------------------------------------------------------------------------------------
- var stringCut = function (str,limit)
- {
- if( !str.match(/[\s}{;\n]/) )
- {
- return str;
- }
- var words = (str.split(/[}{;\n]/)).slice(limit,limit+1),
- output = words.join('\n');
- return output;
- }
- //----------------------------------------------------------------------------------------------------
- var espaciosEnBlanco= function(linea){
- for(var j =0; j<linea.length; j++){
- if(linea[j]!== ' '){
- return false
- }
- }
- return true
- }
- //----------------------------------------------------------------------------------------------------
- var buscar=function(str,limit){
- if( !str.match('\n') )
- {
- return str;
- }
- var words = (str.split('\n')).slice(limit,limit+1),
- output = words.join('\n');
- return output;
- }
- //----------------------------------------------------------------------------------------------------
- var achicartexto=function(text){
- var completo='';
- var i=0;
- while(stringCut(tex,i)!=='' ||stringCut(tex,i+1)!==''||stringCut(tex,i+2)!==''){
- var contenedor = stringCut(tex,i);//se obtiene una sola linea de codigo
- if(contenedor !=='' ){
- if(contenedor.length>1){
- if(espaciosEnBlanco(contenedor)===false){
- completo=completo +'\n' + contenedor;
- }
- }
- }
- i=i+1;
- }
- return completo;
- }
- //----------------------------------------------------------------------------------------------------
- var quitarComentarios= function(texto){
- var l=1;
- var textoFinal='';
- while(buscar(texto,l)!==''){
- let linea=buscar(texto,l);
- let cont=0;
- while(linea[cont]===' '){
- cont=cont+1;
- }
- if(linea[cont]==='/'){
- if(linea[cont+1]==='*'){
- let fin=l;
- while(buscar(texto,fin)[(buscar(texto,fin).length)-1]!=='/'){
- fin=fin+1;
- }
- l=fin;
- }
- }
- else{
- textoFinal=textoFinal +'\n' + linea;
- }
- l=l+1;
- }
- return textoFinal;
- }
- //----------------------------------------------------------------------------------------------------
- var contarMetodos=function(codigo){
- let contador=1;
- var datos=[];
- var totalLineasMetodo=0;
- while(buscar(codigo,contador)!==''){
- let lineaCodigo=buscar(codigo,contador);
- let contador2=0;
- if(lineaCodigo[0]===' '){
- while(lineaCodigo[contador2]===' '){
- contador2=contador2+1;
- }
- }
- if(lineaCodigo[contador2]==='m'){
- if(nombreMetodo!==undefined){
- var totalLineas=totalLineasMetodo;
- }
- totalLineasMetodo=0;
- var nombreMetodo='';
- let controlador=0;
- while(controlador<lineaCodigo.length &&lineaCodigo[controlador]!=='('){
- nombreMetodo=nombreMetodo+lineaCodigo[controlador];
- controlador=controlador+1;
- }
- }
- totalLineasMetodo++;
- if(nombreMetodo!==undefined){
- if(nombreMetodo!==nombrecontrol){
- datos.push({metodo:nombrecontrol,lineas:totalLineas});
- }
- }
- var nombrecontrol=nombreMetodo;
- contador=contador+1;
- }
- datos.push({metodo:nombreMetodo,lineas:totalLineasMetodo});
- if(datos[0].metodo===undefined){
- for(var x=0;x<datos.length;x++){
- datos[x]=datos[x+1];
- }
- }
- return datos;
- }
- //----------------------------------------------------------------------------------------------------
- tex=(achicartexto(tex));
- //console.log(tex)
- tex=quitarComentarios(tex);
- var total= contarMetodos(tex);
- console.log(total[2]);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement