2222use  Illuminate \Database \Eloquent \Builder  as  EloquentBuilder ;
2323use  Illuminate \Database \Query \Builder  as  QueryBuilder ;
2424use  Illuminate \Support \Facades \Facade ;
25+ use  Illuminate \Support \Traits \Macroable ;
2526use  ReflectionClass ;
2627use  Throwable ;
2728
@@ -47,8 +48,6 @@ class Alias
4748    protected  $ phpdocnull ;
4849    protected  $ classAliases
4950
50-     protected  $ isMacroablefalse ;
51- 
5251    /** @var ConfigRepository  */ 
5352    protected  $ config
5453
@@ -63,13 +62,12 @@ class Alias
6362     * @param array            $magicMethods 
6463     * @param array            $interfaces 
6564     */ 
66-     public  function  __construct ($ config$ alias$ facade$ magicMethods$ interfaces,  $ isMacroable  =  false )
65+     public  function  __construct ($ config$ alias$ facade$ magicMethods$ interfaces
6766    {
6867        $ this alias  = $ alias
6968        $ this magicMethods  = $ magicMethods
7069        $ this interfaces  = $ interfaces
7170        $ this config  = $ config
72-         $ this isMacroable  = $ isMacroable
7371
7472        // Make the class absolute 
7573        $ facade'\\'  . ltrim ($ facade'\\' );
@@ -431,7 +429,7 @@ protected function detectMethods()
431429
432430            // Check if the class is macroable 
433431            // (Eloquent\Builder is also macroable but doesn't use Macroable trait) 
434-             if  ($ this -> isMacroable  ||  $ class
432+             if  ($ class ||  in_array (Macroable::class,  $ reflection -> getTraitNames ()) ) {
435433                $ properties$ reflectiongetStaticProperties ();
436434                $ macrosisset ($ properties'macros ' ]) ? $ properties'macros ' ] : [];
437435                foreach  ($ macrosas  $ macro_name$ macro_func
0 commit comments