Compare commits
No commits in common. "master" and "v7.0.0" have entirely different histories.
|
@ -1,6 +1,3 @@
|
|||
## v7.1.0
|
||||
- Using a shared helper method to streamline the generated code
|
||||
|
||||
## v7.0.0
|
||||
- Using a dedicated wrapper for i18n strings to streamline the generated code
|
||||
|
||||
|
|
|
@ -423,16 +423,16 @@ function var_reset($name, \mtgType $type, $default = null)
|
|||
|
||||
if($default)
|
||||
{
|
||||
$default_val = is_array($default) ? $default : json_decode($default, true);
|
||||
if(is_array($default_val))
|
||||
$default = is_array($default) ? $default : json_decode($default, true);
|
||||
if(is_array($default))
|
||||
{
|
||||
foreach($default_val as $k => $v)
|
||||
foreach($default as $k => $v)
|
||||
{
|
||||
$kf = $type->getField($k);
|
||||
$str .= var_reset("$name." . $kf->getName(), $kf->getType(), $v);
|
||||
}
|
||||
}
|
||||
else if(is_null_str($default))
|
||||
else if($default === null)
|
||||
$str .= "$name = null; ";
|
||||
else
|
||||
throw new Exception("Bad default value for struct: " . var_export($default, true));
|
||||
|
@ -445,7 +445,7 @@ function var_reset($name, \mtgType $type, $default = null)
|
|||
|
||||
function is_null_str($default)
|
||||
{
|
||||
return is_string($default) && strtolower($default) === 'null';
|
||||
return is_string($default) && json_decode($default, true) === null;
|
||||
}
|
||||
|
||||
function var_sync($fname, \mtgType $type, $buf, array $tokens, $opts)
|
||||
|
|
|
@ -319,7 +319,14 @@ base.SyncFields(ctx);
|
|||
int fields_amount = {{fields_count(o)}};
|
||||
var primary_id_mask = FieldsMask.MakeClean(fields_amount);
|
||||
SetPrimaryFieldsChanged(ref primary_id_mask);
|
||||
return FieldsMask.CheckContentsChanged(fields_amount, ref primary_id_mask, ref fields_mask);
|
||||
for(int i = 0; i < fields_amount; i++)
|
||||
{
|
||||
bool is_primary_id = primary_id_mask.IsDirty(i);
|
||||
if(!is_primary_id && fields_mask.IsDirty(i))
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public void SetDirtyMask()
|
||||
|
|
Loading…
Reference in New Issue