Advertisement
Guest User

Untitled

a guest
Aug 21st, 2017
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.80 KB | None | 0 0
  1. var tex=`class hola{
  2. let s_texto1='texto1';
  3. let s_texto2='texto2';
  4. //comentario1
  5. /**
  6. esto es otro comentario
  7. **/
  8.  
  9.  
  10. m_metodo1(){
  11. let m=1;
  12. const l=2;
  13.  
  14. while(){
  15. const;
  16. if(){
  17. let y=4;
  18. }
  19. }
  20. return algo;
  21. //comentario
  22. }
  23. mr_metodo(){
  24. let p=0;
  25. }
  26. mr_metodo3(p_param){
  27. const ñ=1;
  28. let po='2';
  29. }
  30. //comentario1
  31. /**
  32. ju
  33. lju
  34. **/
  35. }`;
  36. //----------------------------------------------------------------------------------------------------
  37. var stringCut = function (str,limit)
  38. {
  39. if( !str.match(/[\s}{;\n]/) )
  40. {
  41. return str;
  42. }
  43. var words = (str.split(/[}{;\n]/)).slice(limit,limit+1),
  44. output = words.join('\n');
  45.  
  46. return output;
  47. }
  48. //----------------------------------------------------------------------------------------------------
  49. var espaciosEnBlanco= function(linea){
  50. for(var j =0; j<linea.length; j++){
  51. if(linea[j]!== ' '){
  52. return false
  53. }
  54. }
  55. return true
  56. }
  57. //----------------------------------------------------------------------------------------------------
  58. var buscar=function(str,limit){
  59. if( !str.match('\n') )
  60. {
  61. return str;
  62. }
  63. var words = (str.split('\n')).slice(limit,limit+1),
  64. output = words.join('\n');
  65. return output;
  66. }
  67. //----------------------------------------------------------------------------------------------------
  68. var achicartexto=function(text){
  69. var completo='';
  70. var i=0;
  71. while(stringCut(tex,i)!=='' ||stringCut(tex,i+1)!==''||stringCut(tex,i+2)!==''){
  72. var contenedor = stringCut(tex,i);//se obtiene una sola linea de codigo
  73. if(contenedor !=='' ){
  74. if(contenedor.length>1){
  75. if(espaciosEnBlanco(contenedor)===false){
  76. completo=completo +'\n' + contenedor;
  77. }
  78. }
  79. }
  80. i=i+1;
  81. }
  82. return completo;
  83. }
  84. //----------------------------------------------------------------------------------------------------
  85. var quitarComentarios= function(texto){
  86. var l=1;
  87. var textoFinal='';
  88. while(buscar(texto,l)!==''){
  89. let linea=buscar(texto,l);
  90. let cont=0;
  91. while(linea[cont]===' '){
  92. cont=cont+1;
  93. }
  94. if(linea[cont]==='/'){
  95. if(linea[cont+1]==='*'){
  96. let fin=l;
  97. while(buscar(texto,fin)[(buscar(texto,fin).length)-1]!=='/'){
  98. fin=fin+1;
  99. }
  100. l=fin;
  101. }
  102. }
  103. else{
  104. textoFinal=textoFinal +'\n' + linea;
  105. }
  106. l=l+1;
  107. }
  108. return textoFinal;
  109. }
  110. //----------------------------------------------------------------------------------------------------
  111. var contarMetodos=function(codigo){
  112. let contador=1;
  113. var datos=[];
  114. var totalLineasMetodo=0;
  115. while(buscar(codigo,contador)!==''){
  116. let lineaCodigo=buscar(codigo,contador);
  117. let contador2=0;
  118. if(lineaCodigo[0]===' '){
  119. while(lineaCodigo[contador2]===' '){
  120. contador2=contador2+1;
  121. }
  122. }
  123. if(lineaCodigo[contador2]==='m'){
  124. if(nombreMetodo!==undefined){
  125. var totalLineas=totalLineasMetodo;
  126. }
  127. totalLineasMetodo=0;
  128. var nombreMetodo='';
  129. let controlador=0;
  130. while(controlador<lineaCodigo.length &&lineaCodigo[controlador]!=='('){
  131. nombreMetodo=nombreMetodo+lineaCodigo[controlador];
  132. controlador=controlador+1;
  133. }
  134. }
  135. totalLineasMetodo++;
  136. if(nombreMetodo!==undefined){
  137. if(nombreMetodo!==nombrecontrol){
  138. datos.push({metodo:nombrecontrol,lineas:totalLineas});
  139. }
  140. }
  141. var nombrecontrol=nombreMetodo;
  142. contador=contador+1;
  143. }
  144. datos.push({metodo:nombreMetodo,lineas:totalLineasMetodo});
  145. if(datos[0].metodo===undefined){
  146. for(var x=0;x<datos.length;x++){
  147. datos[x]=datos[x+1];
  148. }
  149. }
  150. return datos;
  151. }
  152. //----------------------------------------------------------------------------------------------------
  153. tex=(achicartexto(tex));
  154. //console.log(tex)
  155. tex=quitarComentarios(tex);
  156. var total= contarMetodos(tex);
  157. console.log(total[2]);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement