< prev index next >
test/testlibrary/jittester/src/jdk/test/lib/jittester/SymbolTable.java
Print this page
*** 26,35 ****
--- 26,36 ----
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Stack;
+ import java.util.stream.Collectors;
import jdk.test.lib.jittester.types.TypeKlass;
public class SymbolTable {
*** 40,52 ****
private static void initExternalSymbols() {
String classList = ProductionParams.addExternalSymbols.value();
if (classList.equals("all")) {
! for (Type type : TypeList.getReferenceTypes()) {
! type.exportSymbols();
! }
} else {
String[] splittedList = classList.split(",");
for (Type type : TypeList.getReferenceTypes()) {
for (String str : splittedList) {
if (type.getName().equals(str)) {
--- 41,52 ----
private static void initExternalSymbols() {
String classList = ProductionParams.addExternalSymbols.value();
if (classList.equals("all")) {
! TypeList.getReferenceTypes()
! .forEach(Type::exportSymbols);
} else {
String[] splittedList = classList.split(",");
for (Type type : TypeList.getReferenceTypes()) {
for (String str : splittedList) {
if (type.getName().equals(str)) {
*** 94,121 ****
}
public static Collection<Symbol> get(Type type, Class<?> classToCheck) {
HashMap<Type, ArrayList<Symbol>> vars = SYMBOL_STACK.peek();
if (vars.containsKey(type)) {
! ArrayList<Symbol> result = new ArrayList<>();
! for (Symbol symbol : vars.get(type)) {
! if (classToCheck.isInstance(symbol)) {
! result.add(symbol);
! }
! }
! return result;
}
return new ArrayList<>();
}
protected static Collection<Symbol> get(TypeKlass typeKlass, Type type,
Class<?> classToCheck) {
HashMap<Type, ArrayList<Symbol>> vars = SYMBOL_STACK.peek();
if (vars.containsKey(type)) {
ArrayList<Symbol> result = new ArrayList<>();
for (Symbol symbol : vars.get(type)) {
! if (classToCheck.isInstance(symbol) && typeKlass.equals(symbol.klass)) {
result.add(symbol);
}
}
return result;
}
--- 94,117 ----
}
public static Collection<Symbol> get(Type type, Class<?> classToCheck) {
HashMap<Type, ArrayList<Symbol>> vars = SYMBOL_STACK.peek();
if (vars.containsKey(type)) {
! return vars.get(type).stream()
! .filter(classToCheck::isInstance)
! .collect(Collectors.toList());
}
return new ArrayList<>();
}
protected static Collection<Symbol> get(TypeKlass typeKlass, Type type,
Class<?> classToCheck) {
HashMap<Type, ArrayList<Symbol>> vars = SYMBOL_STACK.peek();
if (vars.containsKey(type)) {
ArrayList<Symbol> result = new ArrayList<>();
for (Symbol symbol : vars.get(type)) {
! if (classToCheck.isInstance(symbol) && typeKlass.equals(symbol.owner)) {
result.add(symbol);
}
}
return result;
}
*** 148,158 ****
HashMap<Type, ArrayList<Symbol>> result = new HashMap<>();
for (Type type : SYMBOL_STACK.peek().keySet()) {
ArrayList<Symbol> symbolsOfType = SYMBOL_STACK.peek().get(type);
for (Symbol symbol : symbolsOfType) {
! if (classToCheck.isInstance(symbol) && typeKlass.equals(symbol.klass)) {
if (!result.containsKey(type)) {
result.put(type, new ArrayList<>());
}
result.get(type).add(symbol);
}
--- 144,154 ----
HashMap<Type, ArrayList<Symbol>> result = new HashMap<>();
for (Type type : SYMBOL_STACK.peek().keySet()) {
ArrayList<Symbol> symbolsOfType = SYMBOL_STACK.peek().get(type);
for (Symbol symbol : symbolsOfType) {
! if (classToCheck.isInstance(symbol) && typeKlass.equals(symbol.owner)) {
if (!result.containsKey(type)) {
result.put(type, new ArrayList<>());
}
result.get(type).add(symbol);
}
*** 191,201 ****
public static ArrayList<Symbol> getAllCombined(TypeKlass typeKlass, Class<?> classToCheck) {
ArrayList<Symbol> result = new ArrayList<>();
for (Type type : SYMBOL_STACK.peek().keySet()) {
ArrayList<Symbol> symbolsOfType = SYMBOL_STACK.peek().get(type);
for (Symbol symbol : symbolsOfType) {
! if (classToCheck.isInstance(symbol) && typeKlass.equals(symbol.klass)) {
result.add(symbol);
}
}
}
--- 187,197 ----
public static ArrayList<Symbol> getAllCombined(TypeKlass typeKlass, Class<?> classToCheck) {
ArrayList<Symbol> result = new ArrayList<>();
for (Type type : SYMBOL_STACK.peek().keySet()) {
ArrayList<Symbol> symbolsOfType = SYMBOL_STACK.peek().get(type);
for (Symbol symbol : symbolsOfType) {
! if (classToCheck.isInstance(symbol) && typeKlass.equals(symbol.owner)) {
result.add(symbol);
}
}
}
*** 205,215 ****
public static ArrayList<Symbol> getAllCombined(TypeKlass typeKlass) {
ArrayList<Symbol> result = new ArrayList<>();
for (Type t : SYMBOL_STACK.peek().keySet()) {
ArrayList<Symbol> symbolsOfType = SYMBOL_STACK.peek().get(t);
for (Symbol symbol : symbolsOfType) {
! if (typeKlass.equals(symbol.klass)) {
result.add(symbol);
}
}
}
--- 201,211 ----
public static ArrayList<Symbol> getAllCombined(TypeKlass typeKlass) {
ArrayList<Symbol> result = new ArrayList<>();
for (Type t : SYMBOL_STACK.peek().keySet()) {
ArrayList<Symbol> symbolsOfType = SYMBOL_STACK.peek().get(t);
for (Symbol symbol : symbolsOfType) {
! if (typeKlass.equals(symbol.owner)) {
result.add(symbol);
}
}
}
< prev index next >