as3hx icon indicating copy to clipboard operation
as3hx copied to clipboard

wrong conversion this.some_namespace::method()

Open SlavaRa opened this issue 7 years ago • 1 comments

part1:

as3 code for example:

package {

    public class Issue239 {
        use namespace $internal;

        public function Issue239() {
            this.$internal::test();
            $internal::test();
        }

        $internal function test():void {
            trace(this);
        }
    }
}

internal namespace $internal;

expected result:

class Issue239                          
{                                       

    public function new()               
    {                                   
        this.test();
        test();
    }                                   

    private function test() : Void      
    {                                   
        trace(this);                    
    }                                   
}                                       

actual result:

class Issue239                          
{                                       

    public function new()               
    {                                   
        this.__DOLLAR__internal::test();
        __DOLLAR__internal;test();
    }                                   

    private function test() : Void      
    {                                   
        trace(this);                    
    }                                   
}                                       

SlavaRa avatar Aug 31 '16 15:08 SlavaRa

Это немножко сложнее если есть use namespace some_namespace то там можно вызывать просто test() и в других местах(классах) где есть import some_namespace use namespace some_namespace тоже. Тут без построения AST никак.

k0t0vich avatar Sep 15 '17 19:09 k0t0vich