[{"__symbolic":"module","version":3,"metadata":{"TypeModifier":{"Const":0},"Type":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":18,"character":32,"context":{"typeName":"TypeModifier"}}]}]}],"visitType":[{"__symbolic":"method"}],"hasModifier":[{"__symbolic":"method"}]}},"BuiltinTypeName":{"Dynamic":0,"Bool":1,"String":2,"Int":3,"Number":4,"Function":5,"Null":6},"BuiltinType":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Type"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":39,"character":27,"context":{"typeName":"BuiltinTypeName"}},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":39,"character":55,"context":{"typeName":"TypeModifier"}}]}]}],"visitType":[{"__symbolic":"method"}]}},"ExpressionType":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Type"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Expression"},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"Type"}]},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":48,"character":17,"context":{"typeName":"TypeModifier"}}]}]}],"visitType":[{"__symbolic":"method"}]}},"ArrayType":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Type"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Type"},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":58,"character":43,"context":{"typeName":"TypeModifier"}}]}]}],"visitType":[{"__symbolic":"method"}]}},"MapType":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Type"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Type"},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":66,"character":49,"context":{"typeName":"TypeModifier"}}]}]}],"visitType":[{"__symbolic":"method"}]}},"DYNAMIC_TYPE":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"BuiltinType"},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"BuiltinTypeName"},"member":"Dynamic"}]},"BOOL_TYPE":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"BuiltinType"},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"BuiltinTypeName"},"member":"Bool"}]},"INT_TYPE":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"BuiltinType"},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"BuiltinTypeName"},"member":"Int"}]},"NUMBER_TYPE":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"BuiltinType"},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"BuiltinTypeName"},"member":"Number"}]},"STRING_TYPE":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"BuiltinType"},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"BuiltinTypeName"},"member":"String"}]},"FUNCTION_TYPE":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"BuiltinType"},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"BuiltinTypeName"},"member":"Function"}]},"NULL_TYPE":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"BuiltinType"},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"BuiltinTypeName"},"member":"Null"}]},"BinaryOperator":{"Equals":0,"NotEquals":1,"Identical":2,"NotIdentical":3,"Minus":4,"Plus":5,"Divide":6,"Multiply":7,"Modulo":8,"And":9,"Or":10,"Lower":11,"LowerEquals":12,"Bigger":13,"BiggerEquals":14},"Expression":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Type"}]}],"visitExpression":[{"__symbolic":"method"}],"prop":[{"__symbolic":"method"}],"key":[{"__symbolic":"method"}],"callMethod":[{"__symbolic":"method"}],"callFn":[{"__symbolic":"method"}],"instantiate":[{"__symbolic":"method"}],"conditional":[{"__symbolic":"method"}],"equals":[{"__symbolic":"method"}],"notEquals":[{"__symbolic":"method"}],"identical":[{"__symbolic":"method"}],"notIdentical":[{"__symbolic":"method"}],"minus":[{"__symbolic":"method"}],"plus":[{"__symbolic":"method"}],"divide":[{"__symbolic":"method"}],"multiply":[{"__symbolic":"method"}],"modulo":[{"__symbolic":"method"}],"and":[{"__symbolic":"method"}],"or":[{"__symbolic":"method"}],"lower":[{"__symbolic":"method"}],"lowerEquals":[{"__symbolic":"method"}],"bigger":[{"__symbolic":"method"}],"biggerEquals":[{"__symbolic":"method"}],"isBlank":[{"__symbolic":"method"}],"cast":[{"__symbolic":"method"}],"toStmt":[{"__symbolic":"method"}]}},"BuiltinVar":{"This":0,"Super":1,"CatchError":2,"CatchStack":3},"ReadVarExpr":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Expression"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Expression form not supported","line":196,"character":20},{"__symbolic":"reference","name":"Type"}]}],"visitExpression":[{"__symbolic":"method"}],"set":[{"__symbolic":"method"}]}},"WriteVarExpr":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Expression"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"Expression"},{"__symbolic":"reference","name":"Type"}]}],"visitExpression":[{"__symbolic":"method"}],"toDeclStmt":[{"__symbolic":"method"}]}},"WriteKeyExpr":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Expression"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Expression"},{"__symbolic":"reference","name":"Expression"},{"__symbolic":"reference","name":"Expression"},{"__symbolic":"reference","name":"Type"}]}],"visitExpression":[{"__symbolic":"method"}]}},"WritePropExpr":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Expression"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Expression"},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"Expression"},{"__symbolic":"reference","name":"Type"}]}],"visitExpression":[{"__symbolic":"method"}]}},"BuiltinMethod":{"ConcatArray":0,"SubscribeObservable":1,"Bind":2},"InvokeMethodExpr":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Expression"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Expression"},{"__symbolic":"error","message":"Expression form not supported","line":266,"character":43},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"Expression"}]},{"__symbolic":"reference","name":"Type"}]}],"visitExpression":[{"__symbolic":"method"}]}},"InvokeFunctionExpr":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Expression"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Expression"},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"Expression"}]},{"__symbolic":"reference","name":"Type"}]}],"visitExpression":[{"__symbolic":"method"}]}},"InstantiateExpr":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Expression"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Expression"},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"Expression"}]},{"__symbolic":"reference","name":"Type"}]}],"visitExpression":[{"__symbolic":"method"}]}},"LiteralExpr":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Expression"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"any"},{"__symbolic":"reference","name":"Type"}]}],"visitExpression":[{"__symbolic":"method"}]}},"ExternalExpr":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Expression"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"../compile_metadata","name":"CompileIdentifierMetadata"},{"__symbolic":"reference","name":"Type"},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"Type"}]}]}],"visitExpression":[{"__symbolic":"method"}]}},"ConditionalExpr":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Expression"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Expression"},{"__symbolic":"reference","name":"Expression"},{"__symbolic":"reference","name":"Expression"},{"__symbolic":"reference","name":"Type"}]}],"visitExpression":[{"__symbolic":"method"}]}},"NotExpr":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Expression"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Expression"}]}],"visitExpression":[{"__symbolic":"method"}]}},"CastExpr":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Expression"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Expression"},{"__symbolic":"reference","name":"Type"}]}],"visitExpression":[{"__symbolic":"method"}]}},"FnParam":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"Type"}]}]}},"FunctionExpr":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Expression"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"FnParam"}]},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"Statement"}]},{"__symbolic":"reference","name":"Type"}]}],"visitExpression":[{"__symbolic":"method"}],"toDeclStmt":[{"__symbolic":"method"}]}},"BinaryOperatorExpr":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Expression"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":370,"character":23,"context":{"typeName":"BinaryOperator"}},{"__symbolic":"reference","name":"Expression"},{"__symbolic":"reference","name":"Expression"},{"__symbolic":"reference","name":"Type"}]}],"visitExpression":[{"__symbolic":"method"}]}},"ReadPropExpr":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Expression"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Expression"},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"Type"}]}],"visitExpression":[{"__symbolic":"method"}],"set":[{"__symbolic":"method"}]}},"ReadKeyExpr":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Expression"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Expression"},{"__symbolic":"reference","name":"Expression"},{"__symbolic":"reference","name":"Type"}]}],"visitExpression":[{"__symbolic":"method"}],"set":[{"__symbolic":"method"}]}},"LiteralArrayExpr":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Expression"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"Expression"}]},{"__symbolic":"reference","name":"Type"}]}],"visitExpression":[{"__symbolic":"method"}]}},"LiteralMapEntry":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"Expression"},{"__symbolic":"reference","name":"boolean"}]}]}},"LiteralMapExpr":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Expression"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"LiteralMapEntry"}]},{"__symbolic":"reference","name":"MapType"}]}],"visitExpression":[{"__symbolic":"method"}]}},"THIS_EXPR":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"ReadVarExpr"},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"BuiltinVar"},"member":"This"}]},"SUPER_EXPR":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"ReadVarExpr"},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"BuiltinVar"},"member":"Super"}]},"CATCH_ERROR_VAR":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"ReadVarExpr"},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"BuiltinVar"},"member":"CatchError"}]},"CATCH_STACK_VAR":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"ReadVarExpr"},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"BuiltinVar"},"member":"CatchStack"}]},"NULL_EXPR":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"LiteralExpr"},"arguments":[null,null]},"TYPED_NULL_EXPR":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"LiteralExpr"},"arguments":[null,{"__symbolic":"reference","name":"NULL_TYPE"}]},"StmtModifier":{"Final":0,"Private":1},"Statement":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":467,"character":32,"context":{"typeName":"StmtModifier"}}]}]}],"visitStatement":[{"__symbolic":"method"}],"hasModifier":[{"__symbolic":"method"}]}},"DeclareVarStmt":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Statement"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"Expression"},{"__symbolic":"reference","name":"Type"},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":483,"character":17,"context":{"typeName":"StmtModifier"}}]}]}],"visitStatement":[{"__symbolic":"method"}]}},"DeclareFunctionStmt":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Statement"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"FnParam"}]},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"Statement"}]},{"__symbolic":"reference","name":"Type"},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":496,"character":43,"context":{"typeName":"StmtModifier"}}]}]}],"visitStatement":[{"__symbolic":"method"}]}},"ExpressionStatement":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Statement"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Expression"}]}],"visitStatement":[{"__symbolic":"method"}]}},"ReturnStatement":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Statement"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Expression"}]}],"visitStatement":[{"__symbolic":"method"}]}},"AbstractClassPart":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Type"},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":522,"character":58,"context":{"typeName":"StmtModifier"}}]}]}],"hasModifier":[{"__symbolic":"method"}]}},"ClassField":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"AbstractClassPart"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"Type"},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":531,"character":65,"context":{"typeName":"StmtModifier"}}]}]}]}},"ClassMethod":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"AbstractClassPart"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"FnParam"}]},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"Statement"}]},{"__symbolic":"reference","name":"Type"},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":540,"character":17,"context":{"typeName":"StmtModifier"}}]}]}]}},"ClassGetter":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"AbstractClassPart"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"Statement"}]},{"__symbolic":"reference","name":"Type"},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":549,"character":17,"context":{"typeName":"StmtModifier"}}]}]}]}},"ClassStmt":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Statement"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"Expression"},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"ClassField"}]},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"ClassGetter"}]},{"__symbolic":"reference","name":"ClassMethod"},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"ClassMethod"}]},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":559,"character":48,"context":{"typeName":"StmtModifier"}}]}]}],"visitStatement":[{"__symbolic":"method"}]}},"IfStmt":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Statement"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Expression"},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"Statement"}]},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"Statement"}]}]}],"visitStatement":[{"__symbolic":"method"}]}},"CommentStmt":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Statement"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}],"visitStatement":[{"__symbolic":"method"}]}},"TryCatchStmt":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Statement"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"Statement"}]},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"Statement"}]}]}],"visitStatement":[{"__symbolic":"method"}]}},"ThrowStmt":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Statement"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Expression"}]}],"visitStatement":[{"__symbolic":"method"}]}},"ExpressionTransformer":{"__symbolic":"class","members":{"visitReadVarExpr":[{"__symbolic":"method"}],"visitWriteVarExpr":[{"__symbolic":"method"}],"visitWriteKeyExpr":[{"__symbolic":"method"}],"visitWritePropExpr":[{"__symbolic":"method"}],"visitInvokeMethodExpr":[{"__symbolic":"method"}],"visitInvokeFunctionExpr":[{"__symbolic":"method"}],"visitInstantiateExpr":[{"__symbolic":"method"}],"visitLiteralExpr":[{"__symbolic":"method"}],"visitExternalExpr":[{"__symbolic":"method"}],"visitConditionalExpr":[{"__symbolic":"method"}],"visitNotExpr":[{"__symbolic":"method"}],"visitCastExpr":[{"__symbolic":"method"}],"visitFunctionExpr":[{"__symbolic":"method"}],"visitBinaryOperatorExpr":[{"__symbolic":"method"}],"visitReadPropExpr":[{"__symbolic":"method"}],"visitReadKeyExpr":[{"__symbolic":"method"}],"visitLiteralArrayExpr":[{"__symbolic":"method"}],"visitLiteralMapExpr":[{"__symbolic":"method"}],"visitAllExpressions":[{"__symbolic":"method"}],"visitDeclareVarStmt":[{"__symbolic":"method"}],"visitDeclareFunctionStmt":[{"__symbolic":"method"}],"visitExpressionStmt":[{"__symbolic":"method"}],"visitReturnStmt":[{"__symbolic":"method"}],"visitDeclareClassStmt":[{"__symbolic":"method"}],"visitIfStmt":[{"__symbolic":"method"}],"visitTryCatchStmt":[{"__symbolic":"method"}],"visitThrowStmt":[{"__symbolic":"method"}],"visitCommentStmt":[{"__symbolic":"method"}],"visitAllStatements":[{"__symbolic":"method"}]}},"RecursiveExpressionVisitor":{"__symbolic":"class","members":{"visitReadVarExpr":[{"__symbolic":"method"}],"visitWriteVarExpr":[{"__symbolic":"method"}],"visitWriteKeyExpr":[{"__symbolic":"method"}],"visitWritePropExpr":[{"__symbolic":"method"}],"visitInvokeMethodExpr":[{"__symbolic":"method"}],"visitInvokeFunctionExpr":[{"__symbolic":"method"}],"visitInstantiateExpr":[{"__symbolic":"method"}],"visitLiteralExpr":[{"__symbolic":"method"}],"visitExternalExpr":[{"__symbolic":"method"}],"visitConditionalExpr":[{"__symbolic":"method"}],"visitNotExpr":[{"__symbolic":"method"}],"visitCastExpr":[{"__symbolic":"method"}],"visitFunctionExpr":[{"__symbolic":"method"}],"visitBinaryOperatorExpr":[{"__symbolic":"method"}],"visitReadPropExpr":[{"__symbolic":"method"}],"visitReadKeyExpr":[{"__symbolic":"method"}],"visitLiteralArrayExpr":[{"__symbolic":"method"}],"visitLiteralMapExpr":[{"__symbolic":"method"}],"visitAllExpressions":[{"__symbolic":"method"}],"visitDeclareVarStmt":[{"__symbolic":"method"}],"visitDeclareFunctionStmt":[{"__symbolic":"method"}],"visitExpressionStmt":[{"__symbolic":"method"}],"visitReturnStmt":[{"__symbolic":"method"}],"visitDeclareClassStmt":[{"__symbolic":"method"}],"visitIfStmt":[{"__symbolic":"method"}],"visitTryCatchStmt":[{"__symbolic":"method"}],"visitThrowStmt":[{"__symbolic":"method"}],"visitCommentStmt":[{"__symbolic":"method"}],"visitAllStatements":[{"__symbolic":"method"}]}},"replaceVarInExpression":{"__symbolic":"function"},"findReadVarNames":{"__symbolic":"function"},"variable":{"__symbolic":"function","parameters":["name","type"],"value":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"ReadVarExpr"},"arguments":[{"__symbolic":"reference","name":"name"},{"__symbolic":"reference","name":"type"}]},"defaults":[null,null]},"importExpr":{"__symbolic":"function","parameters":["id","typeParams"],"value":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"ExternalExpr"},"arguments":[{"__symbolic":"reference","name":"id"},null,{"__symbolic":"reference","name":"typeParams"}]},"defaults":[null,null]},"importType":{"__symbolic":"function","parameters":["id","typeParams","typeModifiers"],"value":{"__symbolic":"if","condition":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"../facade/lang","name":"isPresent"},"arguments":[{"__symbolic":"reference","name":"id"}]},"thenExpression":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"expressionType"},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"reference","name":"importExpr"},"arguments":[{"__symbolic":"reference","name":"id"}]},{"__symbolic":"reference","name":"typeParams"},{"__symbolic":"reference","name":"typeModifiers"}]},"elseExpression":null},"defaults":[null,null,null]},"expressionType":{"__symbolic":"function","parameters":["expr","typeParams","typeModifiers"],"value":{"__symbolic":"if","condition":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"../facade/lang","name":"isPresent"},"arguments":[{"__symbolic":"reference","name":"expr"}]},"thenExpression":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"ExpressionType"},"arguments":[{"__symbolic":"reference","name":"expr"},{"__symbolic":"reference","name":"typeParams"},{"__symbolic":"reference","name":"typeModifiers"}]},"elseExpression":null},"defaults":[null,null,null]},"literalArr":{"__symbolic":"function","parameters":["values","type"],"value":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"LiteralArrayExpr"},"arguments":[{"__symbolic":"reference","name":"values"},{"__symbolic":"reference","name":"type"}]},"defaults":[null,null]},"literalMap":{"__symbolic":"function","parameters":["values","type"],"value":{"__symbolic":"error","message":"Function call not supported","line":897,"character":39},"defaults":[null,null]},"not":{"__symbolic":"function","parameters":["expr"],"value":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"NotExpr"},"arguments":[{"__symbolic":"reference","name":"expr"}]}},"fn":{"__symbolic":"function","parameters":["params","body","type"],"value":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"FunctionExpr"},"arguments":[{"__symbolic":"reference","name":"params"},{"__symbolic":"reference","name":"body"},{"__symbolic":"reference","name":"type"}]},"defaults":[null,null,null]},"literal":{"__symbolic":"function","parameters":["value","type"],"value":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"LiteralExpr"},"arguments":[{"__symbolic":"reference","name":"value"},{"__symbolic":"reference","name":"type"}]},"defaults":[null,null]}}},{"__symbolic":"module","version":1,"metadata":{"TypeModifier":{"Const":0},"Type":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":18,"character":32,"context":{"typeName":"TypeModifier"}}]}]}],"visitType":[{"__symbolic":"method"}],"hasModifier":[{"__symbolic":"method"}]}},"BuiltinTypeName":{"Dynamic":0,"Bool":1,"String":2,"Int":3,"Number":4,"Function":5,"Null":6},"BuiltinType":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Type"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":39,"character":27,"context":{"typeName":"BuiltinTypeName"}},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":39,"character":55,"context":{"typeName":"TypeModifier"}}]}]}],"visitType":[{"__symbolic":"method"}]}},"ExpressionType":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Type"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Expression"},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"Type"}]},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":48,"character":17,"context":{"typeName":"TypeModifier"}}]}]}],"visitType":[{"__symbolic":"method"}]}},"ArrayType":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Type"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Type"},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":58,"character":43,"context":{"typeName":"TypeModifier"}}]}]}],"visitType":[{"__symbolic":"method"}]}},"MapType":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Type"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Type"},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":66,"character":49,"context":{"typeName":"TypeModifier"}}]}]}],"visitType":[{"__symbolic":"method"}]}},"DYNAMIC_TYPE":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"BuiltinType"},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"BuiltinTypeName"},"member":"Dynamic"}]},"BOOL_TYPE":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"BuiltinType"},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"BuiltinTypeName"},"member":"Bool"}]},"INT_TYPE":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"BuiltinType"},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"BuiltinTypeName"},"member":"Int"}]},"NUMBER_TYPE":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"BuiltinType"},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"BuiltinTypeName"},"member":"Number"}]},"STRING_TYPE":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"BuiltinType"},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"BuiltinTypeName"},"member":"String"}]},"FUNCTION_TYPE":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"BuiltinType"},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"BuiltinTypeName"},"member":"Function"}]},"NULL_TYPE":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"BuiltinType"},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"BuiltinTypeName"},"member":"Null"}]},"BinaryOperator":{"Equals":0,"NotEquals":1,"Identical":2,"NotIdentical":3,"Minus":4,"Plus":5,"Divide":6,"Multiply":7,"Modulo":8,"And":9,"Or":10,"Lower":11,"LowerEquals":12,"Bigger":13,"BiggerEquals":14},"Expression":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Type"}]}],"visitExpression":[{"__symbolic":"method"}],"prop":[{"__symbolic":"method"}],"key":[{"__symbolic":"method"}],"callMethod":[{"__symbolic":"method"}],"callFn":[{"__symbolic":"method"}],"instantiate":[{"__symbolic":"method"}],"conditional":[{"__symbolic":"method"}],"equals":[{"__symbolic":"method"}],"notEquals":[{"__symbolic":"method"}],"identical":[{"__symbolic":"method"}],"notIdentical":[{"__symbolic":"method"}],"minus":[{"__symbolic":"method"}],"plus":[{"__symbolic":"method"}],"divide":[{"__symbolic":"method"}],"multiply":[{"__symbolic":"method"}],"modulo":[{"__symbolic":"method"}],"and":[{"__symbolic":"method"}],"or":[{"__symbolic":"method"}],"lower":[{"__symbolic":"method"}],"lowerEquals":[{"__symbolic":"method"}],"bigger":[{"__symbolic":"method"}],"biggerEquals":[{"__symbolic":"method"}],"isBlank":[{"__symbolic":"method"}],"cast":[{"__symbolic":"method"}],"toStmt":[{"__symbolic":"method"}]}},"BuiltinVar":{"This":0,"Super":1,"CatchError":2,"CatchStack":3},"ReadVarExpr":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Expression"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Expression form not supported","line":196,"character":20},{"__symbolic":"reference","name":"Type"}]}],"visitExpression":[{"__symbolic":"method"}],"set":[{"__symbolic":"method"}]}},"WriteVarExpr":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Expression"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"Expression"},{"__symbolic":"reference","name":"Type"}]}],"visitExpression":[{"__symbolic":"method"}],"toDeclStmt":[{"__symbolic":"method"}]}},"WriteKeyExpr":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Expression"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Expression"},{"__symbolic":"reference","name":"Expression"},{"__symbolic":"reference","name":"Expression"},{"__symbolic":"reference","name":"Type"}]}],"visitExpression":[{"__symbolic":"method"}]}},"WritePropExpr":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Expression"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Expression"},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"Expression"},{"__symbolic":"reference","name":"Type"}]}],"visitExpression":[{"__symbolic":"method"}]}},"BuiltinMethod":{"ConcatArray":0,"SubscribeObservable":1,"Bind":2},"InvokeMethodExpr":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Expression"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Expression"},{"__symbolic":"error","message":"Expression form not supported","line":266,"character":43},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"Expression"}]},{"__symbolic":"reference","name":"Type"}]}],"visitExpression":[{"__symbolic":"method"}]}},"InvokeFunctionExpr":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Expression"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Expression"},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"Expression"}]},{"__symbolic":"reference","name":"Type"}]}],"visitExpression":[{"__symbolic":"method"}]}},"InstantiateExpr":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Expression"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Expression"},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"Expression"}]},{"__symbolic":"reference","name":"Type"}]}],"visitExpression":[{"__symbolic":"method"}]}},"LiteralExpr":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Expression"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"any"},{"__symbolic":"reference","name":"Type"}]}],"visitExpression":[{"__symbolic":"method"}]}},"ExternalExpr":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Expression"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"../compile_metadata","name":"CompileIdentifierMetadata"},{"__symbolic":"reference","name":"Type"},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"Type"}]}]}],"visitExpression":[{"__symbolic":"method"}]}},"ConditionalExpr":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Expression"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Expression"},{"__symbolic":"reference","name":"Expression"},{"__symbolic":"reference","name":"Expression"},{"__symbolic":"reference","name":"Type"}]}],"visitExpression":[{"__symbolic":"method"}]}},"NotExpr":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Expression"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Expression"}]}],"visitExpression":[{"__symbolic":"method"}]}},"CastExpr":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Expression"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Expression"},{"__symbolic":"reference","name":"Type"}]}],"visitExpression":[{"__symbolic":"method"}]}},"FnParam":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"Type"}]}]}},"FunctionExpr":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Expression"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"FnParam"}]},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"Statement"}]},{"__symbolic":"reference","name":"Type"}]}],"visitExpression":[{"__symbolic":"method"}],"toDeclStmt":[{"__symbolic":"method"}]}},"BinaryOperatorExpr":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Expression"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":370,"character":23,"context":{"typeName":"BinaryOperator"}},{"__symbolic":"reference","name":"Expression"},{"__symbolic":"reference","name":"Expression"},{"__symbolic":"reference","name":"Type"}]}],"visitExpression":[{"__symbolic":"method"}]}},"ReadPropExpr":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Expression"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Expression"},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"Type"}]}],"visitExpression":[{"__symbolic":"method"}],"set":[{"__symbolic":"method"}]}},"ReadKeyExpr":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Expression"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Expression"},{"__symbolic":"reference","name":"Expression"},{"__symbolic":"reference","name":"Type"}]}],"visitExpression":[{"__symbolic":"method"}],"set":[{"__symbolic":"method"}]}},"LiteralArrayExpr":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Expression"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"Expression"}]},{"__symbolic":"reference","name":"Type"}]}],"visitExpression":[{"__symbolic":"method"}]}},"LiteralMapEntry":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"Expression"},{"__symbolic":"reference","name":"boolean"}]}]}},"LiteralMapExpr":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Expression"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"LiteralMapEntry"}]},{"__symbolic":"reference","name":"MapType"}]}],"visitExpression":[{"__symbolic":"method"}]}},"THIS_EXPR":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"ReadVarExpr"},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"BuiltinVar"},"member":"This"}]},"SUPER_EXPR":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"ReadVarExpr"},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"BuiltinVar"},"member":"Super"}]},"CATCH_ERROR_VAR":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"ReadVarExpr"},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"BuiltinVar"},"member":"CatchError"}]},"CATCH_STACK_VAR":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"ReadVarExpr"},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"BuiltinVar"},"member":"CatchStack"}]},"NULL_EXPR":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"LiteralExpr"},"arguments":[null,null]},"TYPED_NULL_EXPR":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"LiteralExpr"},"arguments":[null,{"__symbolic":"reference","name":"NULL_TYPE"}]},"StmtModifier":{"Final":0,"Private":1},"Statement":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":467,"character":32,"context":{"typeName":"StmtModifier"}}]}]}],"visitStatement":[{"__symbolic":"method"}],"hasModifier":[{"__symbolic":"method"}]}},"DeclareVarStmt":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Statement"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"Expression"},{"__symbolic":"reference","name":"Type"},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":483,"character":17,"context":{"typeName":"StmtModifier"}}]}]}],"visitStatement":[{"__symbolic":"method"}]}},"DeclareFunctionStmt":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Statement"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"FnParam"}]},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"Statement"}]},{"__symbolic":"reference","name":"Type"},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":496,"character":43,"context":{"typeName":"StmtModifier"}}]}]}],"visitStatement":[{"__symbolic":"method"}]}},"ExpressionStatement":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Statement"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Expression"}]}],"visitStatement":[{"__symbolic":"method"}]}},"ReturnStatement":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Statement"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Expression"}]}],"visitStatement":[{"__symbolic":"method"}]}},"AbstractClassPart":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Type"},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":522,"character":58,"context":{"typeName":"StmtModifier"}}]}]}],"hasModifier":[{"__symbolic":"method"}]}},"ClassField":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"AbstractClassPart"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"Type"},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":531,"character":65,"context":{"typeName":"StmtModifier"}}]}]}]}},"ClassMethod":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"AbstractClassPart"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"FnParam"}]},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"Statement"}]},{"__symbolic":"reference","name":"Type"},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":540,"character":17,"context":{"typeName":"StmtModifier"}}]}]}]}},"ClassGetter":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"AbstractClassPart"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"Statement"}]},{"__symbolic":"reference","name":"Type"},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":549,"character":17,"context":{"typeName":"StmtModifier"}}]}]}]}},"ClassStmt":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Statement"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"Expression"},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"ClassField"}]},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"ClassGetter"}]},{"__symbolic":"reference","name":"ClassMethod"},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"ClassMethod"}]},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":559,"character":48,"context":{"typeName":"StmtModifier"}}]}]}],"visitStatement":[{"__symbolic":"method"}]}},"IfStmt":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Statement"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Expression"},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"Statement"}]},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"Statement"}]}]}],"visitStatement":[{"__symbolic":"method"}]}},"CommentStmt":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Statement"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"}]}],"visitStatement":[{"__symbolic":"method"}]}},"TryCatchStmt":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Statement"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"Statement"}]},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"Statement"}]}]}],"visitStatement":[{"__symbolic":"method"}]}},"ThrowStmt":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Statement"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Expression"}]}],"visitStatement":[{"__symbolic":"method"}]}},"ExpressionTransformer":{"__symbolic":"class","members":{"visitReadVarExpr":[{"__symbolic":"method"}],"visitWriteVarExpr":[{"__symbolic":"method"}],"visitWriteKeyExpr":[{"__symbolic":"method"}],"visitWritePropExpr":[{"__symbolic":"method"}],"visitInvokeMethodExpr":[{"__symbolic":"method"}],"visitInvokeFunctionExpr":[{"__symbolic":"method"}],"visitInstantiateExpr":[{"__symbolic":"method"}],"visitLiteralExpr":[{"__symbolic":"method"}],"visitExternalExpr":[{"__symbolic":"method"}],"visitConditionalExpr":[{"__symbolic":"method"}],"visitNotExpr":[{"__symbolic":"method"}],"visitCastExpr":[{"__symbolic":"method"}],"visitFunctionExpr":[{"__symbolic":"method"}],"visitBinaryOperatorExpr":[{"__symbolic":"method"}],"visitReadPropExpr":[{"__symbolic":"method"}],"visitReadKeyExpr":[{"__symbolic":"method"}],"visitLiteralArrayExpr":[{"__symbolic":"method"}],"visitLiteralMapExpr":[{"__symbolic":"method"}],"visitAllExpressions":[{"__symbolic":"method"}],"visitDeclareVarStmt":[{"__symbolic":"method"}],"visitDeclareFunctionStmt":[{"__symbolic":"method"}],"visitExpressionStmt":[{"__symbolic":"method"}],"visitReturnStmt":[{"__symbolic":"method"}],"visitDeclareClassStmt":[{"__symbolic":"method"}],"visitIfStmt":[{"__symbolic":"method"}],"visitTryCatchStmt":[{"__symbolic":"method"}],"visitThrowStmt":[{"__symbolic":"method"}],"visitCommentStmt":[{"__symbolic":"method"}],"visitAllStatements":[{"__symbolic":"method"}]}},"RecursiveExpressionVisitor":{"__symbolic":"class","members":{"visitReadVarExpr":[{"__symbolic":"method"}],"visitWriteVarExpr":[{"__symbolic":"method"}],"visitWriteKeyExpr":[{"__symbolic":"method"}],"visitWritePropExpr":[{"__symbolic":"method"}],"visitInvokeMethodExpr":[{"__symbolic":"method"}],"visitInvokeFunctionExpr":[{"__symbolic":"method"}],"visitInstantiateExpr":[{"__symbolic":"method"}],"visitLiteralExpr":[{"__symbolic":"method"}],"visitExternalExpr":[{"__symbolic":"method"}],"visitConditionalExpr":[{"__symbolic":"method"}],"visitNotExpr":[{"__symbolic":"method"}],"visitCastExpr":[{"__symbolic":"method"}],"visitFunctionExpr":[{"__symbolic":"method"}],"visitBinaryOperatorExpr":[{"__symbolic":"method"}],"visitReadPropExpr":[{"__symbolic":"method"}],"visitReadKeyExpr":[{"__symbolic":"method"}],"visitLiteralArrayExpr":[{"__symbolic":"method"}],"visitLiteralMapExpr":[{"__symbolic":"method"}],"visitAllExpressions":[{"__symbolic":"method"}],"visitDeclareVarStmt":[{"__symbolic":"method"}],"visitDeclareFunctionStmt":[{"__symbolic":"method"}],"visitExpressionStmt":[{"__symbolic":"method"}],"visitReturnStmt":[{"__symbolic":"method"}],"visitDeclareClassStmt":[{"__symbolic":"method"}],"visitIfStmt":[{"__symbolic":"method"}],"visitTryCatchStmt":[{"__symbolic":"method"}],"visitThrowStmt":[{"__symbolic":"method"}],"visitCommentStmt":[{"__symbolic":"method"}],"visitAllStatements":[{"__symbolic":"method"}]}},"replaceVarInExpression":{"__symbolic":"function"},"findReadVarNames":{"__symbolic":"function"},"variable":{"__symbolic":"function","parameters":["name","type"],"value":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"ReadVarExpr"},"arguments":[{"__symbolic":"reference","name":"name"},{"__symbolic":"reference","name":"type"}]},"defaults":[null,null]},"importExpr":{"__symbolic":"function","parameters":["id","typeParams"],"value":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"ExternalExpr"},"arguments":[{"__symbolic":"reference","name":"id"},null,{"__symbolic":"reference","name":"typeParams"}]},"defaults":[null,null]},"importType":{"__symbolic":"function","parameters":["id","typeParams","typeModifiers"],"value":{"__symbolic":"if","condition":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"../facade/lang","name":"isPresent"},"arguments":[{"__symbolic":"reference","name":"id"}]},"thenExpression":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"expressionType"},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"reference","name":"importExpr"},"arguments":[{"__symbolic":"reference","name":"id"}]},{"__symbolic":"reference","name":"typeParams"},{"__symbolic":"reference","name":"typeModifiers"}]},"elseExpression":null},"defaults":[null,null,null]},"expressionType":{"__symbolic":"function","parameters":["expr","typeParams","typeModifiers"],"value":{"__symbolic":"if","condition":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"../facade/lang","name":"isPresent"},"arguments":[{"__symbolic":"reference","name":"expr"}]},"thenExpression":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"ExpressionType"},"arguments":[{"__symbolic":"reference","name":"expr"},{"__symbolic":"reference","name":"typeParams"},{"__symbolic":"reference","name":"typeModifiers"}]},"elseExpression":null},"defaults":[null,null,null]},"literalArr":{"__symbolic":"function","parameters":["values","type"],"value":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"LiteralArrayExpr"},"arguments":[{"__symbolic":"reference","name":"values"},{"__symbolic":"reference","name":"type"}]},"defaults":[null,null]},"literalMap":{"__symbolic":"function","parameters":["values","type"],"value":{"__symbolic":"error","message":"Function call not supported","line":897,"character":39},"defaults":[null,null]},"not":{"__symbolic":"function","parameters":["expr"],"value":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"NotExpr"},"arguments":[{"__symbolic":"reference","name":"expr"}]}},"fn":{"__symbolic":"function","parameters":["params","body","type"],"value":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"FunctionExpr"},"arguments":[{"__symbolic":"reference","name":"params"},{"__symbolic":"reference","name":"body"},{"__symbolic":"reference","name":"type"}]},"defaults":[null,null,null]},"literal":{"__symbolic":"function","parameters":["value","type"],"value":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"LiteralExpr"},"arguments":[{"__symbolic":"reference","name":"value"},{"__symbolic":"reference","name":"type"}]},"defaults":[null,null]}}}]