Flutter Engine
The Flutter Engine
date.cc
Go to the documentation of this file.
1// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2// for details. All rights reserved. Use of this source code is governed by a
3// BSD-style license that can be found in the LICENSE file.
4
5#include <time.h>
6
8
9#include "vm/native_entry.h"
10#include "vm/object.h"
11#include "vm/os.h"
12
13namespace dart {
14
16
17DEFINE_NATIVE_ENTRY(DateTime_timeZoneName, 0, 1) {
19 arguments->NativeArgAt(0));
20 int64_t seconds = dart_seconds.AsInt64Value();
21 if (llabs(seconds) > kMaxAllowedSeconds) {
23 }
24 const char* name = OS::GetTimeZoneName(seconds);
25 return String::New(name);
26}
27
28DEFINE_NATIVE_ENTRY(DateTime_timeZoneOffsetInSeconds, 0, 1) {
30 arguments->NativeArgAt(0));
31 int64_t seconds = dart_seconds.AsInt64Value();
32 if (llabs(seconds) > kMaxAllowedSeconds) {
34 }
36 return Integer::New(offset);
37}
38
39DEFINE_NATIVE_ENTRY(DateTime_currentTimeMicros, 0, 0) {
41}
42
43} // namespace dart
static DART_NORETURN void ThrowArgumentError(const Instance &arg)
Definition: exceptions.cc:1082
static IntegerPtr New(const String &str, Heap::Space space=Heap::kNew)
Definition: object.cc:22984
static const char * GetTimeZoneName(int64_t seconds_since_epoch)
static int64_t GetCurrentTimeMicros()
static int GetTimeZoneOffsetInSeconds(int64_t seconds_since_epoch)
static StringPtr New(const char *cstr, Heap::Space space=Heap::kNew)
Definition: object.cc:23698
Definition: dart_vm.cc:33
const char *const name
constexpr int32_t kMaxInt32
Definition: globals.h:483
DEFINE_NATIVE_ENTRY(List_allocate, 0, 2)
Definition: array.cc:13
static int64_t kMaxAllowedSeconds
Definition: date.cc:15
#define GET_NON_NULL_NATIVE_ARGUMENT(type, name, value)
Definition: native_entry.h:74
SeparatedVector2 offset