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

Unified Diff: frog/leg/elements/elements.dart

Issue 9301038: Support named arguments for statically resolved calls. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: '' Created 8 years, 11 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 | « no previous file | frog/leg/emitter.dart » ('j') | frog/leg/ssa/builder.dart » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: frog/leg/elements/elements.dart
===================================================================
--- frog/leg/elements/elements.dart (revision 3723)
+++ frog/leg/elements/elements.dart (working copy)
@@ -233,17 +233,17 @@
}
class FunctionParameters {
- Link<Element> parameters;
+ Link<Element> requiredParameters;
Link<Element> optionalParameters;
- int parameterCount;
+ int requiredParameterCount;
int optionalParameterCount;
- FunctionParameters(this.parameters,
+ FunctionParameters(this.requiredParameters,
this.optionalParameters,
- this.parameterCount,
+ this.requiredParameterCount,
this.optionalParameterCount);
void forEachParameter(void function(Element parameter)) {
- for (Link<Element> link = parameters;
+ for (Link<Element> link = requiredParameters;
!link.isEmpty();
link = link.tail) {
function(link.head);
@@ -254,6 +254,8 @@
function(link.head);
}
}
+
+ int get parameterCount() => requiredParameterCount + optionalParameterCount;
}
class FunctionElement extends Element {
@@ -297,14 +299,18 @@
return functionParameters;
}
- int parameterCount(Compiler compiler) {
- return computeParameters(compiler).parameterCount;
+ int requiredParameterCount(Compiler compiler) {
+ return computeParameters(compiler).requiredParameterCount;
}
int optionalParameterCount(Compiler compiler) {
return computeParameters(compiler).optionalParameterCount;
}
+ int parameterCount(Compiler compiler) {
+ return computeParameters(compiler).parameterCount;
+ }
+
FunctionType computeType(Compiler compiler) {
if (type != null) return type;
FunctionParameters parameters = computeParameters(compiler);
@@ -315,7 +321,7 @@
if (returnType === null) returnType = types.dynamicType;
LinkBuilder<Type> parameterTypes = new LinkBuilder<Type>();
- for (Link<Element> link = parameters.parameters;
+ for (Link<Element> link = parameters.requiredParameters;
!link.isEmpty();
link = link.tail) {
parameterTypes.addLast(link.head.computeType(compiler));
« no previous file with comments | « no previous file | frog/leg/emitter.dart » ('j') | frog/leg/ssa/builder.dart » ('J')

Powered by Google App Engine
This is Rietveld 408576698