[WEEX-551][core][Android] Add new new data render mode. (#1409)

* [core] init vnode & ast interface

* [core] add basic code generator

* [core] Add vnode for data-render

* [core] Add basic VM and ExecState

* add ast source code

* [core] Add StringTable and support string value

* fix compile issue

* [core] opcode implement

* [core] code generator implement

* [core] int to int64 & opcode implement

* [core]VM init in VNodeRenderManager

* [core]support createElement and appendChild

* [core] remove android log

* [core]fix vnode_manager compile error

* [core]prototype test

* [core] support childblockstatement visit

* [core]Add setAttr support, fix chunk ast parse

* [core]fix create element args error

* rename ast constant,add assignment

* code optimize  and parsing using stacks

* [core] LT LE JMP opcode implement

* [core] opcode implement

* [core] LT LE JMP opcode implement

* pasing if for statement

* [core] Support global variables getter

* [core] Add time log for data_render, add setClassList support, fix parser error.

* [core]fix setClassList issue

* [core] add op_code OP_GOTO

* [core] OP_GOTO opcode implement

* [core] for and if statement implement

* [core] assign expression implement

* [core] op_code increment & decrement implement

* [core] Add bool and double AST

* [core] op_code increment & decrement implement

* [core] prefix expression implement & fix value copy construction

* [core] Add VNodeRenderContext, move context code from exec_state.

* [core] [data_render] support c_ptr value

* [core] Fixed crash and paser name error

* [core] add test workspace

* Revert "[core] add test workspace"

This reverts commit e235e990dfd34fefe9a4978e7e22d3a08f97c380.

* [core] boolean constant & double constant code generator

* [core]fix compile

* [core]using expression parser for match and binding in parser.cc

* [core] declaration list code generator

* [core] op_code table implement

* [core] op_code table implement

* [core] modify cmakelist file

* [core][data_render] fix compile error & format code

* [core] op_code table_factory && bug fix

* [core]remove statistic and parse_context, fix code style

* [core]Add "data" parse to global var.

* [core] using sizeof while parsing for,'match' got higher priority , improve parser code style.

* [core][Android] optimize renderobject to component link.

A continuous optimization process.

1. Use creator for list and cell component to avoid reflection
2. Add useScroller field to avoid using set to store used types
 in a instance
3. Use WXSDKInstance instead of instanceId to avoid map search
4. Use JNIEnv::NewStringUTF instead of using cache

* [core]Add refresh and close test for data_render. Add a test activity in playground

* [core] member access & array constant & object constant code generator

* [core] gettable op_code bugfix

* [core] add local c function (sizeof, log)

* [core][Android] remove MeasureMode_jni, optimize text layout

* [core] add local function gettablesize

* [core] Table lifecycle management & avoid [new] operate

* [core]  json array size bugfix & set table value bugfix

* [core] add constructor for VNodeRenderContext

* [core] String add operation

* [core]Fix for statement and if statement parse, remove extra json

* [core] use VNode* value instead of id and tag

* [core] remove useless code & format

* [core] function prototype implement

* [core]Add support for component. Add merge function. Add CommaExpression. Fix AssignExpression opcode. Fix ForStatement alias update problem. Fix GETTABLE opcode bug. Add ReturnStatement opcode generation and vm support. Add OP_INVALID VM support, TBD.

* [core] Making function in chunk global, Fix component call, Fix ObjectConstant

* [core]Using this to emulate class-field behavior

* [core] string factory release

* [core] use unique_ptr to manage pointer

* [core] fix opcode ABC overflow problem add ABx and Ax

In addition:
1.Parser result should return copy one.
2.RenderSuccess is called by UI thread, do not need to post action.
3.Others

* [core] Add Render Strategy DATA_RENDER

1. fix crash when exit page.
2. fix refresh init_data not working bug

* [core] move json11 to third_party

* [core] rm non-use file

* [core]Add appendUrlParam func

* [core] add tostring cfunc

* [core] update so

* [core]fix type convert of ValueLT...; fix refresh process.

* [core] fix WeexProxy NPE

* [core] update weexcore.so

* [core] fix sequential problem

* [core] fix weexproxy npe

* [core] Add so initialize protection, fix jni_onload error
1 file changed
tree: 77d1e490bc790faa37eba9c3e891ec6a74727833
  1. src/
  2. tools/
  3. build.gradle
  4. proguard-rules.pro