| Index: plugin.properties |
| =================================================================== |
| Index: META-INF/MANIFEST.MF |
| =================================================================== |
| --- META-INF/MANIFEST.MF (revision 21790) |
| +++ META-INF/MANIFEST.MF (working copy) |
| @@ -2,11 +2,11 @@ |
| Bundle-ManifestVersion: 2 |
| Bundle-Name: IMP Runtime (Incubation) |
| Bundle-SymbolicName: org.eclipse.imp.runtime; singleton:=true |
| -Bundle-Version: 0.1.100 |
| +Bundle-Version: 0.1.100.qualifier |
| Bundle-Activator: org.eclipse.imp.runtime.RuntimePlugin |
| Bundle-ActivationPolicy: lazy |
| -Eclipse-LazyStart: true |
| Bundle-Vendor: rfuhrer@watson.ibm.com |
| +Bundle-Localization: plugin |
| Require-Bundle: com.ibm.icu, |
| lpg.runtime, |
| org.eclipse.compare, |
| Index: build.properties |
| =================================================================== |
| --- build.properties (revision 21790) |
| +++ build.properties (working copy) |
| @@ -3,5 +3,6 @@ |
| bin.includes = META-INF/,\ |
| .,\ |
| plugin.xml,\ |
| - icons/ |
| + icons/,\ |
| + plugin.properties |
| src.includes = icons/ |
| Index: src/org/eclipse/imp/language/LanguageRegistry.java |
| =================================================================== |
| --- src/org/eclipse/imp/language/LanguageRegistry.java (revision 21790) |
| +++ src/org/eclipse/imp/language/LanguageRegistry.java (working copy) |
| @@ -22,6 +22,7 @@ |
| import java.util.Map; |
| |
| import org.eclipse.core.runtime.IConfigurationElement; |
| +import org.eclipse.core.runtime.IExtension; |
| import org.eclipse.core.runtime.IExtensionPoint; |
| import org.eclipse.core.runtime.IPath; |
| import org.eclipse.core.runtime.InvalidRegistryObjectException; |
| @@ -39,6 +40,7 @@ |
| import org.eclipse.swt.widgets.Display; |
| import org.eclipse.ui.IEditorDescriptor; |
| import org.eclipse.ui.IEditorInput; |
| +import org.eclipse.ui.IEditorMatchingStrategy; |
| import org.eclipse.ui.IFileEditorMapping; |
| import org.eclipse.ui.PlatformUI; |
| import org.eclipse.ui.internal.registry.EditorDescriptor; |
| @@ -404,6 +406,24 @@ |
| break; |
| } |
| } |
| + if (!gotIt) { |
| + for (IEditorDescriptor editor : mapping.getEditors()) { // Search for an implicit copy of a derived UniversalEditor |
| + EditorDescriptor editorDescriptor = (EditorDescriptor) editor; |
| + String className = editorDescriptor.getClassName(); |
| + IConfigurationElement configurationElement = editorDescriptor.getConfigurationElement(); |
| + IExtension declaringExtension = configurationElement.getDeclaringExtension(); |
| + String namespaceIdentifier = declaringExtension.getNamespaceIdentifier(); |
| + Bundle bundle = Platform.getBundle(namespaceIdentifier); |
| + try { |
| + Class<?> editorClass = bundle.loadClass(className); |
| + if (UniversalEditor.class.isAssignableFrom(editorClass)) { |
| + gotIt = true; |
| + break; |
| + } |
| + } catch (ClassNotFoundException e) { |
| + } |
| + } |
| + } |
| if (!gotIt) |
| ((FileEditorMapping) mapping).addEditor((EditorDescriptor) sUniversalEditor); |
| } |
| Index: src/org/eclipse/imp/services/ITokenColorer.java |
| =================================================================== |
| --- src/org/eclipse/imp/services/ITokenColorer.java (revision 21790) |
| +++ src/org/eclipse/imp/services/ITokenColorer.java (working copy) |
| @@ -38,4 +38,13 @@ |
| * @return a TextAttribute |
| */ |
| public TextAttribute getColoring(IParseController controller, Object token); |
| + |
| + /** |
| + * Provide coloring and font to use between a pair of tokens in the model. |
| + * @param model The model that contains the token |
| + * @param prevToken The token preceding the intertoken gap, null at start of file |
| + * @param nextToken The token following the intertoken gap, null at end of file |
| + * @return a TextAttribute |
| + */ |
| + public TextAttribute getInterColoring(IParseController controller, Object prevToken, Object nextToken); |
| } |
| Index: src/org/eclipse/imp/builder/BuilderBase.java |
| =================================================================== |
| --- src/org/eclipse/imp/builder/BuilderBase.java (revision 21790) |
| +++ src/org/eclipse/imp/builder/BuilderBase.java (working copy) |
| @@ -116,9 +116,15 @@ |
| |
| private final IResourceDeltaVisitor fDeltaVisitor= new SourceDeltaVisitor(); |
| |
| - protected IPreferencesService fPrefService= new PreferencesService(null, getPlugin().getLanguageID()); |
| + private IPreferencesService fPrefService= null; |
| + |
| + protected IPreferencesService getPreferencesService() { |
| + if (fPrefService == null) |
| + fPrefService= new PreferencesService(null, getPlugin().getLanguageID()); |
| + return fPrefService; |
| + } |
| |
| - protected DependencyInfo fDependencyInfo; |
| + protected DependencyInfo fDependencyInfo; |
| |
| private final Collection<IFile> fChangedSources= new HashSet<IFile>(); |
| |
| @@ -184,8 +190,9 @@ |
| |
| @SuppressWarnings("unchecked") |
| protected IProject[] build(int kind, Map args, IProgressMonitor monitor) { |
| - if (fPrefService.getProject() == null) { |
| - fPrefService.setProject(getProject()); |
| + IPreferencesService preferencesService = getPreferencesService(); |
| + if (preferencesService.getProject() == null) { |
| + preferencesService.setProject(getProject()); |
| } |
| |
| fChangedSources.clear(); |
| Index: src/org/eclipse/imp/utils/HTMLPrinter.java |
| =================================================================== |
| --- src/org/eclipse/imp/utils/HTMLPrinter.java (revision 21790) |
| +++ src/org/eclipse/imp/utils/HTMLPrinter.java (working copy) |
| @@ -212,19 +212,19 @@ |
| * Formats several messages as HTML text. |
| */ |
| public static String formatMultipleMessages(List/*<String>*/ messages) { |
| - if (true) { // until we hook in the HTML-enabled hover viewer |
| - StringBuffer buff= new StringBuffer(); |
| - buff.append("Multiple messages:\n"); |
| - for(Iterator iter= messages.iterator(); iter.hasNext();) { |
| - String msg= (String) iter.next(); |
| - buff.append(" "); |
| - buff.append(msg); |
| - if (iter.hasNext()) |
| - buff.append('\n'); |
| - } |
| - return buff.toString(); |
| - } |
| - StringBuffer buffer= new StringBuffer(); |
| +// if (true) { // until we hook in the HTML-enabled hover viewer |
| +// StringBuffer buff= new StringBuffer(); |
| +// buff.append("Multiple messages:\n"); |
| +// for(Iterator iter= messages.iterator(); iter.hasNext();) { |
| +// String msg= (String) iter.next(); |
| +// buff.append(" "); |
| +// buff.append(msg); |
| +// if (iter.hasNext()) |
| +// buff.append('\n'); |
| +// } |
| +// return buff.toString(); |
| +// } |
| + StringBuffer buffer= new StringBuffer(); |
| addPageProlog(buffer); |
| addParagraph(buffer, convertToHTMLContent("There are multiple markers on this line.")); |
| startBulletList(buffer); |
| @@ -240,8 +240,8 @@ |
| * Formats a message as HTML text. |
| */ |
| public static String formatSingleMessage(String message) { |
| - if (true) // until we hook in the HTML-enabled hover viewer |
| - return message; |
| +// if (true) // until we hook in the HTML-enabled hover viewer |
| +// return message; |
| StringBuffer buffer= new StringBuffer(); |
| addPageProlog(buffer); |
| addParagraph(buffer, convertToHTMLContent(message)); |
| Index: src/org/eclipse/imp/editor/AnnotationHoverBase.java |
| =================================================================== |
| --- src/org/eclipse/imp/editor/AnnotationHoverBase.java (revision 21790) |
| +++ src/org/eclipse/imp/editor/AnnotationHoverBase.java (working copy) |
| @@ -159,8 +159,8 @@ |
| * Formats a message as HTML text. |
| */ |
| public static String formatSingleMessage(String message) { |
| - if (true) // until we hook in the HTML-enabled hover viewer |
| - return message; |
| +// if (true) // until we hook in the HTML-enabled hover viewer |
| +// return message; |
| StringBuffer buffer= new StringBuffer(); |
| HTMLPrinter.addPageProlog(buffer); |
| HTMLPrinter.addParagraph(buffer, HTMLPrinter.convertToHTMLContent(message)); |
| @@ -173,18 +173,18 @@ |
| */ |
| public static String formatMultipleMessages(List<String> messages) { |
| // TODO Hook in the HTML-enabled hover viewer |
| - if (true) { // until we hook in the HTML-enabled hover viewer |
| - StringBuilder sb= new StringBuilder(); |
| - |
| - sb.append("Multiple messages:\n"); |
| - int idx= 0; |
| - for(String msg: messages) { |
| - if (idx++ > 0) { sb.append('\n'); } |
| - sb.append(" "); |
| - sb.append(msg); |
| - } |
| - return sb.toString(); |
| - } |
| +// if (true) { // until we hook in the HTML-enabled hover viewer |
| +// StringBuilder sb= new StringBuilder(); |
| +// |
| +// sb.append("Multiple messages:\n"); |
| +// int idx= 0; |
| +// for(String msg: messages) { |
| +// if (idx++ > 0) { sb.append('\n'); } |
| +// sb.append(" "); |
| +// sb.append(msg); |
| +// } |
| +// return sb.toString(); |
| +// } |
| StringBuffer buffer= new StringBuffer(); |
| HTMLPrinter.addPageProlog(buffer); |
| HTMLPrinter.addParagraph(buffer, HTMLPrinter.convertToHTMLContent("Multiple messages at this line")); |
| Index: src/org/eclipse/imp/editor/internal/PresentationController.java |
| =================================================================== |
| --- src/org/eclipse/imp/editor/internal/PresentationController.java (revision 21790) |
| +++ src/org/eclipse/imp/editor/internal/PresentationController.java (working copy) |
| @@ -13,6 +13,8 @@ |
| |
| import java.io.PrintStream; |
| import java.util.ArrayList; |
| +import java.util.Collections; |
| +import java.util.Comparator; |
| import java.util.Iterator; |
| import java.util.List; |
| import java.util.Stack; |
| @@ -152,24 +154,35 @@ |
| ISourcePositionLocator locator) { |
| int prevOffset= -1; |
| int prevEnd= -1; |
| + Object prevToken= null; |
| for(Iterator<Object> iter= parseController.getTokenIterator(damage); iter.hasNext() && !monitor.isCanceled(); ) { |
| Object token= iter.next(); |
| int offset= locator.getStartOffset(token); |
| int end= locator.getEndOffset(token); |
| |
| if (offset <= prevEnd && end >= prevOffset) { |
| - continue; |
| + continue; |
| + } |
| + else { |
| + if (offset-1 > prevEnd+1) { |
| + TextAttribute attribute= fColorer.getInterColoring(parseController, prevToken, token); |
| + if (attribute != null) { |
| + changeTokenPresentation(parseController, presentation, prevEnd+1, attribute, offset-1); |
| + } |
| + } |
| + TextAttribute attribute= fColorer.getColoring(parseController, token); |
| + if (attribute != null) { |
| + changeTokenPresentation(parseController, presentation, offset, attribute, end); |
| + } |
| } |
| - changeTokenPresentation(parseController, presentation, token, locator); |
| - prevOffset= offset; |
| + prevOffset= offset; |
| prevEnd= end; |
| + prevToken= token; |
| } |
| } |
| |
| - private void changeTokenPresentation(IParseController controller, TextPresentation presentation, Object token, ISourcePositionLocator locator) { |
| - TextAttribute attribute= fColorer.getColoring(controller, token); |
| - |
| - StyleRange styleRange= new StyleRange(locator.getStartOffset(token), locator.getEndOffset(token) - locator.getStartOffset(token) + 1, |
| + private void changeTokenPresentation(IParseController controller, TextPresentation presentation, int startOffset, TextAttribute attribute, int endOffset) { |
| + StyleRange styleRange= new StyleRange(startOffset, endOffset - startOffset + 1, |
| attribute == null ? null : attribute.getForeground(), |
| attribute == null ? null : attribute.getBackground(), |
| attribute == null ? SWT.NORMAL : attribute.getStyle()); |
| @@ -182,17 +195,27 @@ |
| } |
| } |
| |
| - private void submitTextPresentation(final TextPresentation presentation) { |
| - |
| + private void submitTextPresentation(final TextPresentation uncheckedPresentation) { |
| + int charCount = 0; |
| + if (fSourceViewer != null) { |
| + IDocument document = fSourceViewer.getDocument(); |
| + if (document != null) // EDW 27 Sep 2008 May be null after file deleted |
| + charCount = document.getLength(); |
| + } |
| + final TextPresentation presentation; |
| + if (!checkPresentation(uncheckedPresentation, charCount)) |
| + presentation = correctPresentation(uncheckedPresentation, charCount); |
| + else |
| + presentation = uncheckedPresentation; |
| Display.getDefault().asyncExec(new Runnable() { |
| public void run() { |
| |
| // SMS 16 Sep 2008 |
| - int charCount; |
| - if (fSourceViewer != null) { |
| - charCount = fSourceViewer.getDocument().getLength(); |
| - } else { |
| - charCount = 0; |
| + int charCount = 0; |
| + if (fSourceViewer != null) { |
| + IDocument document = fSourceViewer.getDocument(); |
| + if (document != null) // EDW 27 Sep 2008 May be null after file deleted |
| + charCount = document.getLength(); |
| } |
| |
| // Attempt to head off exception due to final range extending beyond |
| @@ -206,7 +229,7 @@ |
| Iterator presIt = presentation.getAllStyleRangeIterator(); |
| while (presIt.hasNext()) { |
| StyleRange nextRange = (StyleRange) presIt.next(); |
| - if (nextRange.start + nextRange.length < charCount) |
| + if (nextRange.start + nextRange.length <= charCount) |
| newPresentation.addStyleRange(nextRange); |
| } |
| } else { |
| @@ -270,4 +293,78 @@ |
| } |
| }); |
| } |
| + |
| + private boolean checkPresentation(TextPresentation presentation, int charCount) { // EDW |
| + Iterator presIt = presentation.getAllStyleRangeIterator(); |
| + int end = -1; |
| + while (presIt.hasNext()) { |
| + StyleRange nextRange = (StyleRange) presIt.next(); |
| + int start = nextRange.start; |
| + int length = nextRange.length; |
| + if (start < end) { |
| + System.out.println("Unexpected style start " + start + ":" + length + ":" + (start + length) + "/" + charCount); |
| + return false; |
| + } |
| + if (length < 1) { |
| + System.out.println("Unexpected style length " + start + ":" + length + ":" + (start + length) + "/" + charCount); |
| + return false; |
| + } |
| + end = start + length; |
| + if (end > charCount) { |
| + System.out.println("Unexpected style end " + start + ":" + length + ":" + (start + length) + "/" + charCount); |
| + return false; |
| + } |
| + } |
| + return true; |
| + } |
| + |
| + private TextPresentation correctPresentation(TextPresentation presentation, int charCount) { // EDW |
| + List<StyleRange> ranges = new ArrayList<StyleRange>(); |
| + Iterator presIt = presentation.getAllStyleRangeIterator(); |
| + for (int styleNumber = 0; presIt.hasNext(); styleNumber++) { |
| + StyleRange range = (StyleRange) presIt.next(); |
| + int start = range.start; |
| + int length = range.length; |
| + if (length <= 0) |
| + System.out.println("Ignored -ve length style " + styleNumber + ": " + range.start + ":" + range.length + ":" + (range.start + range.length) + "/" + charCount); |
| + else if (start >= charCount) |
| + System.out.println("Ignored past-end style " + styleNumber + ": " + range.start + ":" + range.length + ":" + (range.start + range.length) + "/" + charCount); |
| + else { |
| + int end = start + length; |
| + if (end > charCount) { |
| + System.out.println("Truncated over-end style " + styleNumber + ": " + range.start + ":" + range.length + ":" + (range.start + range.length) + "/" + charCount); |
| + range.length = charCount - start; |
| + } |
| + ranges.add(range); |
| + } |
| + } |
| + Collections.sort(ranges, new Comparator<StyleRange>() |
| + { |
| + public int compare(StyleRange o1, StyleRange o2) { |
| + return o1.start - o2.start; |
| + } |
| + }); |
| + IDocument document = fSourceViewer.getDocument(); |
| + TextPresentation newPresentation = new TextPresentation(); |
| + int iMax = ranges.size(); |
| + for (int i = 0; i < iMax; i++) { |
| + StyleRange thisRange = ranges.get(i); |
| + if ((i+1) < iMax) { |
| + StyleRange nextRange = ranges.get(i+1); |
| + int end = thisRange.start + thisRange.length; |
| + if (end > nextRange.start) { |
| + try { |
| + System.out.println("Truncated over-lap style " + i + " " + |
| + thisRange.start + ":" + thisRange.length + ":" + (thisRange.start + thisRange.length) + ":'" + document.get(thisRange.start, thisRange.length) + "' " + |
| + nextRange.start + ":" + nextRange.length + ":" + (nextRange.start + nextRange.length) + ":'" + document.get(nextRange.start, nextRange.length) + "'"); |
| + } catch (BadLocationException e) { |
| + e.printStackTrace(); |
| + } |
| + thisRange.length = nextRange.start - thisRange.start; |
| + } |
| + } |
| + newPresentation.addStyleRange(thisRange); |
| + } |
| + return newPresentation; |
| + } |
| } |
| Index: src/org/eclipse/imp/editor/ParserScheduler.java |
| =================================================================== |
| --- src/org/eclipse/imp/editor/ParserScheduler.java (revision 21790) |
| +++ src/org/eclipse/imp/editor/ParserScheduler.java (working copy) |
| @@ -72,6 +72,10 @@ |
| IEditorInput editorInput= fEditorPart.getEditorInput(); |
| try { |
| IDocument document= fDocumentProvider.getDocument(editorInput); |
| + if (document == null) { // EDW 29 Sep 2008 |
| + /* Editor was deleted */ |
| + return Status.OK_STATUS; |
| + } |
| |
| if (PreferenceCache.emitMessages /* fPrefService.getBooleanPreference(PreferenceConstants.P_EMIT_MESSAGES) */) { |
| RuntimePlugin.getInstance().writeInfoMsg( |
| Index: .settings/org.eclipse.jdt.core.prefs |
| =================================================================== |
| --- .settings/org.eclipse.jdt.core.prefs (revision 21790) |
| +++ .settings/org.eclipse.jdt.core.prefs (working copy) |
| @@ -1,4 +1,4 @@ |
| -#Wed Oct 18 15:08:27 EDT 2006 |
| +#Thu Aug 21 16:48:50 BST 2008 |
| eclipse.preferences.version=1 |
| org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled |
| org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5 |
| @@ -7,6 +7,65 @@ |
| org.eclipse.jdt.core.compiler.debug.lineNumber=generate |
| org.eclipse.jdt.core.compiler.debug.localVariable=generate |
| org.eclipse.jdt.core.compiler.debug.sourceFile=generate |
| +org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning |
| org.eclipse.jdt.core.compiler.problem.assertIdentifier=error |
| +org.eclipse.jdt.core.compiler.problem.autoboxing=ignore |
| +org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning |
| +org.eclipse.jdt.core.compiler.problem.deprecation=ignore |
| +org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled |
| +org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled |
| +org.eclipse.jdt.core.compiler.problem.discouragedReference=ignore |
| +org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore |
| org.eclipse.jdt.core.compiler.problem.enumIdentifier=error |
| +org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore |
| +org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled |
| +org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore |
| +org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning |
| +org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning |
| +org.eclipse.jdt.core.compiler.problem.forbiddenReference=error |
| +org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning |
| +org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning |
| +org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore |
| +org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore |
| +org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore |
| +org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning |
| +org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore |
| +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore |
| +org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning |
| +org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning |
| +org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning |
| +org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore |
| +org.eclipse.jdt.core.compiler.problem.nullReference=warning |
| +org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning |
| +org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore |
| +org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore |
| +org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore |
| +org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore |
| +org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore |
| +org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore |
| +org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled |
| +org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=ignore |
| +org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled |
| +org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore |
| +org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning |
| +org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=ignore |
| +org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore |
| +org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning |
| +org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore |
| +org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore |
| +org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore |
| +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore |
| +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled |
| +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled |
| +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled |
| +org.eclipse.jdt.core.compiler.problem.unusedImport=ignore |
| +org.eclipse.jdt.core.compiler.problem.unusedLabel=warning |
| +org.eclipse.jdt.core.compiler.problem.unusedLocal=ignore |
| +org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore |
| +org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled |
| +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled |
| +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled |
| +org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=ignore |
| +org.eclipse.jdt.core.compiler.problem.unusedWarningToken=ignore |
| +org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning |
| org.eclipse.jdt.core.compiler.source=1.5 |