mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Java formatter fixes
This commit is contained in:
@@ -70,7 +70,7 @@ public class EditorImpl implements EditorEx {
|
||||
private EditorComponentImpl myEditorComponent;
|
||||
private EditorGutterComponentImpl myGutterComponent;
|
||||
|
||||
|
||||
|
||||
private CommandProcessor myCommandProcessor;
|
||||
private MyScrollBar myVerticalScrollBar;
|
||||
private MyScrollBar myHorizontalScrollBar;
|
||||
|
||||
@@ -59,21 +59,21 @@ public class CompositeElement extends TreeElement implements Cloneable {
|
||||
}
|
||||
|
||||
public Object clone() {
|
||||
CompositeElement clone = (CompositeElement)super.clone();
|
||||
CompositeElement clone = (CompositeElement)super.clone();
|
||||
|
||||
synchronized (PsiLock.LOCK) {
|
||||
clone.clearCaches();
|
||||
clone.parent = null;
|
||||
clone.prev = null;
|
||||
clone.firstChild = null;
|
||||
clone.lastChild = null;
|
||||
clone.myModificationsCount = 0;
|
||||
clone.myParentModifications = -1;
|
||||
for (ASTNode child = getFirstChildNode(); child != null; child = child.getTreeNext()) {
|
||||
TreeUtil.addChildren(clone, (TreeElement)child.clone());
|
||||
synchronized (PsiLock.LOCK) {
|
||||
clone.clearCaches();
|
||||
clone.parent = null;
|
||||
clone.prev = null;
|
||||
clone.firstChild = null;
|
||||
clone.lastChild = null;
|
||||
clone.myModificationsCount = 0;
|
||||
clone.myParentModifications = -1;
|
||||
for (ASTNode child = getFirstChildNode(); child != null; child = child.getTreeNext()) {
|
||||
TreeUtil.addChildren(clone, (TreeElement)child.clone());
|
||||
}
|
||||
}
|
||||
}
|
||||
return clone;
|
||||
return clone;
|
||||
}
|
||||
|
||||
public void subtreeChanged() {
|
||||
@@ -113,23 +113,23 @@ public class CompositeElement extends TreeElement implements Cloneable {
|
||||
|
||||
public LeafElement findLeafElementAt(int offset) {
|
||||
|
||||
synchronized (PsiLock.LOCK) {
|
||||
final CharTable table = SharedImplUtil.findCharTableByTree(this);
|
||||
TreeElement child = firstChild;
|
||||
while (child != null) {
|
||||
final int textLength = child.getTextLength(table);
|
||||
if (textLength > offset) {
|
||||
if (child instanceof ChameleonElement) {
|
||||
child = ChameleonTransforming.transform((ChameleonElement)child);
|
||||
continue;
|
||||
synchronized (PsiLock.LOCK) {
|
||||
final CharTable table = SharedImplUtil.findCharTableByTree(this);
|
||||
TreeElement child = firstChild;
|
||||
while (child != null) {
|
||||
final int textLength = child.getTextLength(table);
|
||||
if (textLength > offset) {
|
||||
if (child instanceof ChameleonElement) {
|
||||
child = ChameleonTransforming.transform((ChameleonElement)child);
|
||||
continue;
|
||||
}
|
||||
return child.findLeafElementAt(offset);
|
||||
}
|
||||
return child.findLeafElementAt(offset);
|
||||
offset -= textLength;
|
||||
child = child.getTreeNext();
|
||||
}
|
||||
offset -= textLength;
|
||||
child = child.getTreeNext();
|
||||
return null;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public String getText() {
|
||||
@@ -137,21 +137,21 @@ public class CompositeElement extends TreeElement implements Cloneable {
|
||||
}
|
||||
|
||||
public String getText(CharTable table) {
|
||||
synchronized (PsiLock.LOCK) {
|
||||
// check if all elements are laid out consequently in the same buffer (optimization):
|
||||
char[] buffer = new char[getTextLength()];
|
||||
SourceUtil.toBuffer(this, buffer, 0, table);
|
||||
//return StringFactory.createStringFromConstantArray(buffer);
|
||||
return new String(buffer);
|
||||
}
|
||||
synchronized (PsiLock.LOCK) {
|
||||
// check if all elements are laid out consequently in the same buffer (optimization):
|
||||
char[] buffer = new char[getTextLength()];
|
||||
SourceUtil.toBuffer(this, buffer, 0, table);
|
||||
//return StringFactory.createStringFromConstantArray(buffer);
|
||||
return new String(buffer);
|
||||
}
|
||||
}
|
||||
|
||||
public char[] textToCharArray() {
|
||||
synchronized (PsiLock.LOCK) {
|
||||
char[] buffer = new char[getTextLength()];
|
||||
SourceUtil.toBuffer(this, buffer, 0);
|
||||
return buffer;
|
||||
}
|
||||
synchronized (PsiLock.LOCK) {
|
||||
char[] buffer = new char[getTextLength()];
|
||||
SourceUtil.toBuffer(this, buffer, 0);
|
||||
return buffer;
|
||||
}
|
||||
}
|
||||
|
||||
public boolean textContains(char c) {
|
||||
@@ -165,13 +165,13 @@ public class CompositeElement extends TreeElement implements Cloneable {
|
||||
}
|
||||
|
||||
public ASTNode findChildByRole(int role) {
|
||||
LOG.assertTrue(ChildRole.isUnique(role));
|
||||
synchronized (PsiLock.LOCK) {
|
||||
for (ASTNode child = getFirstChildNode(); child != null; child = child.getTreeNext()) {
|
||||
if (getChildRole(child) == role) return child;
|
||||
LOG.assertTrue(ChildRole.isUnique(role));
|
||||
synchronized (PsiLock.LOCK) {
|
||||
for (ASTNode child = getFirstChildNode(); child != null; child = child.getTreeNext()) {
|
||||
if (getChildRole(child) == role) return child;
|
||||
}
|
||||
}
|
||||
}
|
||||
return null;
|
||||
return null;
|
||||
}
|
||||
|
||||
public int getChildRole(ASTNode child) {
|
||||
@@ -291,13 +291,13 @@ public class CompositeElement extends TreeElement implements Cloneable {
|
||||
}
|
||||
|
||||
protected int getLengthInner(CharTable charTableByTree) {
|
||||
synchronized (PsiLock.LOCK) {
|
||||
int length = 0;
|
||||
for (TreeElement child = firstChild; child != null; child = child.getTreeNext()) {
|
||||
length += child.getTextLength(charTableByTree);
|
||||
synchronized (PsiLock.LOCK) {
|
||||
int length = 0;
|
||||
for (TreeElement child = firstChild; child != null; child = child.getTreeNext()) {
|
||||
length += child.getTextLength(charTableByTree);
|
||||
}
|
||||
return length;
|
||||
}
|
||||
return length;
|
||||
}
|
||||
}
|
||||
|
||||
public void setCachedLength(int length) {
|
||||
|
||||
@@ -198,17 +198,17 @@ public class XmlTextImpl extends XmlElementImpl implements XmlText {
|
||||
final ASTNode compositeElement = SourceTreeToPsiMap.psiElementToTree(xmlText);
|
||||
TreeUtil.removeRange((TreeElement)compositeElement.getFirstChildNode(), null);
|
||||
model.runTransaction(new PomTransactionBase(this) {
|
||||
public PomModelEvent run() {
|
||||
ASTNode current = second;
|
||||
while (current != null) {
|
||||
final ASTNode next = current.getTreeNext();
|
||||
removeChild(current);
|
||||
compositeElement.addChild(current, null);
|
||||
current = next;
|
||||
}
|
||||
return XmlTextChanged.createXmlTextChanged(model, XmlTextImpl.this, oldText);
|
||||
}
|
||||
}, aspect);
|
||||
public PomModelEvent run() {
|
||||
ASTNode current = second;
|
||||
while (current != null) {
|
||||
final ASTNode next = current.getTreeNext();
|
||||
removeChild(current);
|
||||
compositeElement.addChild(current, null);
|
||||
current = next;
|
||||
}
|
||||
return XmlTextChanged.createXmlTextChanged(model, XmlTextImpl.this, oldText);
|
||||
}
|
||||
}, aspect);
|
||||
|
||||
XmlElement xmlElement = (XmlElement)parent.addAfter(element, this);
|
||||
parent.addAfter(xmlText, xmlElement);
|
||||
@@ -220,11 +220,11 @@ public class XmlTextImpl extends XmlElementImpl implements XmlText {
|
||||
}
|
||||
else {
|
||||
model.runTransaction(new PomTransactionBase(this) {
|
||||
public PomModelEvent run() {
|
||||
retHolder[0] = addInternal((TreeElement)insertedElement, insertedElement, retHolder[0], Boolean.TRUE);
|
||||
return XmlTextChanged.createXmlTextChanged(model, XmlTextImpl.this, oldText);
|
||||
}
|
||||
}, aspect);
|
||||
public PomModelEvent run() {
|
||||
retHolder[0] = addInternal((TreeElement)insertedElement, insertedElement, retHolder[0], Boolean.TRUE);
|
||||
return XmlTextChanged.createXmlTextChanged(model, XmlTextImpl.this, oldText);
|
||||
}
|
||||
}, aspect);
|
||||
}
|
||||
return (XmlElement)SourceTreeToPsiMap.treeElementToPsi(retHolder[0]);
|
||||
}
|
||||
@@ -304,79 +304,79 @@ public class XmlTextImpl extends XmlElementImpl implements XmlText {
|
||||
|
||||
try {
|
||||
model.runTransaction(new PomTransactionBase(getParent()) {
|
||||
public PomModelEvent run() throws IncorrectOperationException {
|
||||
final String oldText = getText();
|
||||
public PomModelEvent run() throws IncorrectOperationException {
|
||||
final String oldText = getText();
|
||||
|
||||
final LeafElement firstAffectedLeaf = findLeafElementAt(start);
|
||||
final LeafElement lastAffectedLeaf;
|
||||
final int lastAffectedLeafOffset;
|
||||
final int startOffsetInStartToken = start - firstAffectedLeaf.getStartOffsetInParent();
|
||||
{
|
||||
// remove elements inside the affected area
|
||||
LeafElement current = firstAffectedLeaf;
|
||||
int endOffset = current.getStartOffsetInParent();
|
||||
final LeafElement firstAffectedLeaf = findLeafElementAt(start);
|
||||
final LeafElement lastAffectedLeaf;
|
||||
final int lastAffectedLeafOffset;
|
||||
final int startOffsetInStartToken = start - firstAffectedLeaf.getStartOffsetInParent();
|
||||
{
|
||||
// remove elements inside the affected area
|
||||
LeafElement current = firstAffectedLeaf;
|
||||
int endOffset = current.getStartOffsetInParent();
|
||||
|
||||
while (current != null && (endOffset += current.getTextLength(table)) <= end) {
|
||||
final LeafElement toDelete = current;
|
||||
current = (LeafElement)current.getTreeNext();
|
||||
if (toDelete != firstAffectedLeaf) removeChild(toDelete);
|
||||
}
|
||||
lastAffectedLeaf = current;
|
||||
lastAffectedLeafOffset = endOffset - (current != null ? current.getTextLength(table) : 0);
|
||||
}
|
||||
while (current != null && (endOffset += current.getTextLength(table)) <= end) {
|
||||
final LeafElement toDelete = current;
|
||||
current = (LeafElement)current.getTreeNext();
|
||||
if (toDelete != firstAffectedLeaf) removeChild(toDelete);
|
||||
}
|
||||
lastAffectedLeaf = current;
|
||||
lastAffectedLeafOffset = endOffset - (current != null ? current.getTextLength(table) : 0);
|
||||
}
|
||||
|
||||
LeafElement tokenToChange;
|
||||
int deletedAreaStartOffset = 0;
|
||||
int deletedAreaEndOffset = 0;
|
||||
if (lastAffectedLeafOffset < end && lastAffectedLeaf != firstAffectedLeaf) {
|
||||
// merging tokens
|
||||
final LeafElement merged = mergeElements(firstAffectedLeaf, lastAffectedLeaf, table);
|
||||
if (merged == null) {
|
||||
removeChild(split(firstAffectedLeaf, startOffsetInStartToken));
|
||||
removeChild(split(lastAffectedLeaf, end - lastAffectedLeafOffset).getTreePrev());
|
||||
}
|
||||
else {
|
||||
ChangeUtil.replaceAll(new LeafElement[]{firstAffectedLeaf, lastAffectedLeaf}, merged);
|
||||
deletedAreaStartOffset = startOffsetInStartToken;
|
||||
deletedAreaEndOffset = end - lastAffectedLeafOffset + firstAffectedLeaf.getTextLength(table) -
|
||||
startOffsetInStartToken;
|
||||
}
|
||||
tokenToChange = merged;
|
||||
}
|
||||
else {
|
||||
// replacing first token
|
||||
tokenToChange = firstAffectedLeaf;
|
||||
final int textLength = firstAffectedLeaf.getTextLength(table);
|
||||
deletedAreaStartOffset = startOffsetInStartToken;
|
||||
deletedAreaEndOffset = Math.min(end - firstAffectedLeaf.getStartOffsetInParent(), textLength);
|
||||
}
|
||||
LeafElement tokenToChange;
|
||||
int deletedAreaStartOffset = 0;
|
||||
int deletedAreaEndOffset = 0;
|
||||
if (lastAffectedLeafOffset < end && lastAffectedLeaf != firstAffectedLeaf) {
|
||||
// merging tokens
|
||||
final LeafElement merged = mergeElements(firstAffectedLeaf, lastAffectedLeaf, table);
|
||||
if (merged == null) {
|
||||
removeChild(split(firstAffectedLeaf, startOffsetInStartToken));
|
||||
removeChild(split(lastAffectedLeaf, end - lastAffectedLeafOffset).getTreePrev());
|
||||
}
|
||||
else {
|
||||
ChangeUtil.replaceAll(new LeafElement[]{firstAffectedLeaf, lastAffectedLeaf}, merged);
|
||||
deletedAreaStartOffset = startOffsetInStartToken;
|
||||
deletedAreaEndOffset = end - lastAffectedLeafOffset + firstAffectedLeaf.getTextLength(table) -
|
||||
startOffsetInStartToken;
|
||||
}
|
||||
tokenToChange = merged;
|
||||
}
|
||||
else {
|
||||
// replacing first token
|
||||
tokenToChange = firstAffectedLeaf;
|
||||
final int textLength = firstAffectedLeaf.getTextLength(table);
|
||||
deletedAreaStartOffset = startOffsetInStartToken;
|
||||
deletedAreaEndOffset = Math.min(end - firstAffectedLeaf.getStartOffsetInParent(), textLength);
|
||||
}
|
||||
|
||||
if (tokenToChange != null) {
|
||||
final int textLength = tokenToChange.getTextLength(table);
|
||||
if (deletedAreaStartOffset > 0 || deletedAreaEndOffset < textLength) {
|
||||
String text = tokenToChange.getText(table);
|
||||
text = text.substring(0, deletedAreaStartOffset) + text.substring(deletedAreaEndOffset);
|
||||
final LeafElement newLeaf = Factory.createSingleLeafElement(firstAffectedLeaf.getElementType(),
|
||||
text.toCharArray(), 0, text.length(), table,
|
||||
null);
|
||||
replaceChild(tokenToChange, newLeaf);
|
||||
}
|
||||
else {
|
||||
final ASTNode treeNext = tokenToChange.getTreeNext();
|
||||
final ASTNode treePrev = tokenToChange.getTreePrev();
|
||||
final LeafElement merged = mergeElements((LeafElement)treePrev, (LeafElement)treeNext, table);
|
||||
removeChild(tokenToChange);
|
||||
if (merged != null) {
|
||||
ChangeUtil.replaceAll(new LeafElement[]{(LeafElement)treePrev,
|
||||
(LeafElement)treeNext},
|
||||
merged);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (tokenToChange != null) {
|
||||
final int textLength = tokenToChange.getTextLength(table);
|
||||
if (deletedAreaStartOffset > 0 || deletedAreaEndOffset < textLength) {
|
||||
String text = tokenToChange.getText(table);
|
||||
text = text.substring(0, deletedAreaStartOffset) + text.substring(deletedAreaEndOffset);
|
||||
final LeafElement newLeaf = Factory.createSingleLeafElement(firstAffectedLeaf.getElementType(),
|
||||
text.toCharArray(), 0, text.length(), table,
|
||||
null);
|
||||
replaceChild(tokenToChange, newLeaf);
|
||||
}
|
||||
else {
|
||||
final ASTNode treeNext = tokenToChange.getTreeNext();
|
||||
final ASTNode treePrev = tokenToChange.getTreePrev();
|
||||
final LeafElement merged = mergeElements((LeafElement)treePrev, (LeafElement)treeNext, table);
|
||||
removeChild(tokenToChange);
|
||||
if (merged != null) {
|
||||
ChangeUtil.replaceAll(new LeafElement[]{(LeafElement)treePrev,
|
||||
(LeafElement)treeNext},
|
||||
merged);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return XmlTextChanged.createXmlTextChanged(model, XmlTextImpl.this, oldText);
|
||||
}
|
||||
}, aspect);
|
||||
return XmlTextChanged.createXmlTextChanged(model, XmlTextImpl.this, oldText);
|
||||
}
|
||||
}, aspect);
|
||||
}
|
||||
catch (IncorrectOperationException e) {
|
||||
LOG.error(e);
|
||||
@@ -448,8 +448,8 @@ public class XmlTextImpl extends XmlElementImpl implements XmlText {
|
||||
ASTNode childBefore = (anchor != null ? (before ? anchor.getTreePrev() : anchor) : getLastChildNode());
|
||||
if (childBefore != null && childBefore.getElementType() == text.getFirstChildNode().getElementType()) {
|
||||
final LeafElement newText =
|
||||
mergeElements((LeafElement)childBefore, (LeafElement)text.getFirstChildNode(),
|
||||
SharedImplUtil.findCharTableByTree(XmlTextImpl.this));
|
||||
mergeElements((LeafElement)childBefore, (LeafElement)text.getFirstChildNode(),
|
||||
SharedImplUtil.findCharTableByTree(XmlTextImpl.this));
|
||||
if (newText != null) {
|
||||
replaceChildInternal(childBefore, newText);
|
||||
if (text.getLastChildNode() != text.getFirstChildNode()) {
|
||||
@@ -465,8 +465,8 @@ public class XmlTextImpl extends XmlElementImpl implements XmlText {
|
||||
ASTNode childAfter = (anchor != null ? (before ? anchor : anchor.getTreeNext()) : getLastChildNode());
|
||||
if (childAfter != null && childAfter.getElementType() == text.getFirstChildNode().getElementType()) {
|
||||
final LeafElement newText =
|
||||
mergeElements((LeafElement)text.getFirstChildNode(), (LeafElement)childAfter,
|
||||
SharedImplUtil.findCharTableByTree(XmlTextImpl.this));
|
||||
mergeElements((LeafElement)text.getFirstChildNode(), (LeafElement)childAfter,
|
||||
SharedImplUtil.findCharTableByTree(XmlTextImpl.this));
|
||||
if (newText != null) {
|
||||
replaceChildInternal(childAfter, newText);
|
||||
if (text.getLastChildNode() != text.getFirstChildNode()) {
|
||||
@@ -489,13 +489,13 @@ public class XmlTextImpl extends XmlElementImpl implements XmlText {
|
||||
}
|
||||
else {
|
||||
model.runTransaction(new PomTransactionBase(this) {
|
||||
public PomModelEvent run() {
|
||||
final String oldText = getText();
|
||||
final TreeElement treeElement = addChildren(XmlTextImpl.this, child, child.getTreeNext(), anchor, before);
|
||||
retHolder[0] = treeElement;
|
||||
return XmlTextChanged.createXmlTextChanged(model, XmlTextImpl.this, oldText);
|
||||
}
|
||||
}, aspect);
|
||||
public PomModelEvent run() {
|
||||
final String oldText = getText();
|
||||
final TreeElement treeElement = addChildren(XmlTextImpl.this, child, child.getTreeNext(), anchor, before);
|
||||
retHolder[0] = treeElement;
|
||||
return XmlTextChanged.createXmlTextChanged(model, XmlTextImpl.this, oldText);
|
||||
}
|
||||
}, aspect);
|
||||
}
|
||||
return retHolder[0];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user