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

Unified Diff: pkg/analyzer/lib/src/generated/testing/element_factory.dart

Issue 1329743005: Abstract over the type system. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Address comments Created 5 years, 3 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
« no previous file with comments | « pkg/analyzer/lib/src/generated/static_type_analyzer.dart ('k') | pkg/analyzer/lib/src/task/dart.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/analyzer/lib/src/generated/testing/element_factory.dart
diff --git a/pkg/analyzer/lib/src/generated/testing/element_factory.dart b/pkg/analyzer/lib/src/generated/testing/element_factory.dart
index 58d7bae2c7275ad360a8c668abc638df665143a6..9539d418fa8edb5f692e0c4095a031eb6250053c 100644
--- a/pkg/analyzer/lib/src/generated/testing/element_factory.dart
+++ b/pkg/analyzer/lib/src/generated/testing/element_factory.dart
@@ -346,6 +346,40 @@ class ElementFactory {
functionElement4(
functionName, null, normalParameters, names, namedParameters);
+ static FunctionElementImpl functionElement8(
+ List<DartType> parameters, DartType returnType,
+ {List<DartType> optional, Map<String, DartType> named}) {
+ List<ParameterElement> parameterElements = new List<ParameterElement>();
+ for (int i = 0; i < parameters.length; i++) {
+ ParameterElementImpl parameterElement =
+ new ParameterElementImpl("a$i", i);
+ parameterElement.type = parameters[i];
+ parameterElement.parameterKind = ParameterKind.REQUIRED;
+ parameterElements.add(parameterElement);
+ }
+ if (optional != null) {
+ int j = parameters.length;
+ for (int i = 0; i < optional.length; i++) {
+ ParameterElementImpl parameterElement =
+ new ParameterElementImpl("o$i", j);
+ parameterElement.type = optional[i];
+ parameterElement.parameterKind = ParameterKind.POSITIONAL;
+ parameterElements.add(parameterElement);
+ j++;
+ }
+ } else if (named != null) {
+ int j = parameters.length;
+ for (String s in named.keys) {
+ ParameterElementImpl parameterElement = new ParameterElementImpl(s, j);
+ parameterElement.type = named[s];
+ parameterElement.parameterKind = ParameterKind.NAMED;
+ parameterElements.add(parameterElement);
+ }
+ }
+
+ return functionElementWithParameters("f", returnType, parameterElements);
+ }
+
static FunctionElementImpl functionElementWithParameters(String functionName,
DartType returnType, List<ParameterElement> parameters) {
FunctionElementImpl functionElement =
« no previous file with comments | « pkg/analyzer/lib/src/generated/static_type_analyzer.dart ('k') | pkg/analyzer/lib/src/task/dart.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698