decompiler: cleanup - marked const fields final
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2014 JetBrains s.r.o.
|
||||
* Copyright 2000-2015 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -69,7 +69,7 @@ public class ConstantsUtil {
|
||||
}
|
||||
|
||||
|
||||
private static String[] opcodeNames = {
|
||||
private static final String[] opcodeNames = {
|
||||
"nop", // "nop",
|
||||
"aconst_null", // "aconst_null",
|
||||
"iconst_m1", // "iconst_m1",
|
||||
@@ -275,7 +275,7 @@ public class ConstantsUtil {
|
||||
"jsr_w" // "jsr_w"
|
||||
};
|
||||
|
||||
private static Class[] opcodeClasses = {
|
||||
private static final Class[] opcodeClasses = {
|
||||
null, // "nop",
|
||||
null, // "aconst_null",
|
||||
null, // "iconst_m1",
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2014 JetBrains s.r.o.
|
||||
* Copyright 2000-2015 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -22,7 +22,7 @@ import java.io.IOException;
|
||||
|
||||
public class ALOAD extends Instruction {
|
||||
|
||||
private static int[] opcodes = new int[]{opc_aload_0, opc_aload_1, opc_aload_2, opc_aload_3};
|
||||
private static final int[] opcodes = new int[]{opc_aload_0, opc_aload_1, opc_aload_2, opc_aload_3};
|
||||
|
||||
public void writeToStream(DataOutputStream out, int offset) throws IOException {
|
||||
int index = getOperand(0);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2014 JetBrains s.r.o.
|
||||
* Copyright 2000-2015 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -22,7 +22,7 @@ import java.io.IOException;
|
||||
|
||||
public class ASTORE extends Instruction {
|
||||
|
||||
private static int[] opcodes = new int[]{opc_astore_0, opc_astore_1, opc_astore_2, opc_astore_3};
|
||||
private static final int[] opcodes = new int[]{opc_astore_0, opc_astore_1, opc_astore_2, opc_astore_3};
|
||||
|
||||
public void writeToStream(DataOutputStream out, int offset) throws IOException {
|
||||
int index = getOperand(0);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2014 JetBrains s.r.o.
|
||||
* Copyright 2000-2015 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -22,7 +22,7 @@ import java.io.IOException;
|
||||
|
||||
public class BIPUSH extends Instruction {
|
||||
|
||||
private static int[] opcodes =
|
||||
private static final int[] opcodes =
|
||||
new int[]{opc_iconst_m1, opc_iconst_0, opc_iconst_1, opc_iconst_2, opc_iconst_3, opc_iconst_4, opc_iconst_5};
|
||||
|
||||
public void writeToStream(DataOutputStream out, int offset) throws IOException {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2014 JetBrains s.r.o.
|
||||
* Copyright 2000-2015 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -22,7 +22,7 @@ import java.io.IOException;
|
||||
|
||||
public class DLOAD extends Instruction {
|
||||
|
||||
private static int[] opcodes = new int[]{opc_dload_0, opc_dload_1, opc_dload_2, opc_dload_3};
|
||||
private static final int[] opcodes = new int[]{opc_dload_0, opc_dload_1, opc_dload_2, opc_dload_3};
|
||||
|
||||
public void writeToStream(DataOutputStream out, int offset) throws IOException {
|
||||
int index = getOperand(0);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2014 JetBrains s.r.o.
|
||||
* Copyright 2000-2015 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -22,7 +22,7 @@ import java.io.IOException;
|
||||
|
||||
public class DSTORE extends Instruction {
|
||||
|
||||
private static int[] opcodes = new int[]{opc_dstore_0, opc_dstore_1, opc_dstore_2, opc_dstore_3};
|
||||
private static final int[] opcodes = new int[]{opc_dstore_0, opc_dstore_1, opc_dstore_2, opc_dstore_3};
|
||||
|
||||
public void writeToStream(DataOutputStream out, int offset) throws IOException {
|
||||
int index = getOperand(0);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2014 JetBrains s.r.o.
|
||||
* Copyright 2000-2015 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -22,7 +22,7 @@ import java.io.IOException;
|
||||
|
||||
public class FLOAD extends Instruction {
|
||||
|
||||
private static int[] opcodes = new int[]{opc_fload_0, opc_fload_1, opc_fload_2, opc_fload_3};
|
||||
private static final int[] opcodes = new int[]{opc_fload_0, opc_fload_1, opc_fload_2, opc_fload_3};
|
||||
|
||||
public void writeToStream(DataOutputStream out, int offset) throws IOException {
|
||||
int index = getOperand(0);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2014 JetBrains s.r.o.
|
||||
* Copyright 2000-2015 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -22,7 +22,7 @@ import java.io.IOException;
|
||||
|
||||
public class FSTORE extends Instruction {
|
||||
|
||||
private static int[] opcodes = new int[]{opc_fstore_0, opc_fstore_1, opc_fstore_2, opc_fstore_3};
|
||||
private static final int[] opcodes = new int[]{opc_fstore_0, opc_fstore_1, opc_fstore_2, opc_fstore_3};
|
||||
|
||||
public void writeToStream(DataOutputStream out, int offset) throws IOException {
|
||||
int index = getOperand(0);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2014 JetBrains s.r.o.
|
||||
* Copyright 2000-2015 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -22,7 +22,7 @@ import java.io.IOException;
|
||||
|
||||
public class ILOAD extends Instruction {
|
||||
|
||||
private static int[] opcodes = new int[]{opc_iload_0, opc_iload_1, opc_iload_2, opc_iload_3};
|
||||
private static final int[] opcodes = new int[]{opc_iload_0, opc_iload_1, opc_iload_2, opc_iload_3};
|
||||
|
||||
public void writeToStream(DataOutputStream out, int offset) throws IOException {
|
||||
int index = getOperand(0);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2014 JetBrains s.r.o.
|
||||
* Copyright 2000-2015 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -22,7 +22,7 @@ import java.io.IOException;
|
||||
|
||||
public class ISTORE extends Instruction {
|
||||
|
||||
private static int[] opcodes = new int[]{opc_istore_0, opc_istore_1, opc_istore_2, opc_istore_3};
|
||||
private static final int[] opcodes = new int[]{opc_istore_0, opc_istore_1, opc_istore_2, opc_istore_3};
|
||||
|
||||
public void writeToStream(DataOutputStream out, int offset) throws IOException {
|
||||
int index = getOperand(0);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2014 JetBrains s.r.o.
|
||||
* Copyright 2000-2015 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -22,7 +22,7 @@ import java.io.IOException;
|
||||
|
||||
public class LLOAD extends Instruction {
|
||||
|
||||
private static int[] opcodes = new int[]{opc_lload_0, opc_lload_1, opc_lload_2, opc_lload_3};
|
||||
private static final int[] opcodes = new int[]{opc_lload_0, opc_lload_1, opc_lload_2, opc_lload_3};
|
||||
|
||||
public void writeToStream(DataOutputStream out, int offset) throws IOException {
|
||||
int index = getOperand(0);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2014 JetBrains s.r.o.
|
||||
* Copyright 2000-2015 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -22,7 +22,7 @@ import java.io.IOException;
|
||||
|
||||
public class LSTORE extends Instruction {
|
||||
|
||||
private static int[] opcodes = new int[]{opc_lstore_0, opc_lstore_1, opc_lstore_2, opc_lstore_3};
|
||||
private static final int[] opcodes = new int[]{opc_lstore_0, opc_lstore_1, opc_lstore_2, opc_lstore_3};
|
||||
|
||||
public void writeToStream(DataOutputStream out, int offset) throws IOException {
|
||||
int index = getOperand(0);
|
||||
|
||||
@@ -47,8 +47,8 @@ import java.util.*;
|
||||
|
||||
public class ClassWriter {
|
||||
|
||||
private ClassReference14Processor ref14processor;
|
||||
private PoolInterceptor interceptor;
|
||||
private final ClassReference14Processor ref14processor;
|
||||
private final PoolInterceptor interceptor;
|
||||
|
||||
public ClassWriter() {
|
||||
ref14processor = new ClassReference14Processor();
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2014 JetBrains s.r.o.
|
||||
* Copyright 2000-2015 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -43,7 +43,7 @@ public class ClassesProcessor {
|
||||
|
||||
public static final int AVERAGE_CLASS_SIZE = 16 * 1024;
|
||||
|
||||
private Map<String, ClassNode> mapRootClasses = new HashMap<String, ClassNode>();
|
||||
private final Map<String, ClassNode> mapRootClasses = new HashMap<String, ClassNode>();
|
||||
|
||||
public ClassesProcessor(StructContext context) {
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2014 JetBrains s.r.o.
|
||||
* Copyright 2000-2015 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -37,7 +37,7 @@ public class DecompilerContext {
|
||||
public static final String CURRENT_METHOD_WRAPPER = "CURRENT_METHOD_WRAPPER";
|
||||
public static final String CURRENT_VAR_PROCESSOR = "CURRENT_VAR_PROCESSOR";
|
||||
|
||||
private static ThreadLocal<DecompilerContext> currentContext = new ThreadLocal<DecompilerContext>();
|
||||
private static final ThreadLocal<DecompilerContext> currentContext = new ThreadLocal<DecompilerContext>();
|
||||
|
||||
private final Map<String, Object> properties;
|
||||
private StructContext structContext;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2014 JetBrains s.r.o.
|
||||
* Copyright 2000-2015 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -31,7 +31,7 @@ import java.util.Map;
|
||||
|
||||
public class Fernflower implements IDecompiledData {
|
||||
|
||||
private StructContext structContext;
|
||||
private final StructContext structContext;
|
||||
private ClassesProcessor classesProcessor;
|
||||
|
||||
public Fernflower(IBytecodeProvider provider, IResultSaver saver, Map<String, Object> options, IFernflowerLogger logger) {
|
||||
|
||||
@@ -27,7 +27,7 @@ public class BytecodeMappingTracer {
|
||||
private StructLineNumberTableAttribute lineNumberTable = null;
|
||||
|
||||
// bytecode offset, source line
|
||||
private Map<Integer, Integer> mapping = new HashMap<Integer, Integer>();
|
||||
private final Map<Integer, Integer> mapping = new HashMap<Integer, Integer>();
|
||||
|
||||
public BytecodeMappingTracer() { }
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2014 JetBrains s.r.o.
|
||||
* Copyright 2000-2015 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -21,7 +21,7 @@ public class CounterContainer {
|
||||
public static final int EXPRENT_COUNTER = 1;
|
||||
public static final int VAR_COUNTER = 2;
|
||||
|
||||
private int[] values = new int[]{1, 1, 1};
|
||||
private final int[] values = new int[]{1, 1, 1};
|
||||
|
||||
public void setCounter(int counter, int value) {
|
||||
values[counter] = value;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2014 JetBrains s.r.o.
|
||||
* Copyright 2000-2015 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -29,8 +29,8 @@ public class ImportCollector {
|
||||
|
||||
private static final String JAVA_LANG_PACKAGE = "java.lang";
|
||||
|
||||
private Map<String, String> mapSimpleNames = new HashMap<String, String>();
|
||||
private Set<String> setNotImportedNames = new HashSet<String>();
|
||||
private final Map<String, String> mapSimpleNames = new HashMap<String, String>();
|
||||
private final Set<String> setNotImportedNames = new HashSet<String>();
|
||||
private String currentPackageSlash = "";
|
||||
private String currentPackagePoint = "";
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2014 JetBrains s.r.o.
|
||||
* Copyright 2000-2015 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -20,7 +20,7 @@ import java.util.Set;
|
||||
|
||||
public class VarNamesCollector {
|
||||
|
||||
private Set<String> usedNames = new HashSet<String>();
|
||||
private final Set<String> usedNames = new HashSet<String>();
|
||||
|
||||
public VarNamesCollector() { }
|
||||
|
||||
|
||||
@@ -113,8 +113,8 @@ public class ConsoleDecompiler implements IBytecodeProvider, IResultSaver {
|
||||
|
||||
private final File root;
|
||||
private final Fernflower fernflower;
|
||||
private Map<String, ZipOutputStream> mapArchiveStreams = new HashMap<String, ZipOutputStream>();
|
||||
private Map<String, Set<String>> mapArchiveEntries = new HashMap<String, Set<String>>();
|
||||
private final Map<String, ZipOutputStream> mapArchiveStreams = new HashMap<String, ZipOutputStream>();
|
||||
private final Map<String, Set<String>> mapArchiveEntries = new HashMap<String, Set<String>>();
|
||||
|
||||
@SuppressWarnings("UseOfSystemOutOrSystemErr")
|
||||
public ConsoleDecompiler(File destination, Map<String, Object> options) {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2014 JetBrains s.r.o.
|
||||
* Copyright 2000-2015 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -40,11 +40,11 @@ import java.util.Set;
|
||||
|
||||
public class ClassWrapper {
|
||||
|
||||
private StructClass classStruct;
|
||||
private Set<String> hiddenMembers = new HashSet<String>();
|
||||
private VBStyleCollection<Exprent, String> staticFieldInitializers = new VBStyleCollection<Exprent, String>();
|
||||
private VBStyleCollection<Exprent, String> dynamicFieldInitializers = new VBStyleCollection<Exprent, String>();
|
||||
private VBStyleCollection<MethodWrapper, String> methods = new VBStyleCollection<MethodWrapper, String>();
|
||||
private final StructClass classStruct;
|
||||
private final Set<String> hiddenMembers = new HashSet<String>();
|
||||
private final VBStyleCollection<Exprent, String> staticFieldInitializers = new VBStyleCollection<Exprent, String>();
|
||||
private final VBStyleCollection<Exprent, String> dynamicFieldInitializers = new VBStyleCollection<Exprent, String>();
|
||||
private final VBStyleCollection<MethodWrapper, String> methods = new VBStyleCollection<MethodWrapper, String>();
|
||||
|
||||
public ClassWrapper(StructClass classStruct) {
|
||||
this.classStruct = classStruct;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2014 JetBrains s.r.o.
|
||||
* Copyright 2000-2015 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -42,7 +42,7 @@ public class NestedMemberAccess {
|
||||
private static final int METHOD_ACCESS_METHOD = 4;
|
||||
|
||||
private boolean noSynthFlag;
|
||||
private Map<MethodWrapper, Integer> mapMethodType = new HashMap<MethodWrapper, Integer>();
|
||||
private final Map<MethodWrapper, Integer> mapMethodType = new HashMap<MethodWrapper, Integer>();
|
||||
|
||||
|
||||
public void propagateMemberAccess(ClassNode root) {
|
||||
|
||||
@@ -141,7 +141,7 @@ public class ExprProcessor implements CodeConstants {
|
||||
|
||||
private static final String[] typeNames = new String[]{"byte", "char", "double", "float", "int", "long", "short", "boolean",};
|
||||
|
||||
private VarProcessor varProcessor = (VarProcessor)DecompilerContext.getProperty(DecompilerContext.CURRENT_VAR_PROCESSOR);
|
||||
private final VarProcessor varProcessor = (VarProcessor)DecompilerContext.getProperty(DecompilerContext.CURRENT_VAR_PROCESSOR);
|
||||
|
||||
public void processStatement(RootStatement root, StructClass cl) {
|
||||
|
||||
|
||||
@@ -46,10 +46,10 @@ import java.util.Map.Entry;
|
||||
|
||||
public class FinallyProcessor {
|
||||
|
||||
private Map<Integer, Integer> finallyBlockIDs = new HashMap<Integer, Integer>();
|
||||
private Map<Integer, Integer> catchallBlockIDs = new HashMap<Integer, Integer>();
|
||||
private final Map<Integer, Integer> finallyBlockIDs = new HashMap<Integer, Integer>();
|
||||
private final Map<Integer, Integer> catchallBlockIDs = new HashMap<Integer, Integer>();
|
||||
|
||||
private VarProcessor varprocessor;
|
||||
private final VarProcessor varprocessor;
|
||||
|
||||
public FinallyProcessor(VarProcessor varprocessor) {
|
||||
this.varprocessor = varprocessor;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2014 JetBrains s.r.o.
|
||||
* Copyright 2000-2015 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -22,7 +22,7 @@ import java.util.List;
|
||||
|
||||
public class PrimitiveExprsList {
|
||||
|
||||
private List<Exprent> lstExprents = new ArrayList<Exprent>();
|
||||
private final List<Exprent> lstExprents = new ArrayList<Exprent>();
|
||||
|
||||
private ExprentStack stack = new ExprentStack();
|
||||
|
||||
|
||||
@@ -53,7 +53,7 @@ public class SimplifyExprentsHelper {
|
||||
|
||||
static MatchEngine class14Builder = new MatchEngine();
|
||||
|
||||
private boolean firstInvocation;
|
||||
private final boolean firstInvocation;
|
||||
|
||||
public SimplifyExprentsHelper(boolean firstInvocation) {
|
||||
this.firstInvocation = firstInvocation;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2014 JetBrains s.r.o.
|
||||
* Copyright 2000-2015 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -23,9 +23,9 @@ import java.util.List;
|
||||
|
||||
public class DominatorEngine {
|
||||
|
||||
private Statement statement;
|
||||
private final Statement statement;
|
||||
|
||||
private VBStyleCollection<Integer, Integer> colOrderedIDoms = new VBStyleCollection<Integer, Integer>();
|
||||
private final VBStyleCollection<Integer, Integer> colOrderedIDoms = new VBStyleCollection<Integer, Integer>();
|
||||
|
||||
|
||||
public DominatorEngine(Statement statement) {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2014 JetBrains s.r.o.
|
||||
* Copyright 2000-2015 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -24,19 +24,19 @@ import java.util.Map.Entry;
|
||||
|
||||
public class DominatorTreeExceptionFilter {
|
||||
|
||||
private Statement statement;
|
||||
private final Statement statement;
|
||||
|
||||
// idom, nodes
|
||||
private Map<Integer, Set<Integer>> mapTreeBranches = new HashMap<Integer, Set<Integer>>();
|
||||
private final Map<Integer, Set<Integer>> mapTreeBranches = new HashMap<Integer, Set<Integer>>();
|
||||
|
||||
// handler, range nodes
|
||||
private Map<Integer, Set<Integer>> mapExceptionRanges = new HashMap<Integer, Set<Integer>>();
|
||||
private final Map<Integer, Set<Integer>> mapExceptionRanges = new HashMap<Integer, Set<Integer>>();
|
||||
|
||||
// handler, head dom
|
||||
private Map<Integer, Integer> mapExceptionDoms = new HashMap<Integer, Integer>();
|
||||
|
||||
// statement, handler, exit nodes
|
||||
private Map<Integer, Map<Integer, Integer>> mapExceptionRangeUniqueExit = new HashMap<Integer, Map<Integer, Integer>>();
|
||||
private final Map<Integer, Map<Integer, Integer>> mapExceptionRangeUniqueExit = new HashMap<Integer, Map<Integer, Integer>>();
|
||||
|
||||
private DominatorEngine domEngine;
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2014 JetBrains s.r.o.
|
||||
* Copyright 2000-2015 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -30,7 +30,7 @@ public class FastExtendedPostdominanceHelper {
|
||||
|
||||
private HashMap<Integer, FastFixedSet<Integer>> mapSupportPoints = new HashMap<Integer, FastFixedSet<Integer>>();
|
||||
|
||||
private HashMap<Integer, FastFixedSet<Integer>> mapExtPostdominators = new HashMap<Integer, FastFixedSet<Integer>>();
|
||||
private final HashMap<Integer, FastFixedSet<Integer>> mapExtPostdominators = new HashMap<Integer, FastFixedSet<Integer>>();
|
||||
|
||||
private Statement statement;
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2014 JetBrains s.r.o.
|
||||
* Copyright 2000-2015 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -22,9 +22,9 @@ import java.util.Set;
|
||||
|
||||
public class GenericDominatorEngine {
|
||||
|
||||
private IGraph graph;
|
||||
private final IGraph graph;
|
||||
|
||||
private VBStyleCollection<IGraphNode, IGraphNode> colOrderedIDoms = new VBStyleCollection<IGraphNode, IGraphNode>();
|
||||
private final VBStyleCollection<IGraphNode, IGraphNode> colOrderedIDoms = new VBStyleCollection<IGraphNode, IGraphNode>();
|
||||
|
||||
private Set<? extends IGraphNode> setRoots;
|
||||
|
||||
|
||||
@@ -38,7 +38,7 @@ import java.util.Set;
|
||||
public class NewExprent extends Exprent {
|
||||
|
||||
private InvocationExprent constructor;
|
||||
private VarType newType;
|
||||
private final VarType newType;
|
||||
private List<Exprent> lstDims = new ArrayList<Exprent>();
|
||||
private List<Exprent> lstArrayElements = new ArrayList<Exprent>();
|
||||
private boolean directArrayInit;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2014 JetBrains s.r.o.
|
||||
* Copyright 2000-2015 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -26,19 +26,19 @@ import java.util.Map.Entry;
|
||||
public class FlattenStatementsHelper {
|
||||
|
||||
// statement.id, node.id(direct), node.id(continue)
|
||||
private Map<Integer, String[]> mapDestinationNodes = new HashMap<Integer, String[]>();
|
||||
private final Map<Integer, String[]> mapDestinationNodes = new HashMap<Integer, String[]>();
|
||||
|
||||
// node.id(source), statement.id(destination), edge type
|
||||
private List<Edge> listEdges = new ArrayList<Edge>();
|
||||
private final List<Edge> listEdges = new ArrayList<Edge>();
|
||||
|
||||
// node.id(exit), [node.id(source), statement.id(destination)]
|
||||
private Map<String, List<String[]>> mapShortRangeFinallyPathIds = new HashMap<String, List<String[]>>();
|
||||
private final Map<String, List<String[]>> mapShortRangeFinallyPathIds = new HashMap<String, List<String[]>>();
|
||||
|
||||
// node.id(exit), [node.id(source), statement.id(destination)]
|
||||
private Map<String, List<String[]>> mapLongRangeFinallyPathIds = new HashMap<String, List<String[]>>();
|
||||
private final Map<String, List<String[]>> mapLongRangeFinallyPathIds = new HashMap<String, List<String[]>>();
|
||||
|
||||
// positive if branches
|
||||
private Map<String, Integer> mapPosIfBranch = new HashMap<String, Integer>();
|
||||
private final Map<String, Integer> mapPosIfBranch = new HashMap<String, Integer>();
|
||||
|
||||
private DirectGraph graph;
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2014 JetBrains s.r.o.
|
||||
* Copyright 2000-2015 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -42,24 +42,24 @@ import java.util.Map.Entry;
|
||||
public class SSAConstructorSparseEx {
|
||||
|
||||
// node id, var, version
|
||||
private HashMap<String, SFormsFastMapDirect> inVarVersions = new HashMap<String, SFormsFastMapDirect>();
|
||||
private final HashMap<String, SFormsFastMapDirect> inVarVersions = new HashMap<String, SFormsFastMapDirect>();
|
||||
|
||||
// node id, var, version (direct branch)
|
||||
private HashMap<String, SFormsFastMapDirect> outVarVersions = new HashMap<String, SFormsFastMapDirect>();
|
||||
private final HashMap<String, SFormsFastMapDirect> outVarVersions = new HashMap<String, SFormsFastMapDirect>();
|
||||
|
||||
// node id, var, version (negative branch)
|
||||
private HashMap<String, SFormsFastMapDirect> outNegVarVersions = new HashMap<String, SFormsFastMapDirect>();
|
||||
private final HashMap<String, SFormsFastMapDirect> outNegVarVersions = new HashMap<String, SFormsFastMapDirect>();
|
||||
|
||||
// node id, var, version
|
||||
private HashMap<String, SFormsFastMapDirect> extraVarVersions = new HashMap<String, SFormsFastMapDirect>();
|
||||
private final HashMap<String, SFormsFastMapDirect> extraVarVersions = new HashMap<String, SFormsFastMapDirect>();
|
||||
|
||||
// (var, version), version
|
||||
private HashMap<VarVersionPair, FastSparseSet<Integer>> phi = new HashMap<VarVersionPair, FastSparseSet<Integer>>();
|
||||
private final HashMap<VarVersionPair, FastSparseSet<Integer>> phi = new HashMap<VarVersionPair, FastSparseSet<Integer>>();
|
||||
|
||||
// var, version
|
||||
private HashMap<Integer, Integer> lastversion = new HashMap<Integer, Integer>();
|
||||
private final HashMap<Integer, Integer> lastversion = new HashMap<Integer, Integer>();
|
||||
|
||||
private List<VarVersionPair> startVars = new ArrayList<VarVersionPair>();
|
||||
private final List<VarVersionPair> startVars = new ArrayList<VarVersionPair>();
|
||||
|
||||
// set factory
|
||||
private FastSparseSetFactory<Integer> factory;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2014 JetBrains s.r.o.
|
||||
* Copyright 2000-2015 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -40,42 +40,42 @@ import java.util.Map.Entry;
|
||||
public class SSAUConstructorSparseEx {
|
||||
|
||||
// node id, var, version
|
||||
private HashMap<String, SFormsFastMapDirect> inVarVersions = new HashMap<String, SFormsFastMapDirect>();
|
||||
private final HashMap<String, SFormsFastMapDirect> inVarVersions = new HashMap<String, SFormsFastMapDirect>();
|
||||
//private HashMap<String, HashMap<Integer, FastSet<Integer>>> inVarVersions = new HashMap<String, HashMap<Integer, FastSet<Integer>>>();
|
||||
|
||||
// node id, var, version (direct branch)
|
||||
private HashMap<String, SFormsFastMapDirect> outVarVersions = new HashMap<String, SFormsFastMapDirect>();
|
||||
private final HashMap<String, SFormsFastMapDirect> outVarVersions = new HashMap<String, SFormsFastMapDirect>();
|
||||
//private HashMap<String, HashMap<Integer, FastSet<Integer>>> outVarVersions = new HashMap<String, HashMap<Integer, FastSet<Integer>>>();
|
||||
|
||||
// node id, var, version (negative branch)
|
||||
private HashMap<String, SFormsFastMapDirect> outNegVarVersions = new HashMap<String, SFormsFastMapDirect>();
|
||||
private final HashMap<String, SFormsFastMapDirect> outNegVarVersions = new HashMap<String, SFormsFastMapDirect>();
|
||||
//private HashMap<String, HashMap<Integer, FastSet<Integer>>> outNegVarVersions = new HashMap<String, HashMap<Integer, FastSet<Integer>>>();
|
||||
|
||||
// node id, var, version
|
||||
private HashMap<String, SFormsFastMapDirect> extraVarVersions = new HashMap<String, SFormsFastMapDirect>();
|
||||
private final HashMap<String, SFormsFastMapDirect> extraVarVersions = new HashMap<String, SFormsFastMapDirect>();
|
||||
//private HashMap<String, HashMap<Integer, FastSet<Integer>>> extraVarVersions = new HashMap<String, HashMap<Integer, FastSet<Integer>>>();
|
||||
|
||||
// (var, version), version
|
||||
private HashMap<VarVersionPair, HashSet<Integer>> phi = new HashMap<VarVersionPair, HashSet<Integer>>();
|
||||
private final HashMap<VarVersionPair, HashSet<Integer>> phi = new HashMap<VarVersionPair, HashSet<Integer>>();
|
||||
|
||||
// var, version
|
||||
private HashMap<Integer, Integer> lastversion = new HashMap<Integer, Integer>();
|
||||
private final HashMap<Integer, Integer> lastversion = new HashMap<Integer, Integer>();
|
||||
|
||||
// version, protected ranges (catch, finally)
|
||||
private HashMap<VarVersionPair, Integer> mapVersionFirstRange = new HashMap<VarVersionPair, Integer>();
|
||||
private final HashMap<VarVersionPair, Integer> mapVersionFirstRange = new HashMap<VarVersionPair, Integer>();
|
||||
|
||||
// version, version
|
||||
private HashMap<VarVersionPair, VarVersionPair> phantomppnodes = new HashMap<VarVersionPair, VarVersionPair>(); // ++ and --
|
||||
private final HashMap<VarVersionPair, VarVersionPair> phantomppnodes = new HashMap<VarVersionPair, VarVersionPair>(); // ++ and --
|
||||
|
||||
// node.id, version, version
|
||||
private HashMap<String, HashMap<VarVersionPair, VarVersionPair>> phantomexitnodes =
|
||||
private final HashMap<String, HashMap<VarVersionPair, VarVersionPair>> phantomexitnodes =
|
||||
new HashMap<String, HashMap<VarVersionPair, VarVersionPair>>(); // finally exits
|
||||
|
||||
// versions memory dependencies
|
||||
private VarVersionsGraph ssuversions = new VarVersionsGraph();
|
||||
private final VarVersionsGraph ssuversions = new VarVersionsGraph();
|
||||
|
||||
// field access vars (exprent id, var id)
|
||||
private HashMap<Integer, Integer> mapFieldVars = new HashMap<Integer, Integer>();
|
||||
private final HashMap<Integer, Integer> mapFieldVars = new HashMap<Integer, Integer>();
|
||||
|
||||
// field access counter
|
||||
private int fieldvarcounter = -1;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2014 JetBrains s.r.o.
|
||||
* Copyright 2000-2015 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -31,7 +31,7 @@ public class BasicBlockStatement extends Statement {
|
||||
// private fields
|
||||
// *****************************************************************************
|
||||
|
||||
private BasicBlock block;
|
||||
private final BasicBlock block;
|
||||
|
||||
// *****************************************************************************
|
||||
// constructors
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2014 JetBrains s.r.o.
|
||||
* Copyright 2000-2015 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -40,7 +40,7 @@ public class CatchAllStatement extends Statement {
|
||||
|
||||
private VarExprent monitor;
|
||||
|
||||
private List<VarExprent> vars = new ArrayList<VarExprent>();
|
||||
private final List<VarExprent> vars = new ArrayList<VarExprent>();
|
||||
|
||||
// *****************************************************************************
|
||||
// constructors
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2014 JetBrains s.r.o.
|
||||
* Copyright 2000-2015 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -33,9 +33,9 @@ import java.util.List;
|
||||
|
||||
public class CatchStatement extends Statement {
|
||||
|
||||
private List<List<String>> exctstrings = new ArrayList<List<String>>();
|
||||
private final List<List<String>> exctstrings = new ArrayList<List<String>>();
|
||||
|
||||
private List<VarExprent> vars = new ArrayList<VarExprent>();
|
||||
private final List<VarExprent> vars = new ArrayList<VarExprent>();
|
||||
|
||||
// *****************************************************************************
|
||||
// constructors
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2014 JetBrains s.r.o.
|
||||
* Copyright 2000-2015 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -34,9 +34,9 @@ public class DoStatement extends Statement {
|
||||
|
||||
private int looptype;
|
||||
|
||||
private List<Exprent> initExprent = new ArrayList<Exprent>();
|
||||
private List<Exprent> conditionExprent = new ArrayList<Exprent>();
|
||||
private List<Exprent> incExprent = new ArrayList<Exprent>();
|
||||
private final List<Exprent> initExprent = new ArrayList<Exprent>();
|
||||
private final List<Exprent> conditionExprent = new ArrayList<Exprent>();
|
||||
private final List<Exprent> incExprent = new ArrayList<Exprent>();
|
||||
|
||||
// *****************************************************************************
|
||||
// constructors
|
||||
|
||||
@@ -15,15 +15,6 @@
|
||||
*/
|
||||
package org.jetbrains.java.decompiler.modules.decompiler.stats;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.Set;
|
||||
|
||||
import org.jetbrains.java.decompiler.code.CodeConstants;
|
||||
import org.jetbrains.java.decompiler.code.InstructionSequence;
|
||||
import org.jetbrains.java.decompiler.main.DecompilerContext;
|
||||
@@ -39,6 +30,9 @@ import org.jetbrains.java.decompiler.struct.match.MatchNode;
|
||||
import org.jetbrains.java.decompiler.struct.match.MatchNode.RuleValue;
|
||||
import org.jetbrains.java.decompiler.util.VBStyleCollection;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.Map.Entry;
|
||||
|
||||
public class Statement implements IMatchable {
|
||||
|
||||
public static final int STATEDGE_ALL = 1 << 31;
|
||||
@@ -79,11 +73,11 @@ public class Statement implements IMatchable {
|
||||
// private fields
|
||||
// *****************************************************************************
|
||||
|
||||
private Map<Integer, List<StatEdge>> mapSuccEdges = new HashMap<Integer, List<StatEdge>>();
|
||||
private Map<Integer, List<StatEdge>> mapPredEdges = new HashMap<Integer, List<StatEdge>>();
|
||||
private final Map<Integer, List<StatEdge>> mapSuccEdges = new HashMap<Integer, List<StatEdge>>();
|
||||
private final Map<Integer, List<StatEdge>> mapPredEdges = new HashMap<Integer, List<StatEdge>>();
|
||||
|
||||
private Map<Integer, List<Statement>> mapSuccStates = new HashMap<Integer, List<Statement>>();
|
||||
private Map<Integer, List<Statement>> mapPredStates = new HashMap<Integer, List<Statement>>();
|
||||
private final Map<Integer, List<Statement>> mapSuccStates = new HashMap<Integer, List<Statement>>();
|
||||
private final Map<Integer, List<Statement>> mapPredStates = new HashMap<Integer, List<Statement>>();
|
||||
|
||||
// statement as graph
|
||||
protected VBStyleCollection<Statement, Integer> stats = new VBStyleCollection<Statement, Integer>();
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2014 JetBrains s.r.o.
|
||||
* Copyright 2000-2015 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -45,7 +45,7 @@ public class SwitchStatement extends Statement {
|
||||
|
||||
private StatEdge default_edge;
|
||||
|
||||
private List<Exprent> headexprent = new ArrayList<Exprent>();
|
||||
private final List<Exprent> headexprent = new ArrayList<Exprent>();
|
||||
|
||||
// *****************************************************************************
|
||||
// constructors
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2014 JetBrains s.r.o.
|
||||
* Copyright 2000-2015 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -30,7 +30,7 @@ public class SynchronizedStatement extends Statement {
|
||||
|
||||
private Statement body;
|
||||
|
||||
private List<Exprent> headexprent = new ArrayList<Exprent>();
|
||||
private final List<Exprent> headexprent = new ArrayList<Exprent>();
|
||||
|
||||
// *****************************************************************************
|
||||
// constructors
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2014 JetBrains s.r.o.
|
||||
* Copyright 2000-2015 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -23,9 +23,9 @@ import java.util.List;
|
||||
|
||||
public class CheckTypesResult {
|
||||
|
||||
private List<ExprentTypePair> lstMaxTypeExprents = new ArrayList<ExprentTypePair>();
|
||||
private final List<ExprentTypePair> lstMaxTypeExprents = new ArrayList<ExprentTypePair>();
|
||||
|
||||
private List<ExprentTypePair> lstMinTypeExprents = new ArrayList<ExprentTypePair>();
|
||||
private final List<ExprentTypePair> lstMinTypeExprents = new ArrayList<ExprentTypePair>();
|
||||
|
||||
public void addMaxTypeExprent(Exprent exprent, VarType type) {
|
||||
lstMaxTypeExprents.add(new ExprentTypePair(exprent, type, null));
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2014 JetBrains s.r.o.
|
||||
* Copyright 2000-2015 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -34,14 +34,14 @@ import java.util.Map.Entry;
|
||||
|
||||
public class VarDefinitionHelper {
|
||||
|
||||
private HashMap<Integer, Statement> mapVarDefStatements;
|
||||
private final HashMap<Integer, Statement> mapVarDefStatements;
|
||||
|
||||
// statement.id, defined vars
|
||||
private HashMap<Integer, HashSet<Integer>> mapStatementVars;
|
||||
private final HashMap<Integer, HashSet<Integer>> mapStatementVars;
|
||||
|
||||
private HashSet<Integer> implDefVars;
|
||||
private final HashSet<Integer> implDefVars;
|
||||
|
||||
private VarProcessor varproc;
|
||||
private final VarProcessor varproc;
|
||||
|
||||
public VarDefinitionHelper(Statement root, StructMethod mt, VarProcessor varproc) {
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2014 JetBrains s.r.o.
|
||||
* Copyright 2000-2015 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -29,8 +29,8 @@ public class VarProcessor {
|
||||
|
||||
private Map<VarVersionPair, String> mapVarNames = new HashMap<VarVersionPair, String>();
|
||||
private VarVersionsProcessor varVersions;
|
||||
private Map<VarVersionPair, String> thisVars = new HashMap<VarVersionPair, String>();
|
||||
private Set<VarVersionPair> externalVars = new HashSet<VarVersionPair>();
|
||||
private final Map<VarVersionPair, String> thisVars = new HashMap<VarVersionPair, String>();
|
||||
private final Set<VarVersionPair> externalVars = new HashSet<VarVersionPair>();
|
||||
|
||||
public void setVarVersions(RootStatement root) {
|
||||
varVersions = new VarVersionsProcessor();
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2014 JetBrains s.r.o.
|
||||
* Copyright 2000-2015 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -39,9 +39,9 @@ public class VarTypeProcessor {
|
||||
public static final int VAR_EXPLICIT_FINAL = 2;
|
||||
public static final int VAR_FINAL = 3;
|
||||
|
||||
private Map<VarVersionPair, VarType> mapExprentMinTypes = new HashMap<VarVersionPair, VarType>();
|
||||
private Map<VarVersionPair, VarType> mapExprentMaxTypes = new HashMap<VarVersionPair, VarType>();
|
||||
private Map<VarVersionPair, Integer> mapFinalVars = new HashMap<VarVersionPair, Integer>();
|
||||
private final Map<VarVersionPair, VarType> mapExprentMinTypes = new HashMap<VarVersionPair, VarType>();
|
||||
private final Map<VarVersionPair, VarType> mapExprentMaxTypes = new HashMap<VarVersionPair, VarType>();
|
||||
private final Map<VarVersionPair, Integer> mapFinalVars = new HashMap<VarVersionPair, Integer>();
|
||||
|
||||
private void setInitVars(RootStatement root) {
|
||||
StructMethod mt = (StructMethod)DecompilerContext.getProperty(DecompilerContext.CURRENT_METHOD);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2014 JetBrains s.r.o.
|
||||
* Copyright 2000-2015 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -26,7 +26,7 @@ public class VarVersionEdge { // FIXME: can be removed?
|
||||
|
||||
public VarVersionNode dest;
|
||||
|
||||
private int hashCode;
|
||||
private final int hashCode;
|
||||
|
||||
public VarVersionEdge(int type, VarVersionNode source, VarVersionNode dest) {
|
||||
this.type = type;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2014 JetBrains s.r.o.
|
||||
* Copyright 2000-2015 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -22,11 +22,11 @@ import java.util.List;
|
||||
|
||||
public class ClassWrapperNode {
|
||||
|
||||
private StructClass classStruct;
|
||||
private final StructClass classStruct;
|
||||
|
||||
private ClassWrapperNode superclass;
|
||||
|
||||
private List<ClassWrapperNode> subclasses = new ArrayList<ClassWrapperNode>();
|
||||
private final List<ClassWrapperNode> subclasses = new ArrayList<ClassWrapperNode>();
|
||||
|
||||
public ClassWrapperNode(StructClass cl) {
|
||||
this.classStruct = cl;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2014 JetBrains s.r.o.
|
||||
* Copyright 2000-2015 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -32,7 +32,7 @@ public class ConverterHelper implements IIdentifierRenamer {
|
||||
private int classCounter = 0;
|
||||
private int fieldCounter = 0;
|
||||
private int methodCounter = 0;
|
||||
private Set<String> setNonStandardClassNames = new HashSet<String>();
|
||||
private final Set<String> setNonStandardClassNames = new HashSet<String>();
|
||||
|
||||
@Override
|
||||
public boolean toBeRenamed(Type elementType, String className, String element, String descriptor) {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2014 JetBrains s.r.o.
|
||||
* Copyright 2000-2015 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -21,11 +21,11 @@ import java.util.HashMap;
|
||||
|
||||
public class PoolInterceptor {
|
||||
|
||||
private IIdentifierRenamer helper;
|
||||
private final IIdentifierRenamer helper;
|
||||
|
||||
private HashMap<String, String> mapOldToNewNames = new HashMap<String, String>();
|
||||
private final HashMap<String, String> mapOldToNewNames = new HashMap<String, String>();
|
||||
|
||||
private HashMap<String, String> mapNewToOldNames = new HashMap<String, String>();
|
||||
private final HashMap<String, String> mapNewToOldNames = new HashMap<String, String>();
|
||||
|
||||
public PoolInterceptor(IIdentifierRenamer helper) {
|
||||
this.helper = helper;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2014 JetBrains s.r.o.
|
||||
* Copyright 2000-2015 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -26,8 +26,8 @@ import java.util.List;
|
||||
|
||||
public class StructBootstrapMethodsAttribute extends StructGeneralAttribute {
|
||||
|
||||
private List<LinkConstant> methodRefs = new ArrayList<LinkConstant>();
|
||||
private List<List<PooledConstant>> methodArguments = new ArrayList<List<PooledConstant>>();
|
||||
private final List<LinkConstant> methodRefs = new ArrayList<LinkConstant>();
|
||||
private final List<List<PooledConstant>> methodArguments = new ArrayList<List<PooledConstant>>();
|
||||
|
||||
@Override
|
||||
public void initContent(ConstantPool pool) throws IOException {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2014 JetBrains s.r.o.
|
||||
* Copyright 2000-2015 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -35,7 +35,7 @@ public class ConstantPool implements NewClassNameBuilder {
|
||||
public static final int METHOD = 2;
|
||||
|
||||
private List<PooledConstant> pool = new ArrayList<PooledConstant>();
|
||||
private PoolInterceptor interceptor;
|
||||
private final PoolInterceptor interceptor;
|
||||
|
||||
|
||||
public ConstantPool(DataInputStream in) throws IOException {
|
||||
|
||||
@@ -1,3 +1,18 @@
|
||||
/*
|
||||
* Copyright 2000-2015 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.jetbrains.java.decompiler.struct.match;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -21,16 +36,16 @@ public class MatchEngine {
|
||||
|
||||
private MatchNode rootNode = null;
|
||||
|
||||
private Map<String, Object> variables = new HashMap<String, Object>();
|
||||
private final Map<String, Object> variables = new HashMap<String, Object>();
|
||||
|
||||
private static Map<String, MatchProperties> stat_properties = new HashMap<String, MatchProperties>();
|
||||
private static Map<String, MatchProperties> expr_properties = new HashMap<String, MatchProperties>();
|
||||
private static Map<String, Integer> stat_type = new HashMap<String, Integer>();
|
||||
private static Map<String, Integer> expr_type = new HashMap<String, Integer>();
|
||||
private static Map<String, Integer> expr_func_type = new HashMap<String, Integer>();
|
||||
private static Map<String, Integer> expr_exit_type = new HashMap<String, Integer>();
|
||||
private static Map<String, Integer> stat_if_type = new HashMap<String, Integer>();
|
||||
private static Map<String, VarType> expr_const_type = new HashMap<String, VarType>();
|
||||
private static final Map<String, MatchProperties> stat_properties = new HashMap<String, MatchProperties>();
|
||||
private static final Map<String, MatchProperties> expr_properties = new HashMap<String, MatchProperties>();
|
||||
private static final Map<String, Integer> stat_type = new HashMap<String, Integer>();
|
||||
private static final Map<String, Integer> expr_type = new HashMap<String, Integer>();
|
||||
private static final Map<String, Integer> expr_func_type = new HashMap<String, Integer>();
|
||||
private static final Map<String, Integer> expr_exit_type = new HashMap<String, Integer>();
|
||||
private static final Map<String, Integer> stat_if_type = new HashMap<String, Integer>();
|
||||
private static final Map<String, VarType> expr_const_type = new HashMap<String, VarType>();
|
||||
|
||||
static {
|
||||
stat_properties.put("type", MatchProperties.STATEMENT_TYPE);
|
||||
|
||||
@@ -1,3 +1,18 @@
|
||||
/*
|
||||
* Copyright 2000-2015 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.jetbrains.java.decompiler.struct.match;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -31,11 +46,11 @@ public class MatchNode {
|
||||
public static final int MATCHNODE_STATEMENT = 0;
|
||||
public static final int MATCHNODE_EXPRENT = 1;
|
||||
|
||||
private int type;
|
||||
private final int type;
|
||||
|
||||
private Map<MatchProperties, RuleValue> rules = new HashMap<MatchProperties, RuleValue>();
|
||||
private final Map<MatchProperties, RuleValue> rules = new HashMap<MatchProperties, RuleValue>();
|
||||
|
||||
private List<MatchNode> children = new ArrayList<MatchNode>();
|
||||
private final List<MatchNode> children = new ArrayList<MatchNode>();
|
||||
|
||||
|
||||
public MatchNode(int type) {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2014 JetBrains s.r.o.
|
||||
* Copyright 2000-2015 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -19,9 +19,9 @@ import java.util.*;
|
||||
|
||||
public class FastFixedSetFactory<E> {
|
||||
|
||||
private VBStyleCollection<int[], E> colValuesInternal = new VBStyleCollection<int[], E>();
|
||||
private final VBStyleCollection<int[], E> colValuesInternal = new VBStyleCollection<int[], E>();
|
||||
|
||||
private int dataLength;
|
||||
private final int dataLength;
|
||||
|
||||
public FastFixedSetFactory(Collection<E> set) {
|
||||
|
||||
@@ -59,9 +59,9 @@ public class FastFixedSetFactory<E> {
|
||||
|
||||
public static class FastFixedSet<E> implements Iterable<E> {
|
||||
|
||||
private FastFixedSetFactory<E> factory;
|
||||
private final FastFixedSetFactory<E> factory;
|
||||
|
||||
private VBStyleCollection<int[], E> colValuesInternal;
|
||||
private final VBStyleCollection<int[], E> colValuesInternal;
|
||||
|
||||
private int[] data;
|
||||
|
||||
@@ -286,9 +286,9 @@ public class FastFixedSetFactory<E> {
|
||||
|
||||
public static class FastFixedSetIterator<E> implements Iterator<E> {
|
||||
|
||||
private VBStyleCollection<int[], E> colValuesInternal;
|
||||
private int[] data;
|
||||
private int size;
|
||||
private final VBStyleCollection<int[], E> colValuesInternal;
|
||||
private final int[] data;
|
||||
private final int size;
|
||||
|
||||
private int pointer = -1;
|
||||
private int next_pointer = -1;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2014 JetBrains s.r.o.
|
||||
* Copyright 2000-2015 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -22,7 +22,7 @@ import java.util.Set;
|
||||
|
||||
public class FastSetFactory<E> {
|
||||
|
||||
private VBStyleCollection<int[], E> colValuesInternal = new VBStyleCollection<int[], E>();
|
||||
private final VBStyleCollection<int[], E> colValuesInternal = new VBStyleCollection<int[], E>();
|
||||
|
||||
private int lastBlock;
|
||||
|
||||
@@ -89,9 +89,9 @@ public class FastSetFactory<E> {
|
||||
|
||||
public static class FastSet<E> implements Iterable<E> {
|
||||
|
||||
private FastSetFactory<E> factory;
|
||||
private final FastSetFactory<E> factory;
|
||||
|
||||
private VBStyleCollection<int[], E> colValuesInternal;
|
||||
private final VBStyleCollection<int[], E> colValuesInternal;
|
||||
|
||||
private int[] data;
|
||||
|
||||
@@ -427,8 +427,8 @@ public class FastSetFactory<E> {
|
||||
|
||||
public static class FastSetIterator<E> implements Iterator<E> {
|
||||
|
||||
private VBStyleCollection<int[], E> colValuesInternal;
|
||||
private int[] data;
|
||||
private final VBStyleCollection<int[], E> colValuesInternal;
|
||||
private final int[] data;
|
||||
private int size;
|
||||
|
||||
private int pointer = -1;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2014 JetBrains s.r.o.
|
||||
* Copyright 2000-2015 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -22,7 +22,7 @@ import java.util.Set;
|
||||
|
||||
public class FastSparseSetFactory<E> {
|
||||
|
||||
private VBStyleCollection<int[], E> colValuesInternal = new VBStyleCollection<int[], E>();
|
||||
private final VBStyleCollection<int[], E> colValuesInternal = new VBStyleCollection<int[], E>();
|
||||
|
||||
private int lastBlock;
|
||||
|
||||
@@ -90,9 +90,9 @@ public class FastSparseSetFactory<E> {
|
||||
public static class FastSparseSet<E> implements Iterable<E> {
|
||||
public static final FastSparseSet[] EMPTY_ARRAY = new FastSparseSet[0];
|
||||
|
||||
private FastSparseSetFactory<E> factory;
|
||||
private final FastSparseSetFactory<E> factory;
|
||||
|
||||
private VBStyleCollection<int[], E> colValuesInternal;
|
||||
private final VBStyleCollection<int[], E> colValuesInternal;
|
||||
|
||||
private int[] data;
|
||||
private int[] next;
|
||||
@@ -478,10 +478,10 @@ public class FastSparseSetFactory<E> {
|
||||
|
||||
public static class FastSparseSetIterator<E> implements Iterator<E> {
|
||||
|
||||
private VBStyleCollection<int[], E> colValuesInternal;
|
||||
private int[] data;
|
||||
private int[] next;
|
||||
private int size;
|
||||
private final VBStyleCollection<int[], E> colValuesInternal;
|
||||
private final int[] data;
|
||||
private final int[] next;
|
||||
private final int size;
|
||||
|
||||
private int pointer = -1;
|
||||
private int next_pointer = -1;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2014 JetBrains s.r.o.
|
||||
* Copyright 2000-2015 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -27,9 +27,9 @@ public class SFormsFastMapDirect {
|
||||
|
||||
private int size;
|
||||
|
||||
@SuppressWarnings("unchecked") private FastSparseSet<Integer>[][] elements = new FastSparseSet[3][];
|
||||
@SuppressWarnings("unchecked") private final FastSparseSet<Integer>[][] elements = new FastSparseSet[3][];
|
||||
|
||||
private int[][] next = new int[3][];
|
||||
private final int[][] next = new int[3][];
|
||||
|
||||
public SFormsFastMapDirect() {
|
||||
this(true);
|
||||
@@ -363,8 +363,8 @@ public class SFormsFastMapDirect {
|
||||
|
||||
list.add(new Entry<Integer, FastSparseSet<Integer>>() {
|
||||
|
||||
private Integer var = key;
|
||||
private FastSparseSet<Integer> val = ent;
|
||||
private final Integer var = key;
|
||||
private final FastSparseSet<Integer> val = ent;
|
||||
|
||||
public Integer getKey() {
|
||||
return var;
|
||||
|
||||
Reference in New Issue
Block a user