11defmodule ElixirScript.Translator.Rewriter do
2- @ moduledoc false
2+ @ moduledoc false
33
44 # :erlang, :lists, :maps, :beam_lib, :binary, :calendar, :digraph,
55 # :epp, :erl_lint, :erl_internal, :erl_expand_records, :erl_eval,
@@ -331,35 +331,27 @@ defmodule ElixirScript.Translator.Rewriter do
331331 end
332332
333333 def rewrite ( { { :. , _ , [ :lists , :foldl ] } , _ , [ fun , acc , list ] } ) do
334- quote do: Bootstrap.Core.Functions . foldl ( unquote ( fun ) , unquote ( acc ) , unquote ( list ) )
334+ quote do: List . foldl ( unquote ( fun ) , unquote ( acc ) , unquote ( list ) )
335335 end
336336
337337 def rewrite ( { { :. , _ , [ :lists , :foldr ] } , _ , [ fun , acc , list ] } ) do
338- quote do: Bootstrap.Core.Functions . foldr ( unquote ( fun ) , unquote ( acc ) , unquote ( list ) )
338+ quote do: List . foldr ( unquote ( fun ) , unquote ( acc ) , unquote ( list ) )
339339 end
340340
341341 def rewrite ( { { :. , _ , [ :lists , :keymember ] } , _ , [ key , n , list ] } ) do
342- quote do: Bootstrap.Core.Functions . keymember ( unquote ( key ) , unquote ( n ) , unquote ( list ) )
342+ quote do: List . keymember? ( unquote ( list ) , unquote ( key ) , unquote ( n ) )
343343 end
344344
345345 def rewrite ( { { :. , _ , [ :lists , :keydelete ] } , _ , [ key , n , list ] } ) do
346- quote do: Bootstrap.Core.Functions . keydelete ( unquote ( key ) , unquote ( n ) , unquote ( list ) )
347- end
348-
349- def rewrite ( { { :. , _ , [ :lists , :keystore ] } , _ , [ key , n , list , newtuple ] } ) do
350- quote do: Bootstrap.Core.Functions . keystore ( unquote ( key ) , unquote ( n ) , unquote ( list ) , unquote ( newtuple ) )
351- end
352-
353- def rewrite ( { { :. , _ , [ :lists , :keytake ] } , _ , [ key , n , list ] } ) do
354- quote do: Bootstrap.Core.Functions . keystore ( unquote ( key ) , unquote ( n ) , unquote ( list ) )
346+ quote do: List . keydelete ( unquote ( list ) , unquote ( key ) , unquote ( n ) )
355347 end
356348
357349 def rewrite ( { { :. , _ , [ :lists , :keyfind ] } , _ , [ key , n , list ] } ) do
358- quote do: Bootstrap.Core.Functions . keyfind ( unquote ( key ) , unquote ( n ) , unquote ( list ) )
350+ quote do: List . keyfind ( unquote ( list ) , unquote ( key ) , unquote ( n ) )
359351 end
360352
361353 def rewrite ( { { :. , _ , [ :lists , :keyreplace ] } , _ , [ key , n , list , newtuple ] } ) do
362- quote do: Bootstrap.Core.Functions . keyreplace ( unquote ( key ) , unquote ( n ) , unquote ( list ) , unquote ( newtuple ) )
354+ quote do: List . keyreplace ( unquote ( list ) , unquote ( key ) , unquote ( n ) , unquote ( newtuple ) )
363355 end
364356
365357 def rewrite ( { { :. , _ , [ :lists , :keysort ] } , _ , [ n , tuplelist ] } ) do
@@ -368,27 +360,27 @@ defmodule ElixirScript.Translator.Rewriter do
368360 end
369361
370362 def rewrite ( { { :. , _ , [ :lists , :reverse ] } , _ , [ list ] } ) do
371- quote do: Bootstrap.Core .Functions. reverse ( unquote ( list ) )
363+ quote do: ElixirScript.Bootstrap .Functions. reverse ( unquote ( list ) )
372364 end
373365
374366 def rewrite ( { { :. , _ , [ :lists , :reverse ] } , _ , [ list , tail ] } ) do
375- quote do: Bootstrap.Core .Functions. reverse ( unquote ( list ) ) ++ unquote ( tail )
367+ quote do: ElixirScript.Bootstrap .Functions. reverse ( unquote ( list ) ) ++ unquote ( tail )
376368 end
377369
378370 def rewrite ( { { :. , _ , [ :lists , :flatten ] } , _ , [ list ] } ) do
379- quote do: Bootstrap.Core.Functions . flatten ( unquote ( list ) )
371+ quote do: List . flatten ( unquote ( list ) )
380372 end
381373
382374 def rewrite ( { { :. , _ , [ :lists , :flatten ] } , _ , [ list , tail ] } ) do
383- quote do: Bootstrap.Core.Functions . flatten ( unquote ( list ) , unquote ( tail ) )
375+ quote do: List . flatten ( unquote ( list ) , unquote ( tail ) )
384376 end
385377
386378 def rewrite ( { { :. , _ , [ :lists , :delete ] } , _ , [ elem , list ] } ) do
387- quote do: Bootstrap.Core.Functions . remove_from_list ( unquote ( list ) , unquote ( elem ) )
379+ quote do: List . delete ( unquote ( list ) , unquote ( elem ) )
388380 end
389381
390382 def rewrite ( { { :. , _ , [ :lists , :duplicate ] } , _ , [ n , elem ] } ) do
391- quote do: Bootstrap.Core.Functions . duplicate ( unquote ( n ) , unquote ( elem ) )
383+ quote do: List . duplicate ( unquote ( n ) , unquote ( elem ) )
392384 end
393385
394386 def rewrite ( { { :. , _ , [ :lists , :mapfoldl ] } , _ , [ fun , acc , list ] } ) do
@@ -437,15 +429,15 @@ defmodule ElixirScript.Translator.Rewriter do
437429 end
438430
439431 def rewrite ( { { :. , _ , [ :erlang , :list_to_float ] } , _ , [ list ] } ) do
440- quote do: parseFloat ( unquote ( list ) )
432+ quote do: JS . parseFloat ( unquote ( list ) )
441433 end
442434
443435 def rewrite ( { { :. , _ , [ :erlang , :list_to_integer ] } , _ , [ list ] } ) do
444- quote do: parseInt ( unquote ( list ) )
436+ quote do: JS . parseInt ( unquote ( list ) )
445437 end
446438
447439 def rewrite ( { { :. , _ , [ :erlang , :list_to_integer ] } , _ , [ list , base ] } ) do
448- quote do: parseInt ( unquote ( list ) , unquote ( base ) )
440+ quote do: JS . parseInt ( unquote ( list ) , unquote ( base ) )
449441 end
450442
451443 def rewrite ( { { :. , _ , [ :erlang , :integer_to_binary ] } , _ , [ integer ] } ) do
@@ -481,43 +473,31 @@ defmodule ElixirScript.Translator.Rewriter do
481473 end
482474
483475 def rewrite ( { { :. , _ , [ :erlang , :binary_to_float ] } , _ , [ binary ] } ) do
484- quote do: parseFloat ( unquote ( binary ) )
476+ quote do: JS . parseFloat ( unquote ( binary ) )
485477 end
486478
487479 def rewrite ( { { :. , _ , [ :erlang , :binary_to_integer ] } , _ , [ binary ] } ) do
488- quote do: parseInt ( unquote ( binary ) )
480+ quote do: JS . parseInt ( unquote ( binary ) )
489481 end
490482
491483 def rewrite ( { { :. , _ , [ :erlang , :binary_to_integer ] } , _ , [ binary , base ] } ) do
492- quote do: parseInt ( unquote ( binary ) , unquote ( base ) )
484+ quote do: JS . parseInt ( unquote ( binary ) , unquote ( base ) )
493485 end
494486
495487 def rewrite ( { { :. , _ , [ :maps , :is_key ] } , _ , [ key , map ] } ) do
496- quote do: unquote ( key ) in Bootstrap.Core .Functions. get_object_keys ( unquote ( map ) )
488+ quote do: unquote ( key ) in ElixirScript.Bootstrap .Functions. get_object_keys ( unquote ( map ) )
497489 end
498490
499491 def rewrite ( { { :. , _ , [ :maps , :put ] } , _ , [ key , value , map ] } ) do
500492 quote do: Bootstrap.Core.Functions . add_property_to_map ( unquote ( map ) , unquote ( key ) , unquote ( value ) )
501493 end
502494
503495 def rewrite ( { { :. , _ , [ :maps , :update ] } , _ , [ key , value , map ] } ) do
504- quote do: Bootstrap.Core.Functions . update_map ( unquote ( map ) , unquote ( key ) , unquote ( value ) )
505- end
506-
507- def rewrite ( { { :. , _ , [ :maps , :find ] } , _ , [ key , map ] } ) do
508- quote do: Bootstrap.Core.Functions . maps_find ( unquote ( key ) , unquote ( map ) )
496+ quote do: Map . update! ( unquote ( map ) , unquote ( key ) , fn ( _ ) -> unquote ( value ) end )
509497 end
510498
511499 def rewrite ( { { :. , _ , [ :maps , :remove ] } , _ , [ key , map ] } ) do
512500 quote do: Bootstrap.Core.Functions . delete_property_from_map ( unquote ( map ) , unquote ( key ) )
513501 end
514502
515- def rewrite ( { { :. , _ , [ :maps , :fold ] } , _ , [ fun , init , map ] } ) do
516- quote do: Bootstrap.Core.Functions . maps_fold ( unquote ( fun ) , unquote ( init ) , unquote ( map ) )
517- end
518-
519- def rewrite ( { { :. , _ , [ :maps , :from_list ] } , _ , [ list ] } ) do
520- quote do: Bootstrap.Core.Functions . maps_fold ( unquote ( list ) )
521- end
522-
523503end
0 commit comments