Files
sdk/tests/web/native/native_test.dart
T
Robert Nystrom d7ed15658a Opt multitests out of formatting in web/.
The new formatter supports opting a region of code out from being
formatted. I'm applying this marker to all of the multitests since
those tests are often very sensitive to formatting and easily broken.
This way, anyone touching a multitest (including me when I reformat
the tests) doesn't have to remember to not run the formatter on it.

Change-Id: I3d6346d31581772dc8e1701594bf9d919f28db7d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/396104
Commit-Queue: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Srujan Gaddam <srujzs@google.com>
Reviewed-by: Nate Biggs <natebiggs@google.com>
Commit-Queue: Srujan Gaddam <srujzs@google.com>
Auto-Submit: Bob Nystrom <rnystrom@google.com>
2024-11-19 00:59:10 +00:00

215 lines
7.0 KiB
Dart

// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
// Formatting can break multitests, so don't format them.
// dart format off
// Test for positive and negative uses of named declarations. This file is
// also used in tests/compiler/dart2js/model/native_test.dart.
import 'dart:_js_helper';
var topLevelField;
get topLevelGetter => null;
set topLevelSetter(_) {}
topLevelFunction() {}
// NON_NATIVE_EXTERNAL //# 01: compile-time error
external get externalTopLevelGetter; //# 01: continued
// NON_NATIVE_EXTERNAL //# 02: compile-time error
external set externalTopLevelSetter(_); //# 02: continued
// NON_NATIVE_EXTERNAL //# 03: compile-time error
external externalTopLevelFunction(); //# 03: continued
get nativeTopLevelGetter native;
set nativeTopLevelSetter(_) native;
nativeTopLevelFunction() native;
class Class {
Class.generative();
factory Class.fact() => null as dynamic;
// NON_NATIVE_EXTERNAL //# 08: compile-time error
external Class.externalGenerative(); //# 08: continued
// NON_NATIVE_EXTERNAL //# 09: compile-time error
external factory Class.externalFact(); //# 09: continued
// NATIVE_NON_INSTANCE_IN_NON_NATIVE_CLASS //# 10: compile-time error
Class.nativeGenerative() native; //# 10: continued
// NATIVE_NON_INSTANCE_IN_NON_NATIVE_CLASS //# 11: compile-time error
factory Class.nativeFact() native; //# 11: continued
var instanceField;
get instanceGetter => null;
set instanceSetter(_) {}
instanceMethod() {}
static var staticField;
static get staticGetter => null;
static set staticSetter(_) {}
static staticMethod() {}
// NON_NATIVE_EXTERNAL //# 22: compile-time error
external get externalInstanceGetter; //# 22: continued
// NON_NATIVE_EXTERNAL //# 23: compile-time error
external set externalInstanceSetter(_); //# 23: continued
// NON_NATIVE_EXTERNAL //# 24: compile-time error
external externalInstanceMethod(); //# 24: continued
// NON_NATIVE_EXTERNAL //# 25: compile-time error
external static get externalStaticGetter; //# 25: continued
// NON_NATIVE_EXTERNAL //# 26: compile-time error
external static set externalStaticSetter(_); //# 26: continued
// NON_NATIVE_EXTERNAL //# 27: compile-time error
external static externalStaticMethod(); //# 27: continued
get nativeInstanceGetter native;
set nativeInstanceSetter(_) native;
nativeInstanceMethod() native;
// NATIVE_NON_INSTANCE_IN_NON_NATIVE_CLASS //# 28: compile-time error
static get nativeStaticGetter native; //# 28: continued
// NATIVE_NON_INSTANCE_IN_NON_NATIVE_CLASS //# 29: compile-time error
static set nativeStaticSetter(_) native; //# 29: continued
// NATIVE_NON_INSTANCE_IN_NON_NATIVE_CLASS //# 30: compile-time error
static nativeStaticMethod() native; //# 30: continued
}
@Native('d')
class NativeClass {
NativeClass.generative();
factory NativeClass.fact() => null as dynamic;
// NON_NATIVE_EXTERNAL //# 31: compile-time error
external NativeClass.externalGenerative(); //# 31: continued
// NON_NATIVE_EXTERNAL //# 32: compile-time error
external factory NativeClass.externalFact(); //# 32: continued
NativeClass.nativeGenerative() native;
factory NativeClass.nativeFact() native;
var instanceField;
get instanceGetter => null;
set instanceSetter(_) {}
instanceMethod() {}
static var staticField;
static get staticGetter => null;
static set staticSetter(_) {}
static staticMethod() {}
var instanceNamedField;
// NON_NATIVE_EXTERNAL //# 36: compile-time error
external get externalInstanceGetter; //# 36: continued
// NON_NATIVE_EXTERNAL //# 37: compile-time error
external set externalInstanceSetter(_); //# 37: continued
// NON_NATIVE_EXTERNAL //# 38: compile-time error
external externalInstanceMethod(); //# 38: continued
// NON_NATIVE_EXTERNAL //# 39: compile-time error
external static get externalStaticGetter; //# 39: continued
// NON_NATIVE_EXTERNAL //# 40: compile-time error
external static set externalStaticSetter(_); //# 40: continued
// NON_NATIVE_EXTERNAL //# 41: compile-time error
external static externalStaticMethod(); //# 41: continued
get nativeInstanceGetter native;
set nativeInstanceSetter(_) native;
nativeInstanceMethod() native;
static get nativeStaticGetter native;
static set nativeStaticSetter(_) native;
static nativeStaticMethod() native;
}
main() {
if (true) return;
topLevelField;
topLevelGetter;
topLevelSetter = null;
topLevelFunction();
externalTopLevelGetter; //# 01: continued
externalTopLevelSetter = null; //# 02: continued
externalTopLevelFunction(); //# 03: continued
nativeTopLevelGetter;
nativeTopLevelSetter = null;
nativeTopLevelFunction();
var c1 = new Class.generative();
new Class.fact();
new Class.externalGenerative(); //# 08: continued
new Class.externalFact(); //# 09: continued
new Class.nativeGenerative(); //# 10: continued
new Class.nativeFact(); //# 11: continued
c1.instanceField;
c1.instanceGetter;
c1.instanceSetter = null;
c1.instanceMethod();
Class.staticField;
Class.staticGetter;
Class.staticSetter = null;
Class.staticMethod();
c1.externalInstanceGetter; //# 22: continued
c1.externalInstanceSetter = null; //# 23: continued
c1.externalInstanceMethod(); //# 24: continued
Class.externalStaticGetter; //# 25: continued
Class.externalStaticSetter = null; //# 26: continued
Class.externalStaticMethod(); //# 27: continued
c1.nativeInstanceGetter;
c1.nativeInstanceSetter = null;
c1.nativeInstanceMethod();
Class.nativeStaticGetter; //# 28: continued
Class.nativeStaticSetter = null; //# 29: continued
Class.nativeStaticMethod(); //# 30: continued
var c2 = new NativeClass.generative();
new NativeClass.fact();
new NativeClass.externalGenerative(); //# 31: continued
new NativeClass.externalFact(); //# 32: continued
new NativeClass.nativeGenerative();
new NativeClass.nativeFact();
c2.instanceField;
c2.instanceGetter;
c2.instanceSetter = null;
c2.instanceMethod();
NativeClass.staticField;
NativeClass.staticGetter;
NativeClass.staticSetter = null;
NativeClass.staticMethod();
c2.externalInstanceGetter; //# 36: continued
c2.externalInstanceSetter = null; //# 37: continued
c2.externalInstanceMethod(); //# 38: continued
NativeClass.externalStaticGetter; //# 39: continued
NativeClass.externalStaticSetter = null; //# 40: continued
NativeClass.externalStaticMethod(); //# 41: continued
c2.nativeInstanceGetter;
c2.nativeInstanceSetter = null;
c2.nativeInstanceMethod();
NativeClass.nativeStaticGetter;
NativeClass.nativeStaticSetter = null;
NativeClass.nativeStaticMethod();
}