haxe icon indicating copy to clipboard operation
haxe copied to clipboard

"Type is not ready to be accessed" was better reported in 3.4

Open kLabz opened this issue 6 years ago • 1 comments

I was messing around doing ugly things to try to isolate #6993 and ended up with a pretty messed up error output in haxe 4:

src/MacroUtils.hx:11: lines 11-13 : Warning : Extern non-inline function may not have an expression
(unknown) : Invalid enum constructor in @:build result
/opt/haxe/std/haxe/EnumTools.hx:34: lines 34-111 : Defined in this class
src/MacroUtils.hx:11: lines 11-13 : Warning : Extern non-inline function may not have an expression
(unknown) : Invalid enum constructor in @:build result
/opt/haxe/std/haxe/Log.hx:28: lines 28-74 : Defined in this class
src/MacroUtils.hx:11: lines 11-13 : Warning : Extern non-inline function may not have an expression
src/MacroUtils.hx:11: lines 11-13 : foo: An interface method cannot have a body
/opt/haxe/std/haxe/Constraints.hx:59: lines 59-69 : Defined in this class
src/MacroUtils.hx:11: lines 11-13 : Warning : Extern non-inline function may not have an expression
src/MacroUtils.hx:11: lines 11-13 : Warning : Extern non-inline function may not have an expression
src/MacroUtils.hx:11: lines 11-13 : Warning : Extern non-inline function may not have an expression
src/MacroUtils.hx:11: lines 11-13 : Warning : Extern non-inline function may not have an expression
src/MacroUtils.hx:11: lines 11-13 : Field foo should be declared with 'override' since it is inherited from superclass haxe.ds.BalancedTree
/opt/haxe/std/haxe/ds/EnumValueMap.hx:31: lines 31-68 : Defined in this class
(unknown) : Invalid enum constructor in @:build result
/opt/haxe/std/haxe/io/Input.hx:31: lines 31-330 : Defined in this class
src/MacroUtils.hx:11: lines 11-13 : Warning : Extern non-inline function may not have an expression
src/MacroUtils.hx:11: lines 11-13 : Warning : Extern non-inline function may not have an expression
src/MacroUtils.hx:11: lines 11-13 : Warning : Extern non-inline function may not have an expression
src/MacroUtils.hx:11: lines 11-13 : Warning : Extern non-inline function may not have an expression
(unknown) : Invalid enum constructor in @:build result
/opt/haxe/std/eval/_std/Sys.hx:25: lines 25-75 : Defined in this class
src/MacroUtils.hx:11: lines 11-13 : Field foo should be declared with 'override' since it is inherited from superclass haxe.io.Input
/opt/haxe/std/eval/_std/sys/io/FileInput.hx:27: lines 27-34 : Defined in this class
src/MacroUtils.hx:11: lines 11-13 : Public field foo is not part of core type

While in 3.4.7 we at least had some indication about the cause of the error

?:1: characters 1-7 : Invalid enum constructor in @:build result
/opt/haxe/std/neko/Boot.hx:26: lines 26-147 : Defined in this class
/opt/haxe/std/neko/Boot.hx:72: lines 72-73 : Missing return: Bool
/opt/haxe/std/neko/_std/Type.hx:35: lines 35-234 : Type is not ready to be accessed, separate your type declarations in several files
/opt/haxe/std/haxe/Int64.hx:33: lines 33-446 : Defined in this class
/opt/haxe/std/neko/_std/Type.hx:35: lines 35-234 : Type is not ready to be accessed, separate your type declarations in several files
/opt/haxe/std/StringTools.hx:33: lines 33-592 : Defined in this class
?:1: characters 1-7 : Invalid enum constructor in @:build result
/opt/haxe/std/haxe/io/Bytes.hx:28: lines 28-585 : Defined in this class
/opt/haxe/std/haxe/io/Input.hx:122: characters 11-24 : Enum<haxe.io.Error> has no field Blocked
/opt/haxe/std/haxe/io/Input.hx:138: characters 10-23 : Enum<haxe.io.Error> has no field Blocked
/opt/haxe/std/haxe/io/Input.hx:152: characters 22-35 : Enum<haxe.io.Error> has no field Blocked
/opt/haxe/std/neko/_std/Type.hx:35: lines 35-234 : Type is not ready to be accessed, separate your type declarations in several files
/opt/haxe/std/neko/Lib.hx:29: lines 29-188 : Defined in this class
/opt/haxe/std/neko/Lib.hx:100: lines 100-127 : Missing return: Dynamic
/opt/haxe/std/neko/_std/Type.hx:35: lines 35-234 : Type is not ready to be accessed, separate your type declarations in several files
/opt/haxe/std/neko/Lib.hx:29: lines 29-188 : Defined in this class
/opt/haxe/std/neko/Lib.hx:132: lines 132-162 : Missing return: Dynamic
/opt/haxe/std/haxe/EnumTools.hx:51: characters 9-25 : Class<Type> has no field getEnumName
/opt/haxe/std/haxe/EnumTools.hx:64: characters 9-24 : Class<Type> has no field createEnum
/opt/haxe/std/haxe/EnumTools.hx:80: characters 9-29 : Class<Type> has no field createEnumIndex
/opt/haxe/std/haxe/EnumTools.hx:97: characters 9-22 : Class<Type> has no field allEnums
/opt/haxe/std/haxe/EnumTools.hx:109: characters 9-31 : Class<Type> has no field getEnumConstructs
/opt/haxe/std/haxe/EnumTools.hx:133: characters 9-20 : Class<Type> has no field enumEq
/opt/haxe/std/haxe/EnumTools.hx:144: characters 9-29 : Class<Type> has no field enumConstructor
/opt/haxe/std/haxe/EnumTools.hx:158: characters 9-28 : Class<Type> has no field enumParameters
/opt/haxe/std/haxe/EnumTools.hx:170: characters 9-23 : Class<Type> has no field enumIndex
/opt/haxe/std/neko/_std/Math.hx:67: lines 67-97 : Public field foo is not part of core type

Type is not ready to be accessed, separate your type declarations in several files

While this code (here's a repo with the minimal project) is absolutely not sane, I think we have some issues with error reporting in (at least) haxe 4 here.

kLabz avatar Apr 25 '19 09:04 kLabz

Any idea what's the status here?

Simn avatar Feb 06 '24 08:02 Simn