Java formatter fixes

This commit is contained in:
Olesya Smirnova
2005-01-24 23:06:31 +03:00
parent 1fd8837d17
commit 618abf69be
3 changed files with 147 additions and 147 deletions
@@ -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];
}