mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-08-26 06:11:42 +07:00
Remove unnecessary sinchronization.
This commit is contained in:
@@ -42,13 +42,13 @@ import java.util.List;
|
||||
*/
|
||||
public class LightMethodBuilder extends LightElement implements PsiMethod {
|
||||
private final String myName;
|
||||
private volatile Computable<PsiType> myReturnType;
|
||||
private Computable<PsiType> myReturnType;
|
||||
private final LightModifierList myModifierList;
|
||||
private volatile LightParameterListBuilder myParameterList;
|
||||
private volatile Icon myBaseIcon;
|
||||
private volatile PsiClass myContainingClass;
|
||||
private volatile boolean myConstructor;
|
||||
private volatile String myMethodKind = "LightMethodBuilder";
|
||||
private LightParameterListBuilder myParameterList;
|
||||
private Icon myBaseIcon;
|
||||
private PsiClass myContainingClass;
|
||||
private boolean myConstructor;
|
||||
private String myMethodKind = "LightMethodBuilder";
|
||||
|
||||
public LightMethodBuilder(PsiClass constructedClass) {
|
||||
this(constructedClass.getManager(), constructedClass.getName());
|
||||
|
||||
@@ -23,7 +23,6 @@ import com.intellij.util.containers.CollectionFactory;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.Set;
|
||||
|
||||
public class LightModifierList extends LightElement implements PsiModifierList{
|
||||
@@ -35,7 +34,7 @@ public class LightModifierList extends LightElement implements PsiModifierList{
|
||||
|
||||
public LightModifierList(PsiManager manager, final Language language, String... modifiers){
|
||||
super(manager, language);
|
||||
myModifiers = Collections.synchronizedSet(CollectionFactory.newTroveSet(modifiers));
|
||||
myModifiers = CollectionFactory.newTroveSet(modifiers);
|
||||
}
|
||||
|
||||
public void addModifier(String modifier) {
|
||||
|
||||
@@ -5,14 +5,14 @@ import com.intellij.psi.*;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author peter
|
||||
*/
|
||||
public class LightParameterListBuilder extends LightElement implements PsiParameterList {
|
||||
private final List<PsiParameter> myParameters = Collections.synchronizedList(new ArrayList<PsiParameter>());
|
||||
private final List<PsiParameter> myParameters = new ArrayList<PsiParameter>();
|
||||
private PsiParameter[] myCachedParameters;
|
||||
|
||||
public LightParameterListBuilder(PsiManager manager, Language language) {
|
||||
super(manager, language);
|
||||
@@ -20,6 +20,7 @@ public class LightParameterListBuilder extends LightElement implements PsiParame
|
||||
|
||||
public void addParameter(PsiParameter parameter) {
|
||||
myParameters.add(parameter);
|
||||
myCachedParameters = null;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -30,7 +31,16 @@ public class LightParameterListBuilder extends LightElement implements PsiParame
|
||||
@NotNull
|
||||
@Override
|
||||
public PsiParameter[] getParameters() {
|
||||
return myParameters.toArray(new PsiParameter[myParameters.size()]);
|
||||
if (myCachedParameters == null) {
|
||||
if (myParameters.isEmpty()) {
|
||||
myCachedParameters = PsiParameter.EMPTY_ARRAY;
|
||||
}
|
||||
else {
|
||||
myCachedParameters = myParameters.toArray(new PsiParameter[myParameters.size()]);
|
||||
}
|
||||
}
|
||||
|
||||
return myCachedParameters;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user