diff options
author | Laurent Le Brun <laurentlb@google.com> | 2015-04-15 09:06:46 +0000 |
---|---|---|
committer | Han-Wen Nienhuys <hanwen@google.com> | 2015-04-15 16:21:30 +0000 |
commit | 2e78d6108289de09fb68d3ebb0adfd7f7f372bb6 (patch) | |
tree | f032cf38337e321a5891f507a18033bee6e07863 /src/main/java/com/google/devtools/build/lib/syntax/FunctionDefStatement.java | |
parent | cf04883e391c9c87379264006090f9d7ac345b7d (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.java | 18 |
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()); } |