----------------------------------------------------- CODE: ----------------------------------------------------- static var globall : int32 = 1; class data1 { var name : string; var value : int32; func both(){ return name $ value; } } func _test() : int32 { return 0; } ----------------------------------------------------- COMPILE UNIT (TODO) AST: ----------------------------------------------------- VAR (struct=2 op=54 opsub=0) { name = 'globall' orig_datatype = 'int32' datatype = '' orig_typeinfo: IDENT (struct=12 op=1 opsub=0) name = 'int32' typeinfo: value: int(1) (struct=0 op=3 opsub=0) } FUNC (struct=6 op=30 opsub=0) { name = 'data1.both' orig_datatype = '' datatype = '' orig_typeinfo: typeinfo: params: code: BLOCK (struct=4 op=21 opsub=0) { locals: code: RETURN (struct=7 op=18 opsub=0) { arg: $ (struct=7 op=4 opsub=0) { arg: { IDENT (struct=12 op=1 opsub=0) name = 'name' IDENT (struct=12 op=1 opsub=0) name = 'value' } } } } } CLASS (struct=5 op=52 opsub=0) { name = 'data1' items: { MEMBER (struct=2 op=55 opsub=0) { name = 'name' orig_datatype = 'string' datatype = '' orig_typeinfo: IDENT (struct=12 op=1 opsub=0) name = 'string' typeinfo: value: } MEMBER (struct=2 op=55 opsub=0) { name = 'value' orig_datatype = 'int32' datatype = '' orig_typeinfo: IDENT (struct=12 op=1 opsub=0) name = 'int32' typeinfo: value: } } } FUNC (struct=6 op=30 opsub=0) { name = '_test' orig_datatype = 'int32' datatype = '' orig_typeinfo: IDENT (struct=12 op=1 opsub=0) name = 'int32' typeinfo: params: code: BLOCK (struct=4 op=21 opsub=0) { locals: code: RETURN (struct=7 op=18 opsub=0) { arg: int(0) (struct=0 op=3 opsub=0) } } }