Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(81)

Unified Diff: pkg/compiler/lib/src/js_backend/runtime_types.dart

Issue 1859343004: dartfmt pkg/compiler (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: pkg/compiler/lib/src/js_backend/runtime_types.dart
diff --git a/pkg/compiler/lib/src/js_backend/runtime_types.dart b/pkg/compiler/lib/src/js_backend/runtime_types.dart
index 29aade61ee46f98c0a796572eedc472e3ca51d5e..036e52ae628f032a01fea020174d2e857ceed1a2 100644
--- a/pkg/compiler/lib/src/js_backend/runtime_types.dart
+++ b/pkg/compiler/lib/src/js_backend/runtime_types.dart
@@ -7,7 +7,8 @@ part of js_backend;
/// For each class, stores the possible class subtype tests that could succeed.
abstract class TypeChecks {
/// Get the set of checks required for class [element].
- Iterable<TypeCheck> operator[](ClassElement element);
+ Iterable<TypeCheck> operator [](ClassElement element);
+
/// Get the iterable for all classes that need type checks.
Iterable<ClassElement> get classes;
}
@@ -28,24 +29,24 @@ abstract class RuntimeTypes {
void registerClassUsingTypeVariableExpression(ClassElement cls);
void registerRtiDependency(Element element, Element dependency);
- void registerTypeVariableBoundsSubtypeCheck(DartType typeArgument,
- DartType bound);
+ void registerTypeVariableBoundsSubtypeCheck(
+ DartType typeArgument, DartType bound);
- Set<ClassElement> getClassesUsedInSubstitutions(JavaScriptBackend backend,
- TypeChecks checks);
+ Set<ClassElement> getClassesUsedInSubstitutions(
+ JavaScriptBackend backend, TypeChecks checks);
void computeClassesNeedingRti();
/// Compute the required type checkes and substitutions for the given
/// instantitated and checked classes.
- TypeChecks computeChecks(Set<ClassElement> instantiated,
- Set<ClassElement> checked);
+ TypeChecks computeChecks(
+ Set<ClassElement> instantiated, Set<ClassElement> checked);
/// Compute type arguments of classes that use one of their type variables in
/// is-checks and add the is-checks that they imply.
///
/// This function must be called after all is-checks have been registered.
- void addImplicitChecks(Universe universe,
- Iterable<ClassElement> classesUsingChecks);
+ void addImplicitChecks(
+ Universe universe, Iterable<ClassElement> classesUsingChecks);
/// Return all classes that are referenced in the type of the function, i.e.,
/// in the return type or the argument types.
@@ -73,8 +74,7 @@ abstract class RuntimeTypesEncoder {
jsAst.Expression getSignatureEncoding(DartType type, jsAst.Expression this_);
jsAst.Expression getSubstitutionRepresentation(
- List<DartType> types,
- OnVariableCallback onVariable);
+ List<DartType> types, OnVariableCallback onVariable);
jsAst.Expression getSubstitutionCode(Substitution substitution);
jsAst.Expression getSubstitutionCodeForVariable(
Substitution substitution, int index);
@@ -89,9 +89,8 @@ abstract class RuntimeTypesEncoder {
jsAst.Name get getFunctionThatReturnsNullName;
jsAst.Expression getTypeRepresentation(
- DartType type,
- OnVariableCallback onVariable,
- [ShouldEncodeTypedefCallback shouldEncodeTypedef]);
+ DartType type, OnVariableCallback onVariable,
+ [ShouldEncodeTypedefCallback shouldEncodeTypedef]);
/**
* Returns a [jsAst.Expression] representing the given [type]. Type
* variables are replaced by placeholders in the ast.
@@ -100,8 +99,9 @@ abstract class RuntimeTypesEncoder {
* This is useful if the returned [jsAst.Expression] is only part of a
* larger template. By default, indexing starts with 0.
*/
- jsAst.Expression getTypeRepresentationWithPlaceholders(DartType type,
- OnVariableCallback onVariable, {int firstPlaceholderIndex : 0});
+ jsAst.Expression getTypeRepresentationWithPlaceholders(
+ DartType type, OnVariableCallback onVariable,
+ {int firstPlaceholderIndex: 0});
String getTypeRepresentationForTypeConstant(DartType type);
}
@@ -157,8 +157,8 @@ class _RuntimeTypes implements RuntimeTypes {
}
@override
- void registerTypeVariableBoundsSubtypeCheck(DartType typeArgument,
- DartType bound) {
+ void registerTypeVariableBoundsSubtypeCheck(
+ DartType typeArgument, DartType bound) {
checkedTypeArguments.add(typeArgument);
checkedBounds.add(bound);
}
@@ -178,8 +178,8 @@ class _RuntimeTypes implements RuntimeTypes {
* immutable datastructure.
*/
@override
- void addImplicitChecks(Universe universe,
- Iterable<ClassElement> classesUsingChecks) {
+ void addImplicitChecks(
+ Universe universe, Iterable<ClassElement> classesUsingChecks) {
// If there are no classes that use their variables in checks, there is
// nothing to do.
if (classesUsingChecks.isEmpty) return;
@@ -293,10 +293,10 @@ class _RuntimeTypes implements RuntimeTypes {
methodsNeedingRti.add(method);
}
}
- compiler.resolverWorld.closuresWithFreeTypeVariables.forEach(
- analyzeMethod);
- compiler.resolverWorld.callMethodsWithFreeTypeVariables.forEach(
- analyzeMethod);
+ compiler.resolverWorld.closuresWithFreeTypeVariables
+ .forEach(analyzeMethod);
+ compiler.resolverWorld.callMethodsWithFreeTypeVariables
+ .forEach(analyzeMethod);
}
}
});
@@ -309,10 +309,10 @@ class _RuntimeTypes implements RuntimeTypes {
methodsNeedingRti.add(method);
}
}
- compiler.resolverWorld.closuresWithFreeTypeVariables.forEach(
- analyzeMethod);
- compiler.resolverWorld.callMethodsWithFreeTypeVariables.forEach(
- analyzeMethod);
+ compiler.resolverWorld.closuresWithFreeTypeVariables
+ .forEach(analyzeMethod);
+ compiler.resolverWorld.callMethodsWithFreeTypeVariables
+ .forEach(analyzeMethod);
}
// Add the classes that need RTI because they use a type variable as
// expression.
@@ -329,8 +329,8 @@ class _RuntimeTypes implements RuntimeTypes {
}
@override
- TypeChecks computeChecks(Set<ClassElement> instantiated,
- Set<ClassElement> checked) {
+ TypeChecks computeChecks(
+ Set<ClassElement> instantiated, Set<ClassElement> checked) {
// Run through the combination of instantiated and checked
// arguments and record all combination where the element of a checked
// argument is a superclass of the element of an instantiated type.
@@ -342,7 +342,7 @@ class _RuntimeTypes implements RuntimeTypes {
// Find all supertypes of [element] in [checkedArguments] and add checks
// and precompute the substitutions for them.
assert(invariant(element, element.allSupertypes != null,
- message: 'Supertypes have not been computed for $element.'));
+ message: 'Supertypes have not been computed for $element.'));
for (DartType supertype in element.allSupertypes) {
ClassElement superelement = supertype.element;
if (checked.contains(superelement)) {
@@ -398,8 +398,8 @@ class _RuntimeTypes implements RuntimeTypes {
* have a type check against this supertype that includes a check against
* the type arguments.
*/
- void computeInstantiatedArguments(Set<DartType> instantiatedTypes,
- Set<DartType> isChecks) {
+ void computeInstantiatedArguments(
+ Set<DartType> instantiatedTypes, Set<DartType> isChecks) {
ArgumentCollector superCollector = new ArgumentCollector(backend);
ArgumentCollector directCollector = new ArgumentCollector(backend);
FunctionArgumentCollector functionArgumentCollector =
@@ -416,7 +416,7 @@ class _RuntimeTypes implements RuntimeTypes {
collectFunctionTypeArguments(checkedBounds);
void collectTypeArguments(Iterable<DartType> types,
- {bool isTypeArgument: false}) {
+ {bool isTypeArgument: false}) {
for (DartType type in types) {
directCollector.collect(type, isTypeArgument: isTypeArgument);
if (type.isInterfaceType) {
@@ -436,15 +436,15 @@ class _RuntimeTypes implements RuntimeTypes {
}
}
- directlyInstantiatedArguments =
- directCollector.classes..addAll(functionArgumentCollector.classes);
- allInstantiatedArguments =
- superCollector.classes..addAll(directlyInstantiatedArguments);
+ directlyInstantiatedArguments = directCollector.classes
+ ..addAll(functionArgumentCollector.classes);
+ allInstantiatedArguments = superCollector.classes
+ ..addAll(directlyInstantiatedArguments);
}
/// Collects all type arguments used in is-checks.
- void computeCheckedArguments(Set<DartType> instantiatedTypes,
- Set<DartType> isChecks) {
+ void computeCheckedArguments(
+ Set<DartType> instantiatedTypes, Set<DartType> isChecks) {
ArgumentCollector collector = new ArgumentCollector(backend);
FunctionArgumentCollector functionArgumentCollector =
new FunctionArgumentCollector(backend);
@@ -461,7 +461,7 @@ class _RuntimeTypes implements RuntimeTypes {
collectFunctionTypeArguments(checkedTypeArguments);
void collectTypeArguments(Iterable<DartType> types,
- {bool isTypeArgument: false}) {
+ {bool isTypeArgument: false}) {
for (DartType type in types) {
collector.collect(type, isTypeArgument: isTypeArgument);
}
@@ -469,13 +469,13 @@ class _RuntimeTypes implements RuntimeTypes {
collectTypeArguments(isChecks);
collectTypeArguments(checkedBounds, isTypeArgument: true);
- checkedArguments =
- collector.classes..addAll(functionArgumentCollector.classes);
+ checkedArguments = collector.classes
+ ..addAll(functionArgumentCollector.classes);
}
@override
- Set<ClassElement> getClassesUsedInSubstitutions(JavaScriptBackend backend,
- TypeChecks checks) {
+ Set<ClassElement> getClassesUsedInSubstitutions(
+ JavaScriptBackend backend, TypeChecks checks) {
Set<ClassElement> instantiated = new Set<ClassElement>();
ArgumentCollector collector = new ArgumentCollector(backend);
for (ClassElement target in checks.classes) {
@@ -492,12 +492,11 @@ class _RuntimeTypes implements RuntimeTypes {
@override
Set<ClassElement> getRequiredArgumentClasses(JavaScriptBackend backend) {
- Set<ClassElement> requiredArgumentClasses =
- new Set<ClassElement>.from(
- getClassesUsedInSubstitutions(backend, requiredChecks));
+ Set<ClassElement> requiredArgumentClasses = new Set<ClassElement>.from(
+ getClassesUsedInSubstitutions(backend, requiredChecks));
return requiredArgumentClasses
- ..addAll(directlyInstantiatedArguments)
- ..addAll(checkedArguments);
+ ..addAll(directlyInstantiatedArguments)
+ ..addAll(checkedArguments);
}
@override
@@ -558,7 +557,7 @@ class _RuntimeTypes implements RuntimeTypes {
}
Substitution computeSubstitution(ClassElement cls, ClassElement check,
- { bool alwaysGenerateFunction: false }) {
+ {bool alwaysGenerateFunction: false}) {
if (isTrivialSubstitution(cls, check)) return null;
// Unnamed mixin application classes do not need substitutions, because they
@@ -602,16 +601,16 @@ class _RuntimeTypesEncoder implements RuntimeTypesEncoder {
@override
jsAst.Expression getTypeRepresentation(
- DartType type,
- OnVariableCallback onVariable,
+ DartType type, OnVariableCallback onVariable,
[ShouldEncodeTypedefCallback shouldEncodeTypedef]) {
return representationGenerator.getTypeRepresentation(
type, onVariable, shouldEncodeTypedef);
}
@override
- jsAst.Expression getTypeRepresentationWithPlaceholders(DartType type,
- OnVariableCallback onVariable, {int firstPlaceholderIndex : 0}) {
+ jsAst.Expression getTypeRepresentationWithPlaceholders(
+ DartType type, OnVariableCallback onVariable,
+ {int firstPlaceholderIndex: 0}) {
// Create a type representation. For type variables call the original
// callback for side effects and return a template placeholder.
int positions = firstPlaceholderIndex;
@@ -624,8 +623,7 @@ class _RuntimeTypesEncoder implements RuntimeTypesEncoder {
@override
jsAst.Expression getSubstitutionRepresentation(
- List<DartType> types,
- OnVariableCallback onVariable) {
+ List<DartType> types, OnVariableCallback onVariable) {
List<jsAst.Expression> elements = types
.map((DartType type) => getTypeRepresentation(type, onVariable))
.toList(growable: false);
@@ -633,11 +631,12 @@ class _RuntimeTypesEncoder implements RuntimeTypesEncoder {
}
jsAst.Expression getTypeEncoding(DartType type,
- {bool alwaysGenerateFunction: false}) {
+ {bool alwaysGenerateFunction: false}) {
ClassElement contextClass = Types.getClassContext(type);
jsAst.Expression onVariable(TypeVariableType v) {
return new jsAst.VariableUse(v.name);
- };
+ }
+ ;
jsAst.Expression encoding = getTypeRepresentation(type, onVariable);
if (contextClass == null && !alwaysGenerateFunction) {
return encoding;
@@ -645,7 +644,7 @@ class _RuntimeTypesEncoder implements RuntimeTypesEncoder {
List<String> parameters = const <String>[];
if (contextClass != null) {
parameters = contextClass.typeVariables.map((type) {
- return type.toString();
+ return type.toString();
}).toList();
}
return js('function(#) { return # }', [parameters, encoding]);
@@ -660,10 +659,12 @@ class _RuntimeTypesEncoder implements RuntimeTypesEncoder {
if (contextClass != null) {
JavaScriptBackend backend = compiler.backend;
jsAst.Name contextName = backend.namer.className(contextClass);
- return js('function () { return #(#, #, #); }',
- [ backend.emitter.staticFunctionAccess(
- backend.helpers.computeSignature),
- encoding, this_, js.quoteName(contextName) ]);
+ return js('function () { return #(#, #, #); }', [
+ backend.emitter.staticFunctionAccess(backend.helpers.computeSignature),
+ encoding,
+ this_,
+ js.quoteName(contextName)
+ ]);
} else {
return encoding;
}
@@ -709,8 +710,8 @@ class _RuntimeTypesEncoder implements RuntimeTypesEncoder {
}
@override
- jsAst.Expression getSubstitutionCodeForVariable(Substitution substitution,
- int index) {
+ jsAst.Expression getSubstitutionCodeForVariable(
+ Substitution substitution, int index) {
jsAst.Expression declaration(TypeVariableType variable) {
return new jsAst.Parameter(getVariableName(variable.name));
}
@@ -735,8 +736,8 @@ class _RuntimeTypesEncoder implements RuntimeTypesEncoder {
}
@override
- jsAst.Name get getFunctionThatReturnsNullName
- => backend.namer.internalGlobal('functionThatReturnsNull');
+ jsAst.Name get getFunctionThatReturnsNullName =>
+ backend.namer.internalGlobal('functionThatReturnsNull');
@override
String getTypeRepresentationForTypeConstant(DartType type) {
@@ -753,8 +754,7 @@ class _RuntimeTypesEncoder implements RuntimeTypesEncoder {
// names, it would result in more readable names if the final string was a
// legal JavaScript identifer.
if (variables.isEmpty) return name;
- String arguments =
- new List.filled(variables.length, 'dynamic').join(', ');
+ String arguments = new List.filled(variables.length, 'dynamic').join(', ');
return '$name<$arguments>';
}
@@ -763,7 +763,7 @@ class _RuntimeTypesEncoder implements RuntimeTypesEncoder {
if (!type.returnType.isDynamic) return false;
if (!type.optionalParameterTypes.isEmpty) return false;
if (!type.namedParameterTypes.isEmpty) return false;
- for (DartType parameter in type.parameterTypes ) {
+ for (DartType parameter in type.parameterTypes) {
if (!parameter.isDynamic) return false;
}
return true;
@@ -845,8 +845,8 @@ class TypeRepresentationGenerator implements DartTypeVisitor {
jsAst.Template get templateForCreateFunctionType {
// The value of the functionTypeTag can be anything. We use "dynaFunc" for
// easier debugging.
- return jsAst.js.expressionTemplateFor(
- '{ ${namer.functionTypeTag}: "dynafunc" }');
+ return jsAst.js
+ .expressionTemplateFor('{ ${namer.functionTypeTag}: "dynafunc" }');
}
visitFunctionType(FunctionType type, _) {
@@ -866,11 +866,11 @@ class TypeRepresentationGenerator implements DartTypeVisitor {
}
if (!type.parameterTypes.isEmpty) {
addProperty(namer.functionTypeRequiredParametersTag,
- visitList(type.parameterTypes));
+ visitList(type.parameterTypes));
}
if (!type.optionalParameterTypes.isEmpty) {
addProperty(namer.functionTypeOptionalParametersTag,
- visitList(type.optionalParameterTypes));
+ visitList(type.optionalParameterTypes));
}
if (!type.namedParameterTypes.isEmpty) {
List<jsAst.Property> namedArguments = <jsAst.Property>[];
@@ -882,7 +882,7 @@ class TypeRepresentationGenerator implements DartTypeVisitor {
namedArguments.add(new jsAst.Property(name, visit(types[index])));
}
addProperty(namer.functionTypeNamedParametersTag,
- new jsAst.ObjectInitializer(namedArguments));
+ new jsAst.ObjectInitializer(namedArguments));
}
return new jsAst.ObjectInitializer(properties);
}
@@ -917,17 +917,16 @@ class TypeRepresentationGenerator implements DartTypeVisitor {
}
visitStatementType(StatementType type, _) {
- reporter.internalError(NO_LOCATION_SPANNABLE,
- 'Unexpected type: $type (${type.kind}).');
+ reporter.internalError(
+ NO_LOCATION_SPANNABLE, 'Unexpected type: $type (${type.kind}).');
}
}
-
class TypeCheckMapping implements TypeChecks {
final Map<ClassElement, Set<TypeCheck>> map =
new Map<ClassElement, Set<TypeCheck>>();
- Iterable<TypeCheck> operator[](ClassElement element) {
+ Iterable<TypeCheck> operator [](ClassElement element) {
Set<TypeCheck> result = map[element];
return result != null ? result : const <TypeCheck>[];
}
@@ -1035,8 +1034,7 @@ class Substitution {
: isFunction = false,
parameters = const <DartType>[];
- Substitution.function(this.arguments, this.parameters)
- : isFunction = true;
+ Substitution.function(this.arguments, this.parameters) : isFunction = true;
}
/**
« no previous file with comments | « pkg/compiler/lib/src/js_backend/patch_resolver.dart ('k') | pkg/compiler/lib/src/js_backend/type_variable_handler.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698