|
|
@ -1,5 +1,5 @@ |
|
|
|
/* |
|
|
|
/* |
|
|
|
* Copyright 2000-2016 JetBrains s.r.o. |
|
|
|
* Copyright 2000-2017 JetBrains s.r.o. |
|
|
|
* |
|
|
|
* |
|
|
|
* Licensed under the Apache License, Version 2.0 (the "License"); |
|
|
|
* Licensed under the Apache License, Version 2.0 (the "License"); |
|
|
|
* you may not use this file except in compliance with the License. |
|
|
|
* you may not use this file except in compliance with the License. |
|
|
@ -27,8 +27,11 @@ import org.jetbrains.java.decompiler.struct.match.MatchEngine; |
|
|
|
import org.jetbrains.java.decompiler.struct.match.MatchNode; |
|
|
|
import org.jetbrains.java.decompiler.struct.match.MatchNode; |
|
|
|
import org.jetbrains.java.decompiler.struct.match.MatchNode.RuleValue; |
|
|
|
import org.jetbrains.java.decompiler.struct.match.MatchNode.RuleValue; |
|
|
|
|
|
|
|
|
|
|
|
import java.util.*; |
|
|
|
import java.util.Collection; |
|
|
|
|
|
|
|
import java.util.HashSet; |
|
|
|
|
|
|
|
import java.util.List; |
|
|
|
import java.util.Map.Entry; |
|
|
|
import java.util.Map.Entry; |
|
|
|
|
|
|
|
import java.util.Set; |
|
|
|
|
|
|
|
|
|
|
|
public class Exprent implements IMatchable { |
|
|
|
public class Exprent implements IMatchable { |
|
|
|
public static final int MULTIPLE_USES = 1; |
|
|
|
public static final int MULTIPLE_USES = 1; |
|
|
@ -72,19 +75,19 @@ public class Exprent implements IMatchable { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public CheckTypesResult checkExprTypeBounds() { |
|
|
|
public CheckTypesResult checkExprTypeBounds() { |
|
|
|
return new CheckTypesResult(); |
|
|
|
return null; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public boolean containsExprent(Exprent exprent) { |
|
|
|
public boolean containsExprent(Exprent exprent) { |
|
|
|
List<Exprent> listTemp = new ArrayList<>(getAllExprents(true)); |
|
|
|
if (equals(exprent)) { |
|
|
|
listTemp.add(this); |
|
|
|
return true; |
|
|
|
|
|
|
|
} |
|
|
|
for (Exprent lstExpr : listTemp) { |
|
|
|
List<Exprent> lst = getAllExprents(); |
|
|
|
if (lstExpr.equals(exprent)) { |
|
|
|
for (int i = lst.size() - 1; i >= 0; i--) { |
|
|
|
|
|
|
|
if (lst.get(i).containsExprent(exprent)) { |
|
|
|
return true; |
|
|
|
return true; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
return false; |
|
|
|
return false; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|