tokiwa-software / fuzion

The Fuzion Language Implementation
https://fuzion-lang.dev
GNU General Public License v3.0
47 stars 11 forks source link

ast: add debug option to Resolution #4168

Closed michaellilltokiwa closed 3 days ago

michaellilltokiwa commented 3 days ago

for HelloWorld it looks like this:

resolve inheritance: public universe ***not yet known*** is Routine
resolve declarations: public universe ***not yet known*** is Routine
resolve inheritance: private HelloWorld ***not yet known*** : Any 🤝 is Routine
resolve declarations: private HelloWorld ***not yet known*** : Any 🤝 is Routine
resolve types: public universe ***not yet known*** is Routine
resolve types: private HelloWorld ***not yet known*** : Any 🤝 is Routine
resolve syntax sugar 1: public universe universe is Routine
resolve syntax sugar 1: private HelloWorld HelloWorld : Any 🤝 is Routine
resolve inheritance: private type.HelloWorld(private THIS#TYPE ***not yet known*** : Any is TypeParameter) ***not yet known*** : Any.#type (HelloWorld.this.type (in type feature)) is Routine
resolve inheritance: private THIS#TYPE ***not yet known*** : Any is TypeParameter
resolve declarations: private type.HelloWorld(private THIS#TYPE ***not yet known*** : Any is TypeParameter) ***not yet known*** : Any.#type (HelloWorld.this.type (in type feature)) is Routine
resolve declarations: private THIS#TYPE ***not yet known*** : Any is TypeParameter
resolve inheritance: private #^HelloWorld.this.type ***not yet known*** is Field
resolve declarations: private #^HelloWorld.this.type ***not yet known*** is Field
resolve types: private type.HelloWorld(private THIS#TYPE ***not yet known*** : Any is TypeParameter) ***not yet known*** : Any.#type (HelloWorld.this.type (in type feature)) is Routine
resolve types: private THIS#TYPE ***not yet known*** : Any is TypeParameter
resolve types: private #^HelloWorld.this.type ***not yet known*** is Field
resolve syntax sugar 1: private type.HelloWorld(private THIS#TYPE HelloWorld : Any is TypeParameter) HelloWorld (HelloWorld.this.type (in type feature)) : Any.#type (HelloWorld.this.type (in type feature)) is Routine
resolve syntax sugar 1: private THIS#TYPE HelloWorld : Any is TypeParameter
resolve syntax sugar 1: private #^HelloWorld.this.type --ADDRESS-- is Field
resolve type inference: public universe universe is Routine
resolve type inference: private HelloWorld HelloWorld : Any 🤝 is Routine
resolve type inference: private type.HelloWorld(private THIS#TYPE HelloWorld : Any is TypeParameter) HelloWorld (HelloWorld.this.type (in type feature)) : Any.#type (HelloWorld.this.type (in type feature)) is Routine
resolve type inference: private THIS#TYPE HelloWorld : Any is TypeParameter
resolve type inference: private #^HelloWorld.this.type --ADDRESS-- is Field
resolve syntax sugar 2: public universe universe is Routine
resolve syntax sugar 2: private HelloWorld HelloWorld : Any 🤝 is Routine
resolve syntax sugar 2: private type.HelloWorld(private THIS#TYPE HelloWorld : Any is TypeParameter) HelloWorld (HelloWorld.this.type (in type feature)) : Any.#type (HelloWorld.this.type (in type feature)) is Routine
resolve syntax sugar 2: private THIS#TYPE HelloWorld : Any is TypeParameter
resolve syntax sugar 2: private #^HelloWorld.this.type --ADDRESS-- is Field
resolve boxing: public universe universe is Routine
resolve boxing: private HelloWorld HelloWorld : Any 🤝 is Routine
resolve boxing: private type.HelloWorld(private THIS#TYPE HelloWorld : Any is TypeParameter) HelloWorld (HelloWorld.this.type (in type feature)) : Any.#type (HelloWorld.this.type (in type feature)) is Routine
resolve boxing: private THIS#TYPE HelloWorld : Any is TypeParameter
resolve boxing: private #^HelloWorld.this.type --ADDRESS-- is Field
resolve check types: public universe universe is Routine
resolve check types: private HelloWorld HelloWorld : Any 🤝 is Routine
resolve check types: private type.HelloWorld(private THIS#TYPE HelloWorld : Any is TypeParameter) HelloWorld (HelloWorld.this.type (in type feature)) : Any.#type (HelloWorld.this.type (in type feature)) is Routine
resolve check types: private THIS#TYPE HelloWorld : Any is TypeParameter
resolve check types: private #^HelloWorld.this.type --ADDRESS-- is Field