Generate checks for library-is-loaded to fasta and dart2js.

Change-Id: Ibf453ca7390b81da7231dcb1be43e426c00d6eeb
Reviewed-on: https://dart-review.googlesource.com/35100
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
This commit is contained in:
Sigmund Cherem 2018-01-18 20:17:14 +00:00 committed by commit-bot@chromium.org
parent f274d81fa2
commit e2ad2db805
41 changed files with 319 additions and 59 deletions

View file

@ -470,4 +470,10 @@ class HintCodeTest_Kernel extends HintCodeTest_Driver {
// Expected 1 errors of type HintCode.UNUSED_SHOWN_NAME, found 0
return super.test_unusedShownName_topLevelVariable();
}
@failingTest
@override
test_importDeferredLibraryWithLoadFunction() async {
await super.test_importDeferredLibraryWithLoadFunction();
}
}

View file

@ -126,4 +126,11 @@ void g(bool c) {
test_unusedImport_metadata() async {
await super.test_unusedImport_metadata();
}
@failingTest
@override
@potentialAnalyzerProblem
test_importDeferredLibraryWithLoadFunction() async {
await super.test_importDeferredLibraryWithLoadFunction();
}
}

View file

@ -1679,6 +1679,11 @@ class KernelTypeGraphBuilder extends ir.Visitor<TypeInformation> {
return _inferrer.registerYield(node, operandType);
}
@override
TypeInformation visitCheckLibraryIsLoaded(ir.CheckLibraryIsLoaded node) {
return _types.nonNullEmpty();
}
@override
TypeInformation visitInvalidExpression(ir.InvalidExpression node) {
// TODO(johnniwinther): Maybe this should be [empty] instead?

View file

@ -116,6 +116,9 @@ abstract class KernelToElementMap {
// used in impact builder for symbol constants.
ConstantValue getConstantValue(ir.Expression expression,
{bool requireConstant: true, bool implicitNull: false});
/// Return the [ImportEntity] corresponding to [node].
ImportEntity getImport(ir.LibraryDependency node);
}
/// Interface that translates between Kernel IR nodes and entities used for
@ -182,9 +185,6 @@ abstract class KernelToElementMapForImpact extends KernelToElementMap {
/// Returns the definition information for [cls].
ClassDefinition getClassDefinition(covariant ClassEntity cls);
/// Return the [ImportEntity] corresponding to [node].
ImportEntity getImport(ir.LibraryDependency node);
}
/// Interface that translates between Kernel IR nodes and entities used for
@ -229,11 +229,6 @@ abstract class KernelToElementMapForBuilding implements KernelToElementMap {
/// Returns the constructor body entity corresponding to [constructor].
FunctionEntity getConstructorBody(ir.Constructor node);
/// Returns the uri for the deferred import [node].
// TODO(johnniwinther): Avoid this method by deriving the uri directly from
// the node.
String getDeferredUri(ir.LibraryDependency node);
/// Make a record to ensure variables that are are declared in one scope and
/// modified in another get their values updated correctly.
Map<Local, JRecordField> makeRecordContainer(

View file

@ -796,6 +796,13 @@ abstract class KernelToElementMapBase extends KernelToElementMapBaseMixin {
assert(checkFamily(cls));
return _classes.getData(cls).definition;
}
@override
ImportEntity getImport(ir.LibraryDependency node) {
ir.Library library = node.parent;
LibraryData data = _libraries.getData(_getLibrary(library));
return data.imports[node];
}
}
/// Mixin that implements the abstract methods in [KernelToElementMapBase].
@ -1284,13 +1291,6 @@ class KernelToElementMapForImpactImpl extends KernelToElementMapBase
return data.callType is FunctionType;
}
@override
ImportEntity getImport(ir.LibraryDependency node) {
ir.Library library = node.parent;
LibraryData data = _libraries.getData(_getLibrary(library));
return data.imports[node];
}
@override
MemberDefinition getMemberDefinition(MemberEntity member) {
return _getMemberDefinition(member);
@ -2721,10 +2721,6 @@ class JsKernelToElementMap extends KernelToElementMapBase
String _getClosureVariableName(String name, int id) {
return "_captured_${name}_$id";
}
String getDeferredUri(ir.LibraryDependency node) {
throw new UnimplementedError('JsKernelToElementMap.getDeferredUri');
}
}
class KernelClassQueries extends ClassQueries {

View file

@ -157,7 +157,7 @@ class LibraryData {
Iterable<ConstantValue> _metadata;
Map<ir.LibraryDependency, ImportEntity> imports;
LibraryData(this.library);
LibraryData(this.library, [this.imports]);
Iterable<ConstantValue> getMetadata(KernelToElementMapBase elementMap) {
return _metadata ??= elementMap.getMetadata(library.annotations);
@ -184,7 +184,7 @@ class LibraryData {
}
LibraryData copy() {
return new LibraryData(library);
return new LibraryData(library, imports);
}
}

View file

@ -1146,10 +1146,12 @@ class KernelSsaGraphBuilder extends ir.Visitor
@override
void visitCheckLibraryIsLoaded(ir.CheckLibraryIsLoaded checkLoad) {
HInstruction prefixConstant =
graph.addConstantString(checkLoad.import.name, closedWorld);
String uri = _elementMap.getDeferredUri(checkLoad.import);
HInstruction uriConstant = graph.addConstantString(uri, closedWorld);
ImportEntity import = _elementMap.getImport(checkLoad.import);
String loadId = deferredLoadTask.getImportDeferName(
_elementMap.getSpannable(targetElement, checkLoad), import);
HInstruction prefixConstant = graph.addConstantString(loadId, closedWorld);
HInstruction uriConstant =
graph.addConstantString('${import.uri}', closedWorld);
_pushStaticInvocation(
_commonElements.checkDeferredIsLoaded,
[prefixConstant, uriConstant],
@ -1159,11 +1161,12 @@ class KernelSsaGraphBuilder extends ir.Visitor
@override
void visitLoadLibrary(ir.LoadLibrary loadLibrary) {
String loadId = deferredLoadTask.getImportDeferName(
_elementMap.getSpannable(targetElement, loadLibrary),
_elementMap.getImport(loadLibrary.import));
// TODO(efortuna): Source information!
push(new HInvokeStatic(
commonElements.loadDeferredLibrary,
[graph.addConstantString(loadLibrary.import.name, closedWorld)],
commonMasks.nonNullType,
push(new HInvokeStatic(commonElements.loadDeferredLibrary,
[graph.addConstantString(loadId, closedWorld)], commonMasks.nonNullType,
targetCanThrow: false));
}

View file

@ -1292,8 +1292,12 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
return new ThisPropertyAccessor(this, token, n, getter, setter);
} else if (builder.isRegularMethod) {
assert(builder.isStatic || builder.isTopLevel);
return new StaticAccessor(this, token, builder.target, null,
StaticAccessor accessor = new StaticAccessor(
this, token, builder.target, null,
prefixName: prefix?.name);
return (prefix?.deferred == true)
? new DeferredAccessor(this, token, prefix, accessor)
: accessor;
} else if (builder is PrefixBuilder) {
if (constantExpressionRequired && builder.deferred) {
deprecated_addCompileTimeError(
@ -1329,7 +1333,9 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
charOffset, "Not a constant expression.");
}
}
return accessor;
return (prefix?.deferred == true)
? new DeferredAccessor(this, token, prefix, accessor)
: accessor;
}
}
@ -3632,6 +3638,14 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
prefixName, targetOffset, targetClass, readTarget)
..fileOffset = offsetForToken(token);
}
@override
Expression makeDeferredCheck(Expression expression, PrefixBuilder prefix) {
return new Let(
new VariableDeclaration.forValue(
new CheckLibraryIsLoaded(prefix.dependency)),
expression);
}
}
class Identifier {

View file

@ -32,6 +32,7 @@ import 'frontend_accessors.dart' as kernel
LoadLibraryAccessor,
PropertyAccessor,
ReadOnlyAccessor,
DeferredAccessor,
DelayedErrorAccessor,
StaticAccessor,
SuperIndexAccessor,
@ -138,6 +139,8 @@ abstract class BuilderHelper {
StaticGet makeStaticGet(Member readTarget, Token token,
{String prefixName, int targetOffset: -1, Class targetClass});
Expression makeDeferredCheck(Expression expression, PrefixBuilder prefix);
dynamic deprecated_addCompileTimeError(int charOffset, String message);
bool isIdentical(Member member);
@ -825,6 +828,24 @@ class LoadLibraryAccessor extends kernel.LoadLibraryAccessor
}
}
class DeferredAccessor extends kernel.DeferredAccessor with FastaAccessor {
DeferredAccessor(BuilderHelper helper, Token token, PrefixBuilder builder,
StaticAccessor expression)
: super(helper, token, builder, expression);
String get plainNameForRead {
return unsupported(
"deferredAccessor.plainNameForRead", offsetForToken(token), uri);
}
StaticAccessor get staticAccessor => super.staticAccessor;
Expression doInvocation(int offset, Arguments arguments) {
return helper.makeDeferredCheck(
staticAccessor.doInvocation(offset, arguments), builder);
}
}
class SuperPropertyAccessor extends kernel.SuperPropertyAccessor
with FastaAccessor {
SuperPropertyAccessor(BuilderHelper helper, Token token, Name name,

View file

@ -15,7 +15,7 @@ import '../problems.dart' show unhandled;
import 'fasta_accessors.dart' show BuilderHelper;
import 'kernel_builder.dart' show LoadLibraryBuilder;
import 'kernel_builder.dart' show LoadLibraryBuilder, PrefixBuilder;
import 'kernel_shadow_ast.dart'
show
@ -736,6 +736,27 @@ abstract class LoadLibraryAccessor extends Accessor {
}
}
abstract class DeferredAccessor extends Accessor {
final PrefixBuilder builder;
final StaticAccessor staticAccessor;
DeferredAccessor(
BuilderHelper helper, Token token, this.builder, this.staticAccessor)
: super(helper, token);
Expression _makeRead(ShadowComplexAssignment complexAssignment) {
return helper.makeDeferredCheck(
staticAccessor._makeRead(complexAssignment), builder);
}
Expression _makeWrite(Expression value, bool voidContext,
ShadowComplexAssignment complexAssignment) {
return helper.makeDeferredCheck(
staticAccessor._makeWrite(value, voidContext, complexAssignment),
builder);
}
}
class ReadOnlyAccessor extends Accessor {
Expression expression;
VariableDeclaration value;

View file

@ -10,6 +10,11 @@ annotation_top: Crash
argument_mismatch: Crash
bad_setter_abstract: Crash
cascade: Crash
check_deferred_read: Crash
check_deferred_before_write: Crash
check_deferred_before_call: Crash
check_deferred_before_args: Crash
check_deferred_before_args2: Crash
classes: Crash
duplicated_named_args_3: Crash
dynamic_and_void: Fail
@ -109,6 +114,7 @@ rasta/issue_000070: Crash
rasta/malformed_function: Crash
rasta/mandatory_parameter_initializer: Crash
rasta/parser_error: Crash
rasta/previsit_deferred: Crash
rasta/static: Crash
rasta/super_initializer: Crash
rasta/supports_reflection: VerificationError

View file

@ -0,0 +1,13 @@
// 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.md file.
import 'deferred_lib.dart' deferred as lib;
main() {}
test() {
lib.x = m2();
lib.m(m2());
}
m2() => 1;

View file

@ -0,0 +1,11 @@
library;
import self as self;
import "./deferred_lib.dart" as def;
static method main() → dynamic {}
static method test() → dynamic {
let final dynamic #t1 = CheckLibraryIsLoaded(lib) in def::x = self::m2();
let final dynamic #t2 = CheckLibraryIsLoaded(lib) in def::m(self::m2());
}
static method m2() → dynamic
return 1;

View file

@ -0,0 +1,9 @@
library;
import self as self;
static method main() → dynamic
;
static method test() → dynamic
;
static method m2() → dynamic
;

View file

@ -0,0 +1,11 @@
library;
import self as self;
import "./deferred_lib.dart" as def;
static method main() → dynamic {}
static method test() → dynamic {
let final dynamic #t1 = CheckLibraryIsLoaded(lib) in def::x = self::m2();
let final dynamic #t2 = CheckLibraryIsLoaded(lib) in def::m(self::m2());
}
static method m2() → dynamic
return 1;

View file

@ -0,0 +1,13 @@
// 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.md file.
import 'deferred_lib.dart' deferred as lib;
main() {}
test() async {
// The current evaluation order will triger the check of lib.m before the
// loadLibrary call.
lib.m(await lib.loadLibrary());
}

View file

@ -0,0 +1,8 @@
library;
import self as self;
import "./deferred_lib.dart" as def;
static method main() → dynamic {}
static method test() → dynamic async {
let final dynamic #t1 = CheckLibraryIsLoaded(lib) in def::m(await LoadLibrary(lib));
}

View file

@ -0,0 +1,7 @@
library;
import self as self;
static method main() → dynamic
;
static method test() → dynamic
;

View file

@ -0,0 +1,8 @@
library;
import self as self;
import "./deferred_lib.dart" as def;
static method main() → dynamic {}
static method test() → dynamic async {
let final dynamic #t1 = CheckLibraryIsLoaded(lib) in def::m(await LoadLibrary(lib));
}

View file

@ -0,0 +1,11 @@
// 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.md file.
import 'deferred_lib.dart' deferred as lib;
main() {}
test() {
lib.m(3);
}

View file

@ -0,0 +1,8 @@
library;
import self as self;
import "./deferred_lib.dart" as def;
static method main() → dynamic {}
static method test() → dynamic {
let final dynamic #t1 = CheckLibraryIsLoaded(lib) in def::m(3);
}

View file

@ -0,0 +1,7 @@
library;
import self as self;
static method main() → dynamic
;
static method test() → dynamic
;

View file

@ -0,0 +1,8 @@
library;
import self as self;
import "./deferred_lib.dart" as def;
static method main() → dynamic {}
static method test() → dynamic {
let final dynamic #t1 = CheckLibraryIsLoaded(lib) in def::m(3);
}

View file

@ -0,0 +1,10 @@
// 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.md file.
import 'deferred_lib.dart' deferred as lib;
main() {}
test() {
lib.x = 2;
}

View file

@ -0,0 +1,8 @@
library;
import self as self;
import "./deferred_lib.dart" as def;
static method main() → dynamic {}
static method test() → dynamic {
let final dynamic #t1 = CheckLibraryIsLoaded(lib) in def::x = 2;
}

View file

@ -0,0 +1,7 @@
library;
import self as self;
static method main() → dynamic
;
static method test() → dynamic
;

View file

@ -0,0 +1,8 @@
library;
import self as self;
import "./deferred_lib.dart" as def;
static method main() → dynamic {}
static method test() → dynamic {
let final dynamic #t1 = CheckLibraryIsLoaded(lib) in def::x = 2;
}

View file

@ -0,0 +1,10 @@
// 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.md file.
import 'deferred_lib.dart' deferred as lib;
main() {}
test() {
print(lib.x + 1);
}

View file

@ -0,0 +1,9 @@
library;
import self as self;
import "dart:core" as core;
import "./deferred_lib.dart" as def;
static method main() → dynamic {}
static method test() → dynamic {
core::print((let final dynamic #t1 = CheckLibraryIsLoaded(lib) in def::x).+(1));
}

View file

@ -0,0 +1,7 @@
library;
import self as self;
static method main() → dynamic
;
static method test() → dynamic
;

View file

@ -0,0 +1,9 @@
library;
import self as self;
import "dart:core" as core;
import "./deferred_lib.dart" as def;
static method main() → dynamic {}
static method test() → dynamic {
core::print((let final dynamic #t1 = CheckLibraryIsLoaded(lib) in def::x).+(1));
}

View file

@ -0,0 +1,7 @@
// 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.md file.
dynamic m(x) => null;
var x = 0;

View file

@ -4,6 +4,7 @@
import 'deferred_lib.dart' deferred as lib;
main() {
main() {}
test() {
lib.foo();
}

View file

@ -2,6 +2,7 @@ library;
import self as self;
import "./deferred_lib.dart" as def;
static method main() → dynamic {
def::foo();
static method main() → dynamic {}
static method test() → dynamic {
let final dynamic #t1 = CheckLibraryIsLoaded(lib) in def::foo();
}

View file

@ -3,3 +3,5 @@ import self as self;
static method main() → dynamic
;
static method test() → dynamic
;

View file

@ -0,0 +1,8 @@
library;
import self as self;
import "./deferred_lib.dart" as def;
static method main() → dynamic {}
static method test() → dynamic {
let final dynamic #t1 = CheckLibraryIsLoaded(lib) in def::foo();
}

View file

@ -67,6 +67,7 @@ uninitialized_fields: Fail
unused_methods: Fail
void_methods: Fail
warn_unresolved_sends: Fail # Test assumes Dart 1.0 semantics
check_deferred_read: Fail
inference/abstract_class_instantiation: Fail # Issue #30040
inference/conflicts_can_happen: TypeCheckError
@ -174,7 +175,6 @@ rasta/mandatory_parameter_initializer: Fail
rasta/mixin_library: TypeCheckError
rasta/native_is_illegal: Fail
rasta/parser_error: Fail
rasta/previsit_deferred: Fail
rasta/static: Fail
rasta/super: TypeCheckError
rasta/super_initializer: Fail

View file

@ -143,7 +143,6 @@ constructor_redirect2_negative_test: Crash # Issue 30856
constructor_redirect2_test/01: MissingCompileTimeError
constructor_redirect_test/01: Crash # Assertion failure: Cannot find value Instance of 'ThisLocal' in (local(A.named2#x), local(A.named2#y), local(A.named2#z)) for j:constructor(A.named2).
cyclic_constructor_test/01: Crash # Issue 30856
deferred_call_empty_before_load_test: RuntimeError
deferred_constraints_constants_test/default_argument2: Crash # Unsupported operation: KernelDeferredLoadTask.addMirrorElementsForLibrary
deferred_constraints_constants_test/none: Crash # Unsupported operation: KernelDeferredLoadTask.addMirrorElementsForLibrary
deferred_constraints_constants_test/reference_after_load: Crash # Unsupported operation: KernelDeferredLoadTask.addMirrorElementsForLibrary
@ -840,7 +839,6 @@ constructor_redirect2_negative_test: Crash # Issue 30856
constructor_redirect2_test/01: MissingCompileTimeError
constructor_redirect_test/01: Crash # Assertion failure: Cannot find value Instance of 'ThisLocal' in (local(A.named2#x), local(A.named2#y), local(A.named2#z)) for j:constructor(A.named2).
cyclic_constructor_test/01: Crash # Issue 30856
deferred_call_empty_before_load_test: RuntimeError
deferred_constraints_constants_test/none: CompileTimeError
deferred_constraints_constants_test/reference_after_load: CompileTimeError
deferred_constraints_type_annotation_test/as_operation: RuntimeError
@ -1167,7 +1165,6 @@ cyclic_type_test/01: RuntimeError
cyclic_type_test/02: RuntimeError
cyclic_type_test/03: RuntimeError
cyclic_type_test/04: RuntimeError
deferred_call_empty_before_load_test: RuntimeError
deferred_constraints_constants_test/none: CompileTimeError
deferred_constraints_constants_test/reference_after_load: CompileTimeError
deferred_constraints_type_annotation_test/as_operation: Crash # NoSuchMethodError: The getter 'closureClassEntity' was called on null.

View file

@ -1197,7 +1197,6 @@ covariance_type_parameter_test/03: Crash # NoSuchMethodError: The method 'hasSub
covariant_override/runtime_check_test: RuntimeError
covariant_subtyping_test: CompileTimeError
cyclic_constructor_test/01: Crash # Stack Overflow
deferred_call_empty_before_load_test: RuntimeError
deferred_constraints_constants_test/default_argument2: Crash # Unsupported operation: KernelDeferredLoadTask.addMirrorElementsForLibrary
deferred_constraints_constants_test/none: Crash # Unsupported operation: KernelDeferredLoadTask.addMirrorElementsForLibrary
deferred_constraints_constants_test/reference_after_load: Crash # Unsupported operation: KernelDeferredLoadTask.addMirrorElementsForLibrary
@ -1749,7 +1748,6 @@ covariant_subtyping_unsafe_call1_test: RuntimeError
covariant_subtyping_unsafe_call2_test: RuntimeError
covariant_subtyping_unsafe_call3_test: RuntimeError
cyclic_constructor_test/01: Crash # Stack Overflow
deferred_call_empty_before_load_test: RuntimeError
deferred_constraints_constants_test/default_argument2: Crash # Unsupported operation: KernelDeferredLoadTask.addMirrorElementsForLibrary
deferred_constraints_constants_test/none: Crash # Unsupported operation: KernelDeferredLoadTask.addMirrorElementsForLibrary
deferred_constraints_constants_test/reference_after_load: Crash # Unsupported operation: KernelDeferredLoadTask.addMirrorElementsForLibrary

View file

@ -41,7 +41,7 @@ tearoff_dynamic_test: Crash
deferred_load_constants_test/02: Fail
deferred_load_constants_test/03: Fail
deferred_load_constants_test/05: Fail
deferred_not_loaded_check_test: RuntimeError
deferred_not_loaded_check_test: CompileTimeError
vm/causal_async_exception_stack2_test: SkipByDesign
vm/causal_async_exception_stack_test: SkipByDesign
vm/regress_27201_test: Fail
@ -329,11 +329,9 @@ cyclic_typedef_test/10: Crash
cyclic_typedef_test/11: Crash
default_factory2_test/01: MissingCompileTimeError
default_factory_test/01: MissingCompileTimeError
deferred_call_empty_before_load_test: RuntimeError # Fasta/KernelVM bug: Deferred loading kernel issue 28335.
deferred_call_empty_before_load_test: CompileTimeError # VM doen't support deserializing load-library checks (issue XXX)
deferred_closurize_load_library_test: CompileTimeError # KernelVM bug: Deferred loading kernel issue 28335.
deferred_closurize_load_library_test: DartkCrash
deferred_constant_list_test: CompileTimeError # KernelVM bug: Deferred loading kernel issue 28335.
deferred_constant_list_test: RuntimeError
deferred_constraints_constants_test/default_argument2: Pass # Passes by mistake. KernelVM bug: Deferred loading kernel issue 28335.
deferred_constraints_constants_test/none: CompileTimeError # KernelVM bug: Deferred loading kernel issue 28335.
deferred_constraints_constants_test/reference_after_load: CompileTimeError # KernelVM bug: Deferred loading kernel issue 28335.
@ -343,35 +341,27 @@ deferred_constraints_type_annotation_test/none: CompileTimeError # Deferred load
deferred_constraints_type_annotation_test/static_method: CompileTimeError # Deferred loading kernel issue 28335.
deferred_constraints_type_annotation_test/type_annotation_non_deferred: CompileTimeError # Deferred loading kernel issue 28335.
deferred_function_type_test: CompileTimeError # KernelVM bug: Deferred loading kernel issue 28335.
deferred_function_type_test: RuntimeError
deferred_global_test: CompileTimeError # KernelVM bug: Deferred loading kernel issue 28335.
deferred_import_core_test: CompileTimeError # KernelVM bug: Deferred loading kernel issue 28335.
deferred_inheritance_constraints_test/extends: MissingCompileTimeError # Fasta/KernelVM bug: Deferred loading kernel issue 28335.
deferred_inheritance_constraints_test/implements: MissingCompileTimeError # Fasta/KernelVM bug: Deferred loading kernel issue 28335.
deferred_inheritance_constraints_test/mixin: MissingCompileTimeError # Fasta/KernelVM bug: Deferred loading kernel issue 28335.
deferred_inheritance_constraints_test/redirecting_constructor: MissingCompileTimeError
deferred_inheritance_constraints_test/redirecting_constructor: RuntimeError # Fasta/KernelVM bug: Deferred loading kernel issue 28335.
deferred_inheritance_constraints_test/redirecting_constructor: MissingCompileTimeError # Fasta/KernelVM bug: Deferred loading kernel issue 28335.
deferred_inlined_test: CompileTimeError # KernelVM bug: Deferred loading kernel issue 28335.
deferred_inlined_test: RuntimeError
deferred_load_constants_test/none: CompileTimeError # KernelVM bug: Deferred loading kernel issue 28335.
deferred_load_inval_code_test: CompileTimeError # KernelVM bug: Deferred loading kernel issue 28335.
deferred_load_library_wrong_args_test/01: Pass # Passes by mistake. KernelVM bug: Deferred loading kernel issue 28335.
deferred_load_library_wrong_args_test/none: CompileTimeError # KernelVM bug: Deferred loading kernel issue 28335.
deferred_mixin_test: CompileTimeError # KernelVM bug: Deferred loading kernel issue 28335.
deferred_mixin_test: RuntimeError
deferred_no_such_method_test: CompileTimeError # KernelVM bug: Deferred loading kernel issue 28335.
deferred_not_loaded_check_test: RuntimeError # Fasta/KernelVM bug: Deferred loading kernel issue 28335.
deferred_not_loaded_check_test: CompileTimeError # Fasta/KernelVM bug: Deferred loading kernel issue 28335.
deferred_only_constant_test: CompileTimeError # KernelVM bug: Deferred loading kernel issue 28335.
deferred_only_constant_test: RuntimeError
deferred_optimized_test: CompileTimeError # KernelVM bug: Deferred loading kernel issue 28335.
deferred_redirecting_factory_test: CompileTimeError # KernelVM bug: Deferred loading kernel issue 28335.
deferred_redirecting_factory_test: RuntimeError
deferred_redirecting_factory_test: RuntimeError # KernelVM bug: Deferred loading kernel issue 28335.
deferred_regression_22995_test: CompileTimeError # KernelVM bug: Deferred loading kernel issue 28335.
deferred_regression_28678_test: CompileTimeError # KernelVM bug: Deferred loading kernel issue 28335.
deferred_shadow_load_library_test: CompileTimeError # KernelVM bug: Deferred loading kernel issue 28335.
deferred_shadow_load_library_test: RuntimeError
deferred_shared_and_unshared_classes_test: CompileTimeError # KernelVM bug: Deferred loading kernel issue 28335.
deferred_shared_and_unshared_classes_test: RuntimeError
deferred_static_seperate_test: CompileTimeError # KernelVM bug: Deferred loading kernel issue 28335.
deferred_super_dependency_test/01: Pass # Passes by mistake. KernelVM bug: Deferred loading kernel issue 28335.
deferred_type_dependency_test/as: CompileTimeError # KernelVM bug: Deferred loading kernel issue 28335.
@ -1149,7 +1139,7 @@ deep_nesting1_negative_test: Skip # Issue 31158
deep_nesting2_negative_test: Skip # Issue 31158
default_factory2_test/01: MissingCompileTimeError
default_factory_test/01: MissingCompileTimeError
deferred_call_empty_before_load_test: RuntimeError # Fasta/KernelVM bug: Deferred loading kernel issue 28335.
deferred_call_empty_before_load_test: CompileTimeError # Fasta/KernelVM bug: Deferred loading kernel issue 28335.
deferred_closurize_load_library_test: CompileTimeError # KernelVM bug: Deferred loading kernel issue 28335.
deferred_constant_list_test: CompileTimeError # KernelVM bug: Deferred loading kernel issue 28335.
deferred_constraints_constants_test: SkipByDesign
@ -1176,7 +1166,7 @@ deferred_load_library_wrong_args_test/01: Pass # Passes by mistake. KernelVM bug
deferred_load_library_wrong_args_test/none: CompileTimeError # KernelVM bug: Deferred loading kernel issue 28335.
deferred_mixin_test: CompileTimeError # KernelVM bug: Deferred loading kernel issue 28335.
deferred_no_such_method_test: CompileTimeError # KernelVM bug: Deferred loading kernel issue 28335.
deferred_not_loaded_check_test: RuntimeError # Fasta/KernelVM bug: Deferred loading kernel issue 28335.
deferred_not_loaded_check_test: CompileTimeError # Fasta/KernelVM bug: Deferred loading kernel issue 28335.
deferred_only_constant_test: CompileTimeError # KernelVM bug: Deferred loading kernel issue 28335.
deferred_optimized_test: CompileTimeError # KernelVM bug: Deferred loading kernel issue 28335.
deferred_redirecting_factory_test: CompileTimeError, Fail, Crash # Issue 23408, KernelVM bug: Deferred loading kernel issue 28335.

View file

@ -135,7 +135,7 @@ mirrors/library_imports_shown_test: RuntimeError # Issue 31402 (Invocation argum
mirrors/library_metadata_test: RuntimeError
mirrors/list_constructor_test/01: Crash, RuntimeError
mirrors/list_constructor_test/none: Crash, RuntimeError
mirrors/load_library_test: Crash, RuntimeError
mirrors/load_library_test: CompileTimeError
mirrors/metadata_allowed_values_test/13: MissingCompileTimeError
mirrors/metadata_allowed_values_test/14: MissingCompileTimeError
mirrors/metadata_allowed_values_test/16: Skip # Flaky, crashes.