public DefaultDefinition EmitDefinition(EmitMode mode) { if (mode == EmitMode.ForStorage) { SaveObjectID(); } else { RemoveObjectID(); } try { DefaultDefinition statement = new DefaultDefinition(); statement.MetaData = MetaData == null ? null : MetaData.Copy(); statement.Expression = (Expression)Node.EmitStatement(mode); return(statement); } finally { if (mode == EmitMode.ForStorage) { RemoveObjectID(); } } }
public override bool TryGetDefinitionFor(object value, out ITypeDefinition typeDefinition) { if (DefaultDefinition.CanAcceptValue(value)) { typeDefinition = DefaultDefinition; return(true); } typeDefinition = default; return(false); }