From d39f64adfb1570f6be9f07a636d4d2a1bf781562 Mon Sep 17 00:00:00 2001 From: Sergey Prigogin Date: Sat, 11 Feb 2012 10:37:56 -0800 Subject: [PATCH] Bug 371165 - Invalid formatting of newly created classes. --- .../org/eclipse/cdt/internal/formatter/CCodeFormatter.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/formatter/CCodeFormatter.java b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/formatter/CCodeFormatter.java index 496d45d7ec9..da91f5e369d 100644 --- a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/formatter/CCodeFormatter.java +++ b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/formatter/CCodeFormatter.java @@ -26,6 +26,7 @@ import org.eclipse.cdt.core.model.CModelException; import org.eclipse.cdt.core.model.CoreModel; import org.eclipse.cdt.core.model.ILanguage; import org.eclipse.cdt.core.model.ITranslationUnit; +import org.eclipse.cdt.core.model.IWorkingCopy; import org.eclipse.cdt.core.parser.FileContent; import org.eclipse.cdt.core.parser.IScannerInfo; import org.eclipse.cdt.core.parser.IncludeFileContentProvider; @@ -258,6 +259,9 @@ public class CCodeFormatter extends CodeFormatter { } if (tu != null && source != null) { try { + // Create a private working copy and set it contents to source. + if (tu.isWorkingCopy()) + tu = ((IWorkingCopy) tu).getOriginalElement(); tu = tu.getWorkingCopy(); tu.getBuffer().setContents(source); } catch (CModelException e) {