Update Release

This commit is contained in:
vczh
2016-04-10 15:22:15 -07:00
parent 79e7704184
commit 75c1f408a0
13 changed files with 17 additions and 20 deletions

View File

@@ -6852,34 +6852,30 @@ Workflow_GenerateInstanceClass
{
if (auto type = parseType(state->typeName, L"state \"" + state->name.ToString() + L" of instance \"" + context->className + L"\""))
{
auto decl = MakePtr<WfVariableDeclaration>();
addDecl(decl);
decl->name.value = state->name.ToString();
decl->type = type;
if (!beforePrecompile)
{
auto decl = MakePtr<WfVariableDeclaration>();
addDecl(decl);
decl->name.value = state->name.ToString();
decl->type = type;
decl->expression = getPropValue(state->name.ToString(), type, state->value);
}
else
{
{
auto decl = MakePtr<WfFunctionDeclaration>();
addDecl(decl);
auto nullExpr = MakePtr<WfLiteralExpression>();
nullExpr->value = WfLiteralValue::Null;
decl->anonymity = WfFunctionAnonymity::Named;
decl->name.value = L"<get>" + state->name.ToString();
decl->returnType = CopyType(type);
decl->statement = notImplemented();
}
{
auto decl = MakePtr<WfPropertyDeclaration>();
addDecl(decl);
auto castObject = MakePtr<WfInferExpression>();
castObject->type = GetTypeFromTypeInfo(TypeInfoRetriver<Value>::CreateTypeInfo().Obj());
castObject->expression = nullExpr;
decl->name.value = state->name.ToString();
decl->type = type;
decl->getter.value = L"<get>" + state->name.ToString();
}
auto castType = MakePtr<WfTypeCastingExpression>();
castType->strategy = WfTypeCastingStrategy::Strong;
castType->type = CopyType(type);
castType->expression = castObject;
decl->expression = castType;
}
}
}

View File

@@ -2362,6 +2362,7 @@ PartialClass
arguments[1] = Value::From(resolver.Obj());
initialize->Invoke(ctorInstance, arguments);
}
return true;
}
return false;
}

Binary file not shown.

Binary file not shown.