aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/syntax/FunctionDefStatement.java
diff options
context:
space:
mode:
authorGravatar Laurent Le Brun <laurentlb@google.com>2015-04-15 09:06:46 +0000
committerGravatar Han-Wen Nienhuys <hanwen@google.com>2015-04-15 16:21:30 +0000
commit2e78d6108289de09fb68d3ebb0adfd7f7f372bb6 (patch)
treef032cf38337e321a5891f507a18033bee6e07863 /src/main/java/com/google/devtools/build/lib/syntax/FunctionDefStatement.java
parentcf04883e391c9c87379264006090f9d7ac345b7d (diff)
Skylark: Remove static type checks
-- MOS_MIGRATED_REVID=91175430
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/syntax/FunctionDefStatement.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/syntax/FunctionDefStatement.java18
1 files changed, 2 insertions, 16 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/FunctionDefStatement.java b/src/main/java/com/google/devtools/build/lib/syntax/FunctionDefStatement.java
index 56ad4b60cf..57239f3dbf 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/FunctionDefStatement.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/FunctionDefStatement.java
@@ -19,7 +19,6 @@ import com.google.devtools.build.lib.syntax.SkylarkType.SkylarkFunctionType;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
-import java.util.Map;
/**
* Syntax node for a function definition.
@@ -92,30 +91,17 @@ public class FunctionDefStatement extends Statement {
int namedOnly = shape.getNamedOnly();
int mandatoryNamedOnly = shape.getMandatoryNamedOnly();
boolean starArg = shape.hasStarArg();
- boolean hasStar = starArg || (namedOnly > 0);
boolean kwArg = shape.hasKwArg();
int named = positionals + namedOnly;
int args = named + (starArg ? 1 : 0) + (kwArg ? 1 : 0);
int startOptionals = mandatoryPositionals;
int endOptionals = named - mandatoryNamedOnly;
- int iStarArg = named;
- int iKwArg = args - 1;
int j = 0; // index for the defaultExpressions
for (int i = 0; i < args; i++) {
String name = names.get(i);
- SkylarkType argType = SkylarkType.UNKNOWN;
- if (hasStar && i == iStarArg) {
- argType = SkylarkType.of(SkylarkList.class, Object.class);
- } else if (kwArg && i == iKwArg) {
- argType = SkylarkType.of(Map.class, Object.class);
- } else {
- if (startOptionals <= i && i < endOptionals) {
- argType = defaultExpressions.get(j++).validate(env);
- if (argType.equals(SkylarkType.NONE)) {
- argType = SkylarkType.UNKNOWN;
- }
- }
+ if (startOptionals <= i && i < endOptionals) {
+ defaultExpressions.get(j++).validate(env);
}
localEnv.declare(name, getLocation());
}