summaryrefslogtreecommitdiffstats
path: root/src/org/jetbrains/java/decompiler/modules/decompiler/stats/BasicBlockStatement.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/org/jetbrains/java/decompiler/modules/decompiler/stats/BasicBlockStatement.java')
-rw-r--r--src/org/jetbrains/java/decompiler/modules/decompiler/stats/BasicBlockStatement.java157
1 files changed, 79 insertions, 78 deletions
diff --git a/src/org/jetbrains/java/decompiler/modules/decompiler/stats/BasicBlockStatement.java b/src/org/jetbrains/java/decompiler/modules/decompiler/stats/BasicBlockStatement.java
index 5cfa634..ddac0c5 100644
--- a/src/org/jetbrains/java/decompiler/modules/decompiler/stats/BasicBlockStatement.java
+++ b/src/org/jetbrains/java/decompiler/modules/decompiler/stats/BasicBlockStatement.java
@@ -1,17 +1,18 @@
/*
- * 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.modules.decompiler.stats;
import org.jetbrains.java.decompiler.code.CodeConstants;
@@ -23,73 +24,73 @@ import org.jetbrains.java.decompiler.main.collectors.CounterContainer;
import org.jetbrains.java.decompiler.modules.decompiler.ExprProcessor;
public class BasicBlockStatement extends Statement {
-
- // *****************************************************************************
- // private fields
- // *****************************************************************************
-
- private BasicBlock block;
-
- // *****************************************************************************
- // constructors
- // *****************************************************************************
-
- public BasicBlockStatement(BasicBlock block) {
-
- type = Statement.TYPE_BASICBLOCK;
-
- this.block = block;
-
- id = block.id;
- CounterContainer coun = DecompilerContext.getCountercontainer();
- if(id>=coun.getCounter(CounterContainer.STATEMENT_COUNTER)) {
- coun.setCounter(CounterContainer.STATEMENT_COUNTER, id+1);
- }
-
- Instruction instr = block.getLastInstruction();
- if(instr != null) {
- if(instr.group==CodeConstants.GROUP_JUMP && instr.opcode != CodeConstants.opc_goto) {
- lastBasicType = LASTBASICTYPE_IF;
- } else if(instr.group==CodeConstants.GROUP_SWITCH) {
- lastBasicType = LASTBASICTYPE_SWITCH;
- }
- }
-
- // monitorenter and monitorexits
- buildMonitorFlags();
- }
-
- // *****************************************************************************
- // public methods
- // *****************************************************************************
-
- public String toJava(int indent) {
- return ExprProcessor.listToJava(varDefinitions, indent)+
- ExprProcessor.listToJava(exprents, indent);
- }
-
- public Statement getSimpleCopy() {
-
- BasicBlock newblock = new BasicBlock(
- DecompilerContext.getCountercontainer().getCounterAndIncrement(CounterContainer.STATEMENT_COUNTER));
-
- SimpleInstructionSequence seq = new SimpleInstructionSequence();
- for(int i=0;i<block.getSeq().length();i++) {
- seq.addInstruction(block.getSeq().getInstr(i).clone(), -1);
- }
-
- newblock.setSeq(seq);
-
- return new BasicBlockStatement(newblock);
- }
-
-
- // *****************************************************************************
- // getter and setter methods
- // *****************************************************************************
-
- public BasicBlock getBlock() {
- return block;
- }
-
+
+ // *****************************************************************************
+ // private fields
+ // *****************************************************************************
+
+ private BasicBlock block;
+
+ // *****************************************************************************
+ // constructors
+ // *****************************************************************************
+
+ public BasicBlockStatement(BasicBlock block) {
+
+ type = Statement.TYPE_BASICBLOCK;
+
+ this.block = block;
+
+ id = block.id;
+ CounterContainer coun = DecompilerContext.getCountercontainer();
+ if (id >= coun.getCounter(CounterContainer.STATEMENT_COUNTER)) {
+ coun.setCounter(CounterContainer.STATEMENT_COUNTER, id + 1);
+ }
+
+ Instruction instr = block.getLastInstruction();
+ if (instr != null) {
+ if (instr.group == CodeConstants.GROUP_JUMP && instr.opcode != CodeConstants.opc_goto) {
+ lastBasicType = LASTBASICTYPE_IF;
+ }
+ else if (instr.group == CodeConstants.GROUP_SWITCH) {
+ lastBasicType = LASTBASICTYPE_SWITCH;
+ }
+ }
+
+ // monitorenter and monitorexits
+ buildMonitorFlags();
+ }
+
+ // *****************************************************************************
+ // public methods
+ // *****************************************************************************
+
+ public String toJava(int indent) {
+ return ExprProcessor.listToJava(varDefinitions, indent) +
+ ExprProcessor.listToJava(exprents, indent);
+ }
+
+ public Statement getSimpleCopy() {
+
+ BasicBlock newblock = new BasicBlock(
+ DecompilerContext.getCountercontainer().getCounterAndIncrement(CounterContainer.STATEMENT_COUNTER));
+
+ SimpleInstructionSequence seq = new SimpleInstructionSequence();
+ for (int i = 0; i < block.getSeq().length(); i++) {
+ seq.addInstruction(block.getSeq().getInstr(i).clone(), -1);
+ }
+
+ newblock.setSeq(seq);
+
+ return new BasicBlockStatement(newblock);
+ }
+
+
+ // *****************************************************************************
+ // getter and setter methods
+ // *****************************************************************************
+
+ public BasicBlock getBlock() {
+ return block;
+ }
}