Reflection/List properties: Difference between revisions

m
→‎{{header|Phix}}: added values
m (→‎{{header|Phix}}: added values)
Line 612:
Technically the code below is re-fetching tid and flags before returning them in a textual format.
<lang Phix>class c nullable
integer int = 1
public atom atm = 2.3
string str = "4point5"
sequence seq
public:
object obj = {"an object"}
c child
private function foo();
public procedure bar();
end class
 
c c_instance = new()
 
include builtins\structs.e as structs
Line 631 ⟶ 633:
string t = nulls(structs:get_field_type(c,name,true)),
f = nulls(structs:get_field_flags(c,name,true))
printf(1,"type:%-11s,object v name:%-5s,= flagsnulls(structs:%s\n",{tfetch_field(c_instance,name,f}c))
printf(1,"type:%-11s, name:%-5s, flags:%s, value:%v\n",{t,name,f,v})
end if
end for</lang>
{{out}}
<pre>
type:ST_INTEGER , name:int , flags:SF_PRIVATE, value:1
type:ST_ATOM , name:atm , flags:SF_PUBLIC, value:2.3
type:ST_STRING , name:str , flags:SF_PRIVATE, value:"4point5"
type:ST_SEQUENCE, name:seq , flags:SF_PRIVATE, value:{}
type:ST_OBJECT , name:obj , flags:SF_PUBLIC, value:{"an object"}
type:c , name:child, flags:SF_PUBLIC, value:"NULL"
</pre>
 
7,804

edits