template wp_Proxy do end; template wp_NamedProxy extends wp_Proxy do var name : text; var symbol : text; end; template wp_Unit extends wp_NamedProxy do # TODO: this shoud really be: \e # doesn't work for now, reg exp for wrappers are broken. to fix... var contents : text => defer (i""" { "name":"\e", "functions": [ \e ], "classes": [ \e ] }"""); end; template wp_Class extends wp_NamedProxy do var contents: text => defer (i""" { "name": "\e" } """); end; template wp_Function extends wp_NamedProxy do var type : text; var contents : text => defer(i""" { "name": "\e", "symbol": "\e", "type": "\e", "parameters": [ \e ] }"""); end; template wp_Parameter extends wp_NamedProxy do var type : text; var contents : text => defer(i""" { "name": "\e", "type": "\e" }"""); end; template wp_TypeExpr extends wp_Proxy do var txt : text; end; template generate_proxy2json pick origin do match wp_Unit () wrap standard.file (defer (name & ".json"), defer (contents)); end;