@@ -1730,11 +1730,6 @@ class Harness {
17301730 _inferenceUpdate4Enabled = false ;
17311731 }
17321732
1733- void disableSoundFlowAnalysis () {
1734- assert (! _started);
1735- _soundFlowAnalysisEnabled = false ;
1736- }
1737-
17381733 void disablePatterns () {
17391734 assert (! _started);
17401735 _patternsEnabled = false ;
@@ -1745,6 +1740,11 @@ class Harness {
17451740 _respectImplicitlyTypedVarInitializers = false ;
17461741 }
17471742
1743+ void disableSoundFlowAnalysis () {
1744+ assert (! _started);
1745+ _soundFlowAnalysisEnabled = false ;
1746+ }
1747+
17481748 /// Attempts to look up a member named [memberName] in the given [type] . If
17491749 /// a member is found, returns its [_PropertyElement] object; otherwise `null`
17501750 /// is returned.
@@ -2923,6 +2923,63 @@ class MiniAstOperations
29232923 return type is PrimaryType && type.isInterfaceType;
29242924 }
29252925
2926+ @override
2927+ bool isKnownType (SharedTypeSchemaView typeSchema) {
2928+ var unwrapped = typeSchema.unwrapTypeSchemaView <Type >();
2929+ switch (unwrapped) {
2930+ case FutureOrType (: var typeArgument):
2931+ return isKnownType (SharedTypeSchemaView (typeArgument));
2932+ case PrimaryType (: var args):
2933+ for (var arg in args) {
2934+ if (! isKnownType (SharedTypeSchemaView (arg))) {
2935+ return false ;
2936+ }
2937+ }
2938+ return true ;
2939+ case FunctionType (
2940+ : var returnType,
2941+ : var typeParametersShared,
2942+ : var positionalParameters,
2943+ : var namedParameters
2944+ ):
2945+ if (! isKnownType (SharedTypeSchemaView (returnType))) {
2946+ return false ;
2947+ }
2948+ for (var typeParameter in typeParametersShared) {
2949+ if (! isKnownType (SharedTypeSchemaView (typeParameter.bound))) {
2950+ return false ;
2951+ }
2952+ }
2953+ for (var positionalParameter in positionalParameters) {
2954+ if (! isKnownType (SharedTypeSchemaView (positionalParameter))) {
2955+ return false ;
2956+ }
2957+ }
2958+ for (var namedParameter in namedParameters) {
2959+ if (! isKnownType (SharedTypeSchemaView (namedParameter.type))) {
2960+ return false ;
2961+ }
2962+ }
2963+ return true ;
2964+ case RecordType (: var positionalTypes, : var namedTypes):
2965+ for (var positionalType in positionalTypes) {
2966+ if (! isKnownType (SharedTypeSchemaView (positionalType))) {
2967+ return false ;
2968+ }
2969+ }
2970+ for (var namedType in namedTypes) {
2971+ if (! isKnownType (SharedTypeSchemaView (namedType.type))) {
2972+ return false ;
2973+ }
2974+ }
2975+ return true ;
2976+ case UnknownType ():
2977+ return false ;
2978+ default :
2979+ return true ;
2980+ }
2981+ }
2982+
29262983 @override
29272984 bool isNonNullableInternal (Type type) {
29282985 Type unwrappedType = type;
@@ -3236,63 +3293,6 @@ class MiniAstOperations
32363293 PropertyNonPromotabilityReason ? whyPropertyIsNotPromotable (
32373294 covariant _PropertyElement property) =>
32383295 property.whyNotPromotable;
3239-
3240- @override
3241- bool isKnownType (SharedTypeSchemaView typeSchema) {
3242- var unwrapped = typeSchema.unwrapTypeSchemaView <Type >();
3243- switch (unwrapped) {
3244- case FutureOrType (: var typeArgument):
3245- return isKnownType (SharedTypeSchemaView (typeArgument));
3246- case PrimaryType (: var args):
3247- for (var arg in args) {
3248- if (! isKnownType (SharedTypeSchemaView (arg))) {
3249- return false ;
3250- }
3251- }
3252- return true ;
3253- case FunctionType (
3254- : var returnType,
3255- : var typeParametersShared,
3256- : var positionalParameters,
3257- : var namedParameters
3258- ):
3259- if (! isKnownType (SharedTypeSchemaView (returnType))) {
3260- return false ;
3261- }
3262- for (var typeParameter in typeParametersShared) {
3263- if (! isKnownType (SharedTypeSchemaView (typeParameter.bound))) {
3264- return false ;
3265- }
3266- }
3267- for (var positionalParameter in positionalParameters) {
3268- if (! isKnownType (SharedTypeSchemaView (positionalParameter))) {
3269- return false ;
3270- }
3271- }
3272- for (var namedParameter in namedParameters) {
3273- if (! isKnownType (SharedTypeSchemaView (namedParameter.type))) {
3274- return false ;
3275- }
3276- }
3277- return true ;
3278- case RecordType (: var positionalTypes, : var namedTypes):
3279- for (var positionalType in positionalTypes) {
3280- if (! isKnownType (SharedTypeSchemaView (positionalType))) {
3281- return false ;
3282- }
3283- }
3284- for (var namedType in namedTypes) {
3285- if (! isKnownType (SharedTypeSchemaView (namedType.type))) {
3286- return false ;
3287- }
3288- }
3289- return true ;
3290- case UnknownType ():
3291- return false ;
3292- default :
3293- return true ;
3294- }
3295- }
32963296}
32973297
32983298/// Representation of an expression or statement in the pseudo-Dart language
0 commit comments