[PATCH] Type Inference
Ahmed Ashour
asashour at yahoo.com
Mon Sep 14 12:54:40 UTC 2015
Hi all,
Please find the below proposed batch for generics Type Inference.
Thanks a lot,
Ahmed
diff -r 751ada854e5a
src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/OverloadedDynamicMethod.java
---
a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/OverloadedDynamicMethod.java
Mon Sep 14 16:13:10 2015 +0530
+++
b/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/OverloadedDynamicMethod.java
Mon Sep 14 13:40:46 2015 +0200
@@ -118,7 +118,7 @@
* @param name the name of the method
*/
OverloadedDynamicMethod(final Class<?> clazz, final String name) {
- this(new LinkedList<SingleDynamicMethod>(),
clazz.getClassLoader(), getClassAndMethodName(clazz, name));
+ this(new LinkedList<>(), clazz.getClassLoader(),
getClassAndMethodName(clazz, name));
}
private OverloadedDynamicMethod(final
LinkedList<SingleDynamicMethod> methods, final ClassLoader classLoader,
final String name) {
diff -r 751ada854e5a
src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/AssignSymbols.java
---
a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/AssignSymbols.java
Mon Sep 14 16:13:10 2015 +0530
+++
b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/AssignSymbols.java
Mon Sep 14 13:40:46 2015 +0200
@@ -519,7 +519,7 @@
public boolean enterFunctionNode(final FunctionNode functionNode) {
start(functionNode, false);
- thisProperties.push(new HashSet<String>());
+ thisProperties.push(new HashSet<>());
// Every function has a body, even the ones skipped on reparse
(they have an empty one). We're
// asserting this as even for those, enterBlock() must be
invoked to correctly process symbols that
diff -r 751ada854e5a
src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/LocalVariableTypesCalculator.java
---
a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/LocalVariableTypesCalculator.java
Mon Sep 14 16:13:10 2015 +0530
+++
b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/LocalVariableTypesCalculator.java
Mon Sep 14 13:40:46 2015 +0200
@@ -1635,7 +1635,7 @@
}
assert symbol.hasSlot();
assert !symbol.isGlobal();
- localVariableTypes = localVariableTypes.isEmpty() ? new
IdentityHashMap<Symbol, LvarType>() : cloneMap(localVariableTypes);
+ localVariableTypes = localVariableTypes.isEmpty() ? new
IdentityHashMap<>() : cloneMap(localVariableTypes);
localVariableTypes.put(symbol, type);
}
diff -r 751ada854e5a
src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/Lower.java
---
a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/Lower.java
Mon Sep 14 16:13:10 2015 +0530
+++
b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/Lower.java
Mon Sep 14 13:40:46 2015 +0200
@@ -189,7 +189,7 @@
final int line = debuggerNode.getLineNumber();
final long token = debuggerNode.getToken();
final int finish = debuggerNode.getFinish();
- addStatement(new ExpressionStatement(line, token, finish, new
RuntimeNode(token, finish, RuntimeNode.Request.DEBUGGER, new
ArrayList<Expression>())));
+ addStatement(new ExpressionStatement(line, token, finish, new
RuntimeNode(token, finish, RuntimeNode.Request.DEBUGGER, new
ArrayList<>())));
return false;
}
diff -r 751ada854e5a
src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/types/Type.java
---
a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/types/Type.java
Mon Sep 14 16:13:10 2015 +0530
+++
b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/types/Type.java
Mon Sep 14 13:40:46 2015 +0200
@@ -109,11 +109,11 @@
private final Class<?> clazz;
/**
- * Cache for internal types - this is a query that requires complex
stringbuilding inside
+ * Cache for internal types - this is a query that requires complex
string building inside
* ASM and it saves startup time to cache the type mappings
*/
private static final Map<Class<?>,
jdk.internal.org.objectweb.asm.Type> INTERNAL_TYPE_CACHE =
- Collections.synchronizedMap(new WeakHashMap<Class<?>,
jdk.internal.org.objectweb.asm.Type>());
+ Collections.synchronizedMap(new WeakHashMap<>());
/** Internal ASM type for this Type - computed once at construction */
private transient final jdk.internal.org.objectweb.asm.Type
internalType;
diff -r 751ada854e5a
src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/ir/BlockLexicalContext.java
---
a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/ir/BlockLexicalContext.java
Mon Sep 14 16:13:10 2015 +0530
+++
b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/ir/BlockLexicalContext.java
Mon Sep 14 13:40:46 2015 +0200
@@ -49,7 +49,7 @@
public <T extends LexicalContextNode> T push(final T node) {
final T pushed = super.push(node);
if (node instanceof Block) {
- sstack.push(new ArrayList<Statement>());
+ sstack.push(new ArrayList<>());
}
return pushed;
}
diff -r 751ada854e5a
src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/ir/OptimisticLexicalContext.java
---
a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/ir/OptimisticLexicalContext.java
Mon Sep 14 16:13:10 2015 +0530
+++
b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/ir/OptimisticLexicalContext.java
Mon Sep 14 13:40:46 2015 +0200
@@ -107,7 +107,7 @@
public <T extends LexicalContextNode> T push(final T node) {
if (isEnabled) {
if(node instanceof FunctionNode) {
- optimisticAssumptions.push(new ArrayList<Assumption>());
+ optimisticAssumptions.push(new ArrayList<>());
}
}
diff -r 751ada854e5a
src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/RecompilableScriptFunctionData.java
---
a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/RecompilableScriptFunctionData.java
Mon Sep 14 16:13:10 2015 +0530
+++
b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/RecompilableScriptFunctionData.java
Mon Sep 14 13:40:46 2015 +0200
@@ -686,7 +686,7 @@
return invalidatedProgramPoints;
}
final Map<Integer, Type> loadedProgramPoints =
OptimisticTypesPersistence.load(typeInformationFile);
- return loadedProgramPoints != null ? loadedProgramPoints : new
TreeMap<Integer, Type>();
+ return loadedProgramPoints != null ? loadedProgramPoints : new
TreeMap<>();
}
private FunctionInitializer compileTypeSpecialization(final
MethodType actualCallSiteType, final ScriptObject runtimeScope, final
boolean persist) {
diff -r 751ada854e5a
src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/ScriptEnvironment.java
---
a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/ScriptEnvironment.java
Mon Sep 14 16:13:10 2015 +0530
+++
b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/ScriptEnvironment.java
Mon Sep 14 13:40:46 2015 +0200
@@ -343,7 +343,7 @@
}
final LoggingOption loggingOption =
(LoggingOption)options.get("log");
- this._loggers = loggingOption == null ? new HashMap<String,
LoggerInfo>() : loggingOption.getLoggers();
+ this._loggers = loggingOption == null ? new HashMap<>() :
loggingOption.getLoggers();
final LoggerInfo timeLoggerInfo =
_loggers.get(Timing.getLoggerName());
this._timing = new Timing(timeLoggerInfo != null &&
timeLoggerInfo.getLevel() != Level.OFF);
diff -r 751ada854e5a
src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/LengthNotWritableFilter.java
---
a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/LengthNotWritableFilter.java
Mon Sep 14 16:13:10 2015 +0530
+++
b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/LengthNotWritableFilter.java
Mon Sep 14 13:40:46 2015 +0200
@@ -19,7 +19,7 @@
* @param underlying array
*/
LengthNotWritableFilter(final ArrayData underlying) {
- this(underlying, new TreeMap<Long, Object>());
+ this(underlying, new TreeMap<>());
}
private LengthNotWritableFilter(final ArrayData underlying, final
SortedMap<Long, Object> extraElements) {
diff -r 751ada854e5a
src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/SparseArrayData.java
---
a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/SparseArrayData.java
Mon Sep 14 16:13:10 2015 +0530
+++
b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/SparseArrayData.java
Mon Sep 14 13:40:46 2015 +0200
@@ -48,7 +48,7 @@
private TreeMap<Long, Object> sparseMap;
SparseArrayData(final ArrayData underlying, final long length) {
- this(underlying, length, new TreeMap<Long, Object>());
+ this(underlying, length, new TreeMap<>());
}
SparseArrayData(final ArrayData underlying, final long length,
final TreeMap<Long, Object> sparseMap) {
diff -r 751ada854e5a
src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/regexp/RegExpFactory.java
---
a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/regexp/RegExpFactory.java
Mon Sep 14 16:13:10 2015 +0530
+++
b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/regexp/RegExpFactory.java
Mon Sep 14 13:40:46 2015 +0200
@@ -48,7 +48,7 @@
* startup
*/
private static final Map<String, RegExp> REGEXP_CACHE =
- Collections.synchronizedMap(new WeakHashMap<String, RegExp>());
+ Collections.synchronizedMap(new WeakHashMap<>());
static {
final String impl =
Options.getStringProperty("nashorn.regexp.impl", JONI);
diff -r 751ada854e5a
src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/regexp/joni/Analyser.java
---
a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/regexp/joni/Analyser.java
Mon Sep 14 16:13:10 2015 +0530
+++
b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/regexp/joni/Analyser.java
Mon Sep 14 13:40:46 2015 +0200
@@ -79,7 +79,7 @@
if (Config.DEBUG_PARSE_TREE_RAW) {
Config.log.println("<TREE>");
}
- root.verifyTree(new HashSet<Node>(), env.reg.warnings);
+ root.verifyTree(new HashSet<>(), env.reg.warnings);
Config.log.println(root + "\n");
}
@@ -908,7 +908,7 @@
ConsAltNode topRoot = null, r = null;
@SuppressWarnings("unused")
- final ObjPtr<Node> prevNode = new ObjPtr<Node>();
+ final ObjPtr<Node> prevNode = new ObjPtr<>();
StringNode stringNode = null;
while (pt < end) {
diff -r 751ada854e5a
test/src/jdk/nashorn/api/scripting/test/PluggableJSObjectTest.java
--- a/test/src/jdk/nashorn/api/scripting/test/PluggableJSObjectTest.java
Mon Sep 14 16:13:10 2015 +0530
+++ b/test/src/jdk/nashorn/api/scripting/test/PluggableJSObjectTest.java
Mon Sep 14 13:40:46 2015 +0200
@@ -236,7 +236,7 @@
@SuppressWarnings("unused")
@Override
public Object newObject(final Object... args) {
- return new HashMap<Object, Object>();
+ return new HashMap<>();
}
@Override
diff -r 751ada854e5a test/src/jdk/nashorn/api/tree/test/ParseAPITest.java
--- a/test/src/jdk/nashorn/api/tree/test/ParseAPITest.java Mon Sep 14
16:13:10 2015 +0530
+++ b/test/src/jdk/nashorn/api/tree/test/ParseAPITest.java Mon Sep 14
13:40:46 2015 +0200
@@ -145,7 +145,7 @@
final Parser parser = Parser.create(options);
final Tree tree = parser.parse(file.getAbsolutePath(),
content, null);
- tree.accept(new SimpleTreeVisitorES5_1<Void, Void>(), null);
+ tree.accept(new SimpleTreeVisitorES5_1<>(), null);
passed++;
} catch (final Throwable exp) {
log("Parse API failed: " + file.getAbsolutePath() + " : "
+ exp);
More information about the nashorn-dev
mailing list