From 076e4393f25bf1ad1ff1bd2853153e2b595dd90b Mon Sep 17 00:00:00 2001 From: Roman Shevchenko Date: Thu, 28 Aug 2014 21:34:14 +0400 Subject: java-decompiler: post-import cleanup (formatting and copyright) --- .../java/decompiler/struct/gen/DataPoint.java | 170 +++++++++++---------- 1 file changed, 86 insertions(+), 84 deletions(-) (limited to 'src/org/jetbrains/java/decompiler/struct/gen/DataPoint.java') diff --git a/src/org/jetbrains/java/decompiler/struct/gen/DataPoint.java b/src/org/jetbrains/java/decompiler/struct/gen/DataPoint.java index db6ecd1..53269da 100644 --- a/src/org/jetbrains/java/decompiler/struct/gen/DataPoint.java +++ b/src/org/jetbrains/java/decompiler/struct/gen/DataPoint.java @@ -1,98 +1,100 @@ /* - * Fernflower - The Analytical Java Decompiler - * http://www.reversed-java.com + * Copyright 2000-2014 JetBrains s.r.o. * - * (C) 2008 - 2010, Stiver + * 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 * - * This software is NEITHER public domain NOR free software - * as per GNU License. See license.txt for more details. + * http://www.apache.org/licenses/LICENSE-2.0 * - * This software is distributed WITHOUT ANY WARRANTY; without - * even the implied warranty of MERCHANTABILITY or FITNESS FOR - * A PARTICULAR PURPOSE. + * 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.gen; -import java.util.ArrayList; -import java.util.List; - import org.jetbrains.java.decompiler.code.CodeConstants; import org.jetbrains.java.decompiler.struct.StructMethod; import org.jetbrains.java.decompiler.util.ListStack; +import java.util.ArrayList; +import java.util.List; + public class DataPoint { - private List localVariables = new ArrayList(); - - private ListStack stack = new ListStack(); - - - public void setVariable(int index, VarType value) { - if(index>=localVariables.size()) { - for(int i=localVariables.size();i<=index;i++) { - localVariables.add(new VarType(CodeConstants.TYPE_NOTINITIALIZED)); - } - } - - localVariables.set(index, value); - } - - public VarType getVariable(int index) { - if(index(localVariables)); - point.setStack(stack.clone()); - return point; - } - - public static DataPoint getInitialDataPoint(StructMethod mt) { - - DataPoint point = new DataPoint(); - - MethodDescriptor md = MethodDescriptor.parseDescriptor(mt.getDescriptor()); - - int k = 0; - if((mt.getAccessFlags() & CodeConstants.ACC_STATIC) == 0) { - point.setVariable(k++, new VarType(CodeConstants.TYPE_OBJECT, 0, null)); - } - - for(int i=0;i getLocalVariables() { - return localVariables; - } - - public void setLocalVariables(List localVariables) { - this.localVariables = localVariables; - } - - public ListStack getStack() { - return stack; - } - - public void setStack(ListStack stack) { - this.stack = stack; - } - + private List localVariables = new ArrayList(); + + private ListStack stack = new ListStack(); + + + public void setVariable(int index, VarType value) { + if (index >= localVariables.size()) { + for (int i = localVariables.size(); i <= index; i++) { + localVariables.add(new VarType(CodeConstants.TYPE_NOTINITIALIZED)); + } + } + + localVariables.set(index, value); + } + + public VarType getVariable(int index) { + if (index < localVariables.size()) { + return localVariables.get(index); + } + else if (index < 0) { + throw new IndexOutOfBoundsException(); + } + else { + return new VarType(CodeConstants.TYPE_NOTINITIALIZED); + } + } + + public DataPoint copy() { + DataPoint point = new DataPoint(); + point.setLocalVariables(new ArrayList(localVariables)); + point.setStack(stack.clone()); + return point; + } + + public static DataPoint getInitialDataPoint(StructMethod mt) { + + DataPoint point = new DataPoint(); + + MethodDescriptor md = MethodDescriptor.parseDescriptor(mt.getDescriptor()); + + int k = 0; + if ((mt.getAccessFlags() & CodeConstants.ACC_STATIC) == 0) { + point.setVariable(k++, new VarType(CodeConstants.TYPE_OBJECT, 0, null)); + } + + for (int i = 0; i < md.params.length; i++) { + VarType var = md.params[i]; + + point.setVariable(k++, var); + if (var.stack_size == 2) { + point.setVariable(k++, new VarType(CodeConstants.TYPE_GROUP2EMPTY)); + } + } + + return point; + } + + + public List getLocalVariables() { + return localVariables; + } + + public void setLocalVariables(List localVariables) { + this.localVariables = localVariables; + } + + public ListStack getStack() { + return stack; + } + + public void setStack(ListStack stack) { + this.stack = stack; + } } -- cgit v1.2.3