diff --git a/plugins/org.eclipse.xtext.ide/src/org/eclipse/xtext/ide/editor/contentassist/ContentAssistContext.java b/plugins/org.eclipse.xtext.ide/src/org/eclipse/xtext/ide/editor/contentassist/ContentAssistContext.java index 805cad198..2fb1f3611 100644 --- a/plugins/org.eclipse.xtext.ide/src/org/eclipse/xtext/ide/editor/contentassist/ContentAssistContext.java +++ b/plugins/org.eclipse.xtext.ide/src/org/eclipse/xtext/ide/editor/contentassist/ContentAssistContext.java @@ -78,6 +78,7 @@ public class ContentAssistContext { return this; } + @Override public void accept(AbstractElement element) { if (element == null) throw new NullPointerException("element may not be null"); diff --git a/plugins/org.eclipse.xtext.ide/src/org/eclipse/xtext/ide/editor/contentassist/IFollowElementAcceptor.java b/plugins/org.eclipse.xtext.ide/src/org/eclipse/xtext/ide/editor/contentassist/IFollowElementAcceptor.java index 799158b6e..794b9492e 100644 --- a/plugins/org.eclipse.xtext.ide/src/org/eclipse/xtext/ide/editor/contentassist/IFollowElementAcceptor.java +++ b/plugins/org.eclipse.xtext.ide/src/org/eclipse/xtext/ide/editor/contentassist/IFollowElementAcceptor.java @@ -21,6 +21,7 @@ public interface IFollowElementAcceptor { this.decorated = decorated; } + @Override public void accept(AbstractElement element) { if (element != null) decorated.accept(element); diff --git a/plugins/org.eclipse.xtext.ide/src/org/eclipse/xtext/ide/editor/contentassist/antlr/AbstractContentAssistParser.java b/plugins/org.eclipse.xtext.ide/src/org/eclipse/xtext/ide/editor/contentassist/antlr/AbstractContentAssistParser.java index 442389665..7f28d7c85 100644 --- a/plugins/org.eclipse.xtext.ide/src/org/eclipse/xtext/ide/editor/contentassist/antlr/AbstractContentAssistParser.java +++ b/plugins/org.eclipse.xtext.ide/src/org/eclipse/xtext/ide/editor/contentassist/antlr/AbstractContentAssistParser.java @@ -60,6 +60,7 @@ public abstract class AbstractContentAssistParser implements IContentAssistParse return lexer; } + @Override public Collection getFollowElements(FollowElement element) { if (element.getLookAhead() <= 1) throw new IllegalArgumentException("lookahead may not be less than or equal to 1"); @@ -74,6 +75,7 @@ public abstract class AbstractContentAssistParser implements IContentAssistParse parser.getUnorderedGroupHelper().initializeWith(parser); final Iterator iter = element.getLookAheadTerminals().iterator(); ObservableXtextTokenStream tokens = new ObservableXtextTokenStream(new TokenSource(){ + @Override public Token nextToken() { if (iter.hasNext()) { LookAheadTerminal lookAhead = iter.next(); @@ -81,6 +83,7 @@ public abstract class AbstractContentAssistParser implements IContentAssistParse } return Token.EOF_TOKEN; } + @Override public String getSourceName() { return "LookAheadTerminalTokenSource"; } @@ -104,36 +107,44 @@ public abstract class AbstractContentAssistParser implements IContentAssistParse parser.setUnorderedGroupHelper(new IUnorderedGroupHelper() { boolean first = true; + @Override public void initializeWith(BaseRecognizer recognizer) { helper.initializeWith(recognizer); } + @Override public void enter(UnorderedGroup group) { if (!first) helper.enter(group); first = false; } + @Override public void leave(UnorderedGroup group) { helper.leave(group); } + @Override public boolean canSelect(UnorderedGroup group, int index) { return helper.canSelect(group, index); } + @Override public void select(UnorderedGroup group, int index) { helper.select(group, index); } + @Override public void returnFromSelection(UnorderedGroup group) { helper.returnFromSelection(group); } + @Override public boolean canLeave(UnorderedGroup group) { return helper.canLeave(group); } + @Override public UnorderedGroupState snapShot(UnorderedGroup... groups) { return helper.snapShot(groups); } @@ -165,6 +176,7 @@ public abstract class AbstractContentAssistParser implements IContentAssistParse ObservableXtextTokenStream stream = (ObservableXtextTokenStream) parser.getTokenStream(); stream.setListener(new StreamListener() { + @Override public void announceEof(int lookAhead) { if (!wasRecovering[0]) { parser.announceEof(lookAhead); @@ -184,16 +196,19 @@ public abstract class AbstractContentAssistParser implements IContentAssistParse } } + @Override public void announceConsume() { parser.announceConsume(); if (!wasRecovering[0]) consumedSomething[0] = true; } + @Override public void announceMark(int marker) { parser.announceMark(marker); } + @Override public void announceRewind(int marker) { parser.announceRewind(marker); } @@ -202,12 +217,14 @@ public abstract class AbstractContentAssistParser implements IContentAssistParse private int startedErrorRecoveryAt; + @Override public void endErrorRecovery() { if (!wasEof[0] && !parserState.failed && startedErrorRecoveryAt == parser.input.index()) { wasRecovering[0] = false; } } + @Override public void beginErrorRecovery() { startedErrorRecoveryAt = parser.input.index(); wasRecovering[0] = true; @@ -301,6 +318,7 @@ public abstract class AbstractContentAssistParser implements IContentAssistParse protected abstract String[] getInitialHiddenTokens(); + @Override public Collection getFollowElements(String input, boolean strict) { TokenSource tokenSource = createTokenSource(input); AbstractInternalContentAssistParser parser = createParser(); diff --git a/plugins/org.eclipse.xtext.ide/src/org/eclipse/xtext/ide/editor/contentassist/antlr/AbstractPartialContentAssistParser.java b/plugins/org.eclipse.xtext.ide/src/org/eclipse/xtext/ide/editor/contentassist/antlr/AbstractPartialContentAssistParser.java index a0dd1741c..df6f9fd53 100644 --- a/plugins/org.eclipse.xtext.ide/src/org/eclipse/xtext/ide/editor/contentassist/antlr/AbstractPartialContentAssistParser.java +++ b/plugins/org.eclipse.xtext.ide/src/org/eclipse/xtext/ide/editor/contentassist/antlr/AbstractPartialContentAssistParser.java @@ -41,6 +41,7 @@ public abstract class AbstractPartialContentAssistParser extends AbstractContent @Inject private EntryPointFinder entryPointFinder; + @Override public Collection getFollowElements(IParseResult parseResult, int offset, boolean strict) { ICompositeNode entryPoint = entryPointFinder.findEntryPoint(parseResult, offset); if (entryPoint != null) { diff --git a/plugins/org.eclipse.xtext.ide/src/org/eclipse/xtext/ide/editor/contentassist/antlr/ContentAssistContextFactory.java b/plugins/org.eclipse.xtext.ide/src/org/eclipse/xtext/ide/editor/contentassist/antlr/ContentAssistContextFactory.java index 1b8111c93..b0f25df31 100644 --- a/plugins/org.eclipse.xtext.ide/src/org/eclipse/xtext/ide/editor/contentassist/antlr/ContentAssistContextFactory.java +++ b/plugins/org.eclipse.xtext.ide/src/org/eclipse/xtext/ide/editor/contentassist/antlr/ContentAssistContextFactory.java @@ -105,6 +105,7 @@ public class ContentAssistContextFactory implements Function> futures = Lists.newArrayList(); if (!datatypeNode.equals(lastCompleteNode)) { futures.add(pool.submit(new Callable() { + @Override public Void call() throws Exception { handleLastCompleteNodeAsPartOfDatatypeNode(); return null; @@ -147,6 +149,7 @@ public class ContentAssistContextFactory implements Function() { + @Override public Void call() throws Exception { handleLastCompleteNodeIsAtEndOfDatatypeNode(); return null; @@ -157,6 +160,7 @@ public class ContentAssistContextFactory implements Function() { + @Override public Void call() throws Exception { handleLastCompleteNodeIsPartOfLookahead(); return null; @@ -331,6 +335,7 @@ public class ContentAssistContextFactory implements Function followElements, final Collection result) { FollowElementCalculator calculator = new FollowElementCalculator(); calculator.acceptor = new IFollowElementAcceptor(){ + @Override public void accept(AbstractElement element) { ParserRule rule = GrammarUtil.containingParserRule(element); if (rule == null || !GrammarUtil.isDatatypeRule(rule)) diff --git a/plugins/org.eclipse.xtext.ide/src/org/eclipse/xtext/ide/editor/contentassist/antlr/internal/AbstractInternalContentAssistParser.java b/plugins/org.eclipse.xtext.ide/src/org/eclipse/xtext/ide/editor/contentassist/antlr/internal/AbstractInternalContentAssistParser.java index 547b21456..b3f912c72 100644 --- a/plugins/org.eclipse.xtext.ide/src/org/eclipse/xtext/ide/editor/contentassist/antlr/internal/AbstractInternalContentAssistParser.java +++ b/plugins/org.eclipse.xtext.ide/src/org/eclipse/xtext/ide/editor/contentassist/antlr/internal/AbstractInternalContentAssistParser.java @@ -50,6 +50,7 @@ public abstract class AbstractInternalContentAssistParser extends Parser impleme private static final Logger logger = Logger.getLogger(AbstractInternalContentAssistParser.class); protected class DefaultFollowElementFactory implements IFollowElementFactory { + @Override public FollowElement createFollowElement(AbstractElement current, int lookAhead) { if (logger.isDebugEnabled()) logger.debug("Creating FollowElement for: " + current); @@ -246,14 +247,17 @@ public abstract class AbstractInternalContentAssistParser extends Parser impleme } protected abstract class StreamAdapter implements ObservableXtextTokenStream.StreamListener { + @Override public void announceConsume() { AbstractInternalContentAssistParser.this.announceConsume(); } + @Override public void announceMark(int marker) { AbstractInternalContentAssistParser.this.announceMark(marker); } + @Override public void announceRewind(int marker) { AbstractInternalContentAssistParser.this.announceRewind(marker); } @@ -292,6 +296,7 @@ public abstract class AbstractInternalContentAssistParser extends Parser impleme protected StreamAdapter createNoOpStrategy() { return new StreamAdapter() { + @Override public void announceEof(int lookAhead) { } }; @@ -311,6 +316,7 @@ public abstract class AbstractInternalContentAssistParser extends Parser impleme followElementFactory = AbstractInternalContentAssistParser.this.followElementFactory; AbstractInternalContentAssistParser.this.followElementFactory = new IFollowElementFactory() { + @Override public FollowElement createFollowElement(AbstractElement current, int lookAhead) { if (lastKnownSyntaxErrors == Integer.MAX_VALUE || state.lastErrorIndex < 0) { FollowElement result = followElementFactory.createFollowElement(current, lookAhead); @@ -327,6 +333,7 @@ public abstract class AbstractInternalContentAssistParser extends Parser impleme }; } + @Override public void announceEof(int lookAhead) { try { if (predictionLevel == 0) { @@ -390,6 +397,7 @@ public abstract class AbstractInternalContentAssistParser extends Parser impleme private AbstractElement lastAddedElement; + @Override public void announceEof(int lookAhead) { AbstractElement current = getCurrentGrammarElement(); if (current != null @@ -408,6 +416,7 @@ public abstract class AbstractInternalContentAssistParser extends Parser impleme protected StreamAdapter createNotErrorRecoveryStrategy() { return new StreamAdapter() { + @Override public void announceEof(int lookAhead) { if (!state.errorRecovery && !mismatch && ((!isBacktracking() || marked > 0) || wasErrorCount <= 0)) { AbstractElement current = getCurrentGrammarElement(); @@ -428,6 +437,7 @@ public abstract class AbstractInternalContentAssistParser extends Parser impleme private boolean wasErrorRecovery = false; + @Override public void announceEof(int lookAhead) { wasErrorRecovery = wasErrorRecovery || state.errorRecovery; if (!wasErrorRecovery && !mismatch) { @@ -505,6 +515,7 @@ public abstract class AbstractInternalContentAssistParser extends Parser impleme throw new IllegalArgumentException("tokenType " + token.getType() + " seems to be invalid."); } + @Override public void announceEof(int lookAhead) { if (logger.isDebugEnabled()) { logger.debug("Reached Eof with LA " + lookAhead); @@ -541,6 +552,7 @@ public abstract class AbstractInternalContentAssistParser extends Parser impleme delegate.announceEof(lookAhead); } + @Override public void announceConsume() { if (marked <= 0) localTrace.clear(); @@ -559,6 +571,7 @@ public abstract class AbstractInternalContentAssistParser extends Parser impleme } } + @Override public void announceRewind(int marker) { int useLookAhead = -1; if (marker != 0 && delegate == null && strict && predictionLevel != 0 && lookAheadAddOn > 0 && state.syntaxErrors == 0 @@ -577,6 +590,7 @@ public abstract class AbstractInternalContentAssistParser extends Parser impleme marked --; } + @Override public void announceMark(int marker) { if (marked <= 0) { marked++; @@ -608,6 +622,7 @@ public abstract class AbstractInternalContentAssistParser extends Parser impleme return followElements; } + @Override public Map getTokenDefMap() { String[] names = getTokenNames(); Map result = Maps.newHashMapWithExpectedSize(names.length - Token.MIN_TOKEN_TYPE); diff --git a/plugins/org.eclipse.xtext.junit4/src/org/eclipse/xtext/junit4/AbstractXtextTests.java b/plugins/org.eclipse.xtext.junit4/src/org/eclipse/xtext/junit4/AbstractXtextTests.java index 8899ee6ec..05c1e70df 100644 --- a/plugins/org.eclipse.xtext.junit4/src/org/eclipse/xtext/junit4/AbstractXtextTests.java +++ b/plugins/org.eclipse.xtext.junit4/src/org/eclipse/xtext/junit4/AbstractXtextTests.java @@ -226,6 +226,7 @@ public abstract class AbstractXtextTests extends Assert implements ResourceLoadH return instance.split(",")[0]; } + @Override public final XtextResource getResourceFor(InputStream stream) { try { return getResourceAndExpect(stream, AbstractXtextTests.UNKNOWN_EXPECTATION); diff --git a/plugins/org.eclipse.xtext.junit4/src/org/eclipse/xtext/junit4/Flaky.java b/plugins/org.eclipse.xtext.junit4/src/org/eclipse/xtext/junit4/Flaky.java index 79b400f5d..e3e24faf0 100644 --- a/plugins/org.eclipse.xtext.junit4/src/org/eclipse/xtext/junit4/Flaky.java +++ b/plugins/org.eclipse.xtext.junit4/src/org/eclipse/xtext/junit4/Flaky.java @@ -48,6 +48,7 @@ public @interface Flaky { */ class Rule implements TestRule { + @Override public Statement apply(Statement base, Description description) { Flaky flaky = description.getAnnotation(Flaky.class); if (flaky == null) { diff --git a/plugins/org.eclipse.xtext.junit4/src/org/eclipse/xtext/junit4/internal/StopwatchRule.java b/plugins/org.eclipse.xtext.junit4/src/org/eclipse/xtext/junit4/internal/StopwatchRule.java index 076450641..28767e132 100644 --- a/plugins/org.eclipse.xtext.junit4/src/org/eclipse/xtext/junit4/internal/StopwatchRule.java +++ b/plugins/org.eclipse.xtext.junit4/src/org/eclipse/xtext/junit4/internal/StopwatchRule.java @@ -101,6 +101,7 @@ public class StopwatchRule implements TestRule { return sb.toString(); } + @Override public Statement apply(final Statement base, final Description description) { if (!watchAll && description.getAnnotation(Timed.class) == null) return base; diff --git a/plugins/org.eclipse.xtext.junit4/src/org/eclipse/xtext/junit4/smoketest/internal/AbstractParallelScenarioRunner.java b/plugins/org.eclipse.xtext.junit4/src/org/eclipse/xtext/junit4/smoketest/internal/AbstractParallelScenarioRunner.java index a05cbc26e..d18baa48f 100644 --- a/plugins/org.eclipse.xtext.junit4/src/org/eclipse/xtext/junit4/smoketest/internal/AbstractParallelScenarioRunner.java +++ b/plugins/org.eclipse.xtext.junit4/src/org/eclipse/xtext/junit4/smoketest/internal/AbstractParallelScenarioRunner.java @@ -116,6 +116,7 @@ public abstract class AbstractParallelScenarioRunner extends AbstractScenarioRun private void runChildren(final RunNotifier notifier) { for (final FrameworkMethod each : getChildren()) scheduler.schedule(new Runnable() { + @Override public void run() { AbstractParallelScenarioRunner.this.runChild(each, notifier); } @@ -175,7 +176,8 @@ public abstract class AbstractParallelScenarioRunner extends AbstractScenarioRun futures = Collections.synchronizedList(new ArrayList>()); } - public void finished() { + @Override + public void finished() { executor.shutdown(); for(Future future: futures) { try { @@ -199,7 +201,8 @@ public abstract class AbstractParallelScenarioRunner extends AbstractScenarioRun } } - public void schedule(Runnable childStatement) { + @Override + public void schedule(Runnable childStatement) { futures.add(executor.submit(childStatement)); } } diff --git a/plugins/org.eclipse.xtext.junit4/src/org/eclipse/xtext/junit4/smoketest/internal/TestDataProvider.java b/plugins/org.eclipse.xtext.junit4/src/org/eclipse/xtext/junit4/smoketest/internal/TestDataProvider.java index b5581b65f..98b424801 100644 --- a/plugins/org.eclipse.xtext.junit4/src/org/eclipse/xtext/junit4/smoketest/internal/TestDataProvider.java +++ b/plugins/org.eclipse.xtext.junit4/src/org/eclipse/xtext/junit4/smoketest/internal/TestDataProvider.java @@ -24,6 +24,7 @@ import com.google.common.io.CharStreams; */ @Beta public class TestDataProvider extends AbstractParser { + @Override public IParseResult parse(ParserRule rule, Reader reader) throws TestDataCarrier { try { throw new TestDataCarrier(CharStreams.toString(reader)); @@ -33,6 +34,7 @@ public class TestDataProvider extends AbstractParser { } } + @Override public IParseResult parse(RuleCall ruleCall, Reader reader, int initialLookAhead) throws TestDataCarrier { try { throw new TestDataCarrier(CharStreams.toString(reader)); diff --git a/plugins/org.eclipse.xtext.junit4/src/org/eclipse/xtext/junit4/smoketest/internal/WrappingInjectorProvider.java b/plugins/org.eclipse.xtext.junit4/src/org/eclipse/xtext/junit4/smoketest/internal/WrappingInjectorProvider.java index 31f8013df..832adbe8f 100644 --- a/plugins/org.eclipse.xtext.junit4/src/org/eclipse/xtext/junit4/smoketest/internal/WrappingInjectorProvider.java +++ b/plugins/org.eclipse.xtext.junit4/src/org/eclipse/xtext/junit4/smoketest/internal/WrappingInjectorProvider.java @@ -63,6 +63,7 @@ public class WrappingInjectorProvider implements IInjectorProvider, IRegistryCon Injector delegateInjector = delegate.getInjector(); final Map, Binding> bindings = delegateInjector.getBindings(); Injector injector = Guice.createInjector(Modules.override(new Module() { + @Override public void configure(Binder binder) { for(Binding binding: bindings.values()) { Type typeLiteral = binding.getKey().getTypeLiteral().getType(); @@ -72,6 +73,7 @@ public class WrappingInjectorProvider implements IInjectorProvider, IRegistryCon } } }).with(new Module() { + @Override public void configure(Binder binder) { binder.bind(IParser.class).toInstance(new TestDataProvider()); } @@ -83,14 +85,17 @@ public class WrappingInjectorProvider implements IInjectorProvider, IRegistryCon return delegate; } + @Override public void restoreRegistry() { stateBeforeInjectorCreation.restoreGlobalState(); } + @Override public void setupRegistry() { stateAfterInjectorCreation.restoreGlobalState(); } + @Override public Injector getInjector() { return injector; } diff --git a/plugins/org.eclipse.xtext.junit4/src/org/eclipse/xtext/junit4/ui/AbstractContentAssistProcessorTest.java b/plugins/org.eclipse.xtext.junit4/src/org/eclipse/xtext/junit4/ui/AbstractContentAssistProcessorTest.java index d21c5ce88..398b5fcdb 100755 --- a/plugins/org.eclipse.xtext.junit4/src/org/eclipse/xtext/junit4/ui/AbstractContentAssistProcessorTest.java +++ b/plugins/org.eclipse.xtext.junit4/src/org/eclipse/xtext/junit4/ui/AbstractContentAssistProcessorTest.java @@ -34,6 +34,7 @@ public abstract class AbstractContentAssistProcessorTest extends AbstractXtextTe this.plainSetup = plainSetup; } + @Override public Injector createInjectorAndDoEMFRegistration() { return plainSetup.createInjectorAndDoEMFRegistration(); } @@ -81,6 +82,7 @@ public abstract class AbstractContentAssistProcessorTest extends AbstractXtextTe return doGetSetup(); } return new ISetup() { + @Override public Injector createInjectorAndDoEMFRegistration() { if (staticSetup == null) { staticSetup = new SetupExtension(doGetSetup()); diff --git a/plugins/org.eclipse.xtext.junit4/src/org/eclipse/xtext/junit4/ui/AbstractDamagerRepairerTest.java b/plugins/org.eclipse.xtext.junit4/src/org/eclipse/xtext/junit4/ui/AbstractDamagerRepairerTest.java index d973fff0a..31da19ea3 100644 --- a/plugins/org.eclipse.xtext.junit4/src/org/eclipse/xtext/junit4/ui/AbstractDamagerRepairerTest.java +++ b/plugins/org.eclipse.xtext.junit4/src/org/eclipse/xtext/junit4/ui/AbstractDamagerRepairerTest.java @@ -70,6 +70,7 @@ public abstract class AbstractDamagerRepairerTest extends Assert implements IDoc protected Document createDocument(String before) throws Exception { DocumentTokenSource source = new DocumentTokenSource(); source.setLexer(new Provider() { + @Override public Lexer get() { return createLexer(); } @@ -84,24 +85,30 @@ public abstract class AbstractDamagerRepairerTest extends Assert implements IDoc assertEquals("length", expLength, actual.getLength()); } + @Override public void documentChanged(DocumentEvent event) { lastRegion = damager.getDamageRegion(new TypedRegion(0,event.getDocument().getLength(), IDocument.DEFAULT_CONTENT_TYPE), event, false); } + @Override public void documentAboutToBeChanged(DocumentEvent event) { } + @Override public void setRange(IDocument document, int offset, int length) { } + @Override public IToken nextToken() { return null; } + @Override public int getTokenOffset() { return 0; } + @Override public int getTokenLength() { return 0; } diff --git a/plugins/org.eclipse.xtext.junit4/src/org/eclipse/xtext/junit4/ui/ContentAssistProcessorTestBuilder.java b/plugins/org.eclipse.xtext.junit4/src/org/eclipse/xtext/junit4/ui/ContentAssistProcessorTestBuilder.java index a095f2959..d0f3d5d63 100755 --- a/plugins/org.eclipse.xtext.junit4/src/org/eclipse/xtext/junit4/ui/ContentAssistProcessorTestBuilder.java +++ b/plugins/org.eclipse.xtext.junit4/src/org/eclipse/xtext/junit4/ui/ContentAssistProcessorTestBuilder.java @@ -517,18 +517,22 @@ public class ContentAssistProcessorTestBuilder implements Cloneable { final XtextResource xtextResource = loadHelper.getResourceFor(new StringInputStream(Strings.emptyIfNull(currentModelToParse))); if (announceDirtyState) { dirtyResource = new IDirtyResource() { + @Override public String getContents() { return currentModelToParse; } + @Override public String getActualContents() { return currentModelToParse; } + @Override public IResourceDescription getDescription() { return xtextResource.getResourceServiceProvider().getResourceDescriptionManager().getResourceDescription(xtextResource); } + @Override public URI getURI() { return xtextResource.getURI(); } diff --git a/plugins/org.eclipse.xtext.junit4/src/org/eclipse/xtext/junit4/ui/MockableSelectionProvider.java b/plugins/org.eclipse.xtext.junit4/src/org/eclipse/xtext/junit4/ui/MockableSelectionProvider.java index 63af8e9a0..a00854794 100644 --- a/plugins/org.eclipse.xtext.junit4/src/org/eclipse/xtext/junit4/ui/MockableSelectionProvider.java +++ b/plugins/org.eclipse.xtext.junit4/src/org/eclipse/xtext/junit4/ui/MockableSelectionProvider.java @@ -16,18 +16,22 @@ import org.eclipse.jface.viewers.ISelectionProvider; */ public class MockableSelectionProvider implements ISelectionProvider { + @Override public void addSelectionChangedListener(ISelectionChangedListener listener) { throw new UnsupportedOperationException(); } + @Override public ISelection getSelection() { throw new UnsupportedOperationException(); } + @Override public void removeSelectionChangedListener(ISelectionChangedListener listener) { throw new UnsupportedOperationException(); } + @Override public void setSelection(ISelection selection) { throw new UnsupportedOperationException(); } diff --git a/plugins/org.eclipse.xtext.junit4/src/org/eclipse/xtext/junit4/ui/MockableTextViewer.java b/plugins/org.eclipse.xtext.junit4/src/org/eclipse/xtext/junit4/ui/MockableTextViewer.java index ea9338bfa..97ba64311 100644 --- a/plugins/org.eclipse.xtext.junit4/src/org/eclipse/xtext/junit4/ui/MockableTextViewer.java +++ b/plugins/org.eclipse.xtext.junit4/src/org/eclipse/xtext/junit4/ui/MockableTextViewer.java @@ -32,166 +32,207 @@ import org.eclipse.swt.graphics.Point; @SuppressWarnings("deprecation") public class MockableTextViewer implements ITextViewer { + @Override public void activatePlugins() { throw new UnsupportedOperationException(); } + @Override public void addTextInputListener(ITextInputListener listener) { throw new UnsupportedOperationException(); } + @Override public void addTextListener(ITextListener listener) { throw new UnsupportedOperationException(); } + @Override public void addViewportListener(IViewportListener listener) { throw new UnsupportedOperationException(); } + @Override public void changeTextPresentation(TextPresentation presentation, boolean controlRedraw) { throw new UnsupportedOperationException(); } + @Override public int getBottomIndex() { throw new UnsupportedOperationException(); } + @Override public int getBottomIndexEndOffset() { throw new UnsupportedOperationException(); } + @Override public IDocument getDocument() { throw new UnsupportedOperationException(); } + @Override public IFindReplaceTarget getFindReplaceTarget() { throw new UnsupportedOperationException(); } + @Override public Point getSelectedRange() { throw new UnsupportedOperationException(); } + @Override public ISelectionProvider getSelectionProvider() { throw new UnsupportedOperationException(); } + @Override public ITextOperationTarget getTextOperationTarget() { throw new UnsupportedOperationException(); } + @Override public StyledText getTextWidget() { throw new UnsupportedOperationException(); } + @Override public int getTopIndex() { throw new UnsupportedOperationException(); } + @Override public int getTopIndexStartOffset() { throw new UnsupportedOperationException(); } + @Override public int getTopInset() { throw new UnsupportedOperationException(); } + @Override public IRegion getVisibleRegion() { throw new UnsupportedOperationException(); } + @Override public void invalidateTextPresentation() { throw new UnsupportedOperationException(); } + @Override public boolean isEditable() { throw new UnsupportedOperationException(); } + @Override public boolean overlapsWithVisibleRegion(int offset, int length) { throw new UnsupportedOperationException(); } + @Override public void removeTextInputListener(ITextInputListener listener) { throw new UnsupportedOperationException(); } + @Override public void removeTextListener(ITextListener listener) { throw new UnsupportedOperationException(); } + @Override public void removeViewportListener(IViewportListener listener) { throw new UnsupportedOperationException(); } + @Override public void resetPlugins() { throw new UnsupportedOperationException(); } + @Override public void resetVisibleRegion() { throw new UnsupportedOperationException(); } + @Override public void revealRange(int offset, int length) { throw new UnsupportedOperationException(); } + @Override public void setAutoIndentStrategy(IAutoIndentStrategy strategy, String contentType) { throw new UnsupportedOperationException(); } + @Override public void setDefaultPrefixes(String[] defaultPrefixes, String contentType) { throw new UnsupportedOperationException(); } + @Override public void setDocument(IDocument document) { throw new UnsupportedOperationException(); } + @Override public void setDocument(IDocument document, int modelRangeOffset, int modelRangeLength) { throw new UnsupportedOperationException(); } + @Override public void setEditable(boolean editable) { throw new UnsupportedOperationException(); } + @Override public void setEventConsumer(IEventConsumer consumer) { throw new UnsupportedOperationException(); } + @Override public void setIndentPrefixes(String[] indentPrefixes, String contentType) { throw new UnsupportedOperationException(); } + @Override public void setSelectedRange(int offset, int length) { throw new UnsupportedOperationException(); } + @Override public void setTextColor(Color color) { throw new UnsupportedOperationException(); } + @Override public void setTextColor(Color color, int offset, int length, boolean controlRedraw) { throw new UnsupportedOperationException(); } + @Override public void setTextDoubleClickStrategy(ITextDoubleClickStrategy strategy, String contentType) { throw new UnsupportedOperationException(); } + @Override public void setTextHover(ITextHover textViewerHover, String contentType) { throw new UnsupportedOperationException(); } + @Override public void setTopIndex(int index) { throw new UnsupportedOperationException(); } + @Override public void setUndoManager(IUndoManager undoManager) { throw new UnsupportedOperationException(); } + @Override public void setVisibleRegion(int offset, int length) { throw new UnsupportedOperationException(); } diff --git a/plugins/org.eclipse.xtext.junit4/src/org/eclipse/xtext/junit4/util/URIBasedTestResourceDescription.java b/plugins/org.eclipse.xtext.junit4/src/org/eclipse/xtext/junit4/util/URIBasedTestResourceDescription.java index 6636e4024..86f30e6b5 100644 --- a/plugins/org.eclipse.xtext.junit4/src/org/eclipse/xtext/junit4/util/URIBasedTestResourceDescription.java +++ b/plugins/org.eclipse.xtext.junit4/src/org/eclipse/xtext/junit4/util/URIBasedTestResourceDescription.java @@ -32,14 +32,17 @@ public class URIBasedTestResourceDescription extends AbstractResourceDescription return Collections.emptyList(); } + @Override public Iterable getImportedNames() { return Collections.emptyList(); } + @Override public Iterable getReferenceDescriptions() { return Collections.emptyList(); } + @Override public URI getURI() { return uri; } diff --git a/plugins/org.eclipse.xtext.junit4/src/org/eclipse/xtext/junit4/validation/AssertableDiagnostics.java b/plugins/org.eclipse.xtext.junit4/src/org/eclipse/xtext/junit4/validation/AssertableDiagnostics.java index f91a3ba48..64c34f8a3 100644 --- a/plugins/org.eclipse.xtext.junit4/src/org/eclipse/xtext/junit4/validation/AssertableDiagnostics.java +++ b/plugins/org.eclipse.xtext.junit4/src/org/eclipse/xtext/junit4/validation/AssertableDiagnostics.java @@ -44,16 +44,19 @@ public class AssertableDiagnostics { iteratorStack.add(root.getChildren().iterator()); } + @Override public boolean hasNext() { while (iteratorStack.size() > 0 && !iteratorStack.get(iteratorStack.size() - 1).hasNext()) iteratorStack.remove(iteratorStack.size() - 1); return iteratorStack.size() != 0; } + @Override public Iterator iterator() { return this; } + @Override public Diagnostic next() { Diagnostic d = iteratorStack.get(iteratorStack.size() - 1).next(); if (d.getChildren().size() > 0) @@ -61,6 +64,7 @@ public class AssertableDiagnostics { return d; } + @Override public void remove() { throw new RuntimeException("operation not supported"); } @@ -84,6 +88,7 @@ public class AssertableDiagnostics { this.msg = msg; } + @Override public boolean apply(Diagnostic d) { if (severity != null && d.getSeverity() != severity) return false; diff --git a/plugins/org.eclipse.xtext.junit4/src/org/eclipse/xtext/junit4/validation/ValidationTestHelper.java b/plugins/org.eclipse.xtext.junit4/src/org/eclipse/xtext/junit4/validation/ValidationTestHelper.java index 0c29d3116..8632d9f79 100644 --- a/plugins/org.eclipse.xtext.junit4/src/org/eclipse/xtext/junit4/validation/ValidationTestHelper.java +++ b/plugins/org.eclipse.xtext.junit4/src/org/eclipse/xtext/junit4/validation/ValidationTestHelper.java @@ -49,6 +49,7 @@ public class ValidationTestHelper { public void assertNoErrors(final EObject model) { final List validate = validate(model); Iterable issues = filter(validate, new Predicate() { + @Override public boolean apply(Issue input) { return Severity.ERROR == input.getSeverity(); } @@ -60,6 +61,7 @@ public class ValidationTestHelper { public void assertNoError(final EObject model, final String issuecode) { final List validate = validate(model); Iterable issues = filter(validate, new Predicate() { + @Override public boolean apply(Issue input) { return issuecode.equals(input.getCode()); } @@ -89,6 +91,7 @@ public class ValidationTestHelper { public void assertNoIssues(final EObject root, final EClass objectType) { final List validate = validate(root); Iterable issues = filter(validate, new Predicate() { + @Override public boolean apply(Issue input) { EObject object = root.eResource().getEObject(input.getUriToProblem().fragment()); if (objectType.isInstance(object)) { @@ -107,6 +110,7 @@ public class ValidationTestHelper { public void assertNoIssue(final EObject root, final EClass objectType, final String issuecode) { final List validate = validate(root); Iterable issues = filter(validate, new Predicate() { + @Override public boolean apply(Issue input) { if (issuecode.equals(input.getCode())) { EObject object = root.eResource().getEObject(input.getUriToProblem().fragment()); @@ -200,6 +204,7 @@ public class ValidationTestHelper { final int offset, final int length, final Severity severity, final List validate, final String... messageParts) { return Iterables.filter(validate, new Predicate() { + @Override public boolean apply(Issue input) { if (Strings.equal(input.getCode(), code) && input.getSeverity()==severity) { if ((offset < 0 || offset == input.getOffset()) && (length < 0 || length == input.getLength())) { diff --git a/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/AbstractLinkedStack.java b/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/AbstractLinkedStack.java index 604c38f32..47161ebdf 100644 --- a/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/AbstractLinkedStack.java +++ b/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/AbstractLinkedStack.java @@ -35,10 +35,12 @@ public abstract class AbstractLinkedStack iterator() { return new ElementIterator(top); } diff --git a/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/CancelIndicator.java b/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/CancelIndicator.java index f04a58d44..c11036e39 100644 --- a/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/CancelIndicator.java +++ b/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/CancelIndicator.java @@ -15,6 +15,7 @@ public interface CancelIndicator { boolean isCanceled(); public final static CancelIndicator NullImpl = new CancelIndicator() { + @Override public boolean isCanceled() { return false; } diff --git a/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/CollectionBasedAcceptor.java b/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/CollectionBasedAcceptor.java index 75f64405d..eb28272c4 100644 --- a/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/CollectionBasedAcceptor.java +++ b/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/CollectionBasedAcceptor.java @@ -25,6 +25,7 @@ public class CollectionBasedAcceptor implements IAcceptor { this.collection = collection; } + @Override public void accept(T t) { collection.add(t); } diff --git a/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/EmfFormatter.java b/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/EmfFormatter.java index 3db7a8b1c..920daa9ea 100755 --- a/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/EmfFormatter.java +++ b/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/EmfFormatter.java @@ -51,6 +51,7 @@ public class EmfFormatter { Collections.singleton(ignoredFeatures[0]) ) : Collections.emptySet(); return objToStr(obj, new Predicate() { + @Override public boolean apply(EStructuralFeature input) { return ignoreUs.contains(input); } diff --git a/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/ExceptionAcceptor.java b/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/ExceptionAcceptor.java index b02980bcc..cd8272e5e 100644 --- a/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/ExceptionAcceptor.java +++ b/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/ExceptionAcceptor.java @@ -17,16 +17,19 @@ public enum ExceptionAcceptor implements IAcceptor { LOGGING { private final Logger LOG = Logger.getLogger(ExceptionAcceptor.class); + @Override public void accept(Exception t) { LOG.error(t.getMessage(), t); } }, THROWING { + @Override public void accept(Exception t) { Exceptions.throwUncheckedException(t); } }, IGNORING { + @Override public void accept(Exception t) { } }; diff --git a/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/Files.java b/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/Files.java index dbc04373c..e4c08cb48 100644 --- a/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/Files.java +++ b/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/Files.java @@ -76,6 +76,7 @@ public class Files { FileFilter myFilter = filter; if (myFilter == null) myFilter = new FileFilter() { + @Override public boolean accept(File pathname) { return true; } @@ -114,6 +115,7 @@ public class Files { */ public static boolean sweepFolder(File folder) throws FileNotFoundException { return Files.cleanFolder(folder, new FileFilter() { + @Override public boolean accept(File pathname) { return true; } diff --git a/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/IResourceScopeCache.java b/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/IResourceScopeCache.java index c873a011c..74358a0b6 100644 --- a/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/IResourceScopeCache.java +++ b/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/IResourceScopeCache.java @@ -29,9 +29,11 @@ public interface IResourceScopeCache { static class NullImpl implements IResourceScopeCache { public final static IResourceScopeCache INSTANCE = new NullImpl(); + @Override public T get(Object key, Resource res, Provider provider) { return provider.get(); } + @Override public void clear(Resource res) {} } } diff --git a/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/ITextRegionWithLineInformation.java b/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/ITextRegionWithLineInformation.java index b82a1ebbc..0f8e334a7 100644 --- a/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/ITextRegionWithLineInformation.java +++ b/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/ITextRegionWithLineInformation.java @@ -29,34 +29,42 @@ public interface ITextRegionWithLineInformation extends ITextRegion { static ITextRegionWithLineInformation EMPTY_REGION = new ITextRegionWithLineInformation() { + @Override public int getOffset() { return 0; } + @Override public int getLength() { return 0; } + @Override public ITextRegion merge(ITextRegion region) { return region; } + @Override public boolean contains(ITextRegion other) { return false; } + @Override public boolean contains(int offset) { return false; } + @Override public int getLineNumber() { return 0; } + @Override public int getEndLineNumber() { return 0; } + @Override public ITextRegionWithLineInformation merge(ITextRegionWithLineInformation other) { return other; } diff --git a/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/OnChangeEvictingCache.java b/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/OnChangeEvictingCache.java index 0e090aa25..163118485 100644 --- a/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/OnChangeEvictingCache.java +++ b/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/OnChangeEvictingCache.java @@ -54,6 +54,7 @@ public class OnChangeEvictingCache implements IResourceScopeCache { /** * Clears the cache of the given resource. */ + @Override public void clear(Resource resource) { getOrCreate(resource).clearValues(); } @@ -65,6 +66,7 @@ public class OnChangeEvictingCache implements IResourceScopeCache { * @param key the cache key. May not be null. * @param provider the strategy to compute the value if necessary. May not be null. */ + @Override public T get(Object key, Resource resource, Provider provider) { if(resource == null) { return provider.get(); diff --git a/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/PolymorphicDispatcher.java b/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/PolymorphicDispatcher.java index 2249a9782..14a18858b 100644 --- a/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/PolymorphicDispatcher.java +++ b/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/PolymorphicDispatcher.java @@ -37,6 +37,7 @@ public class PolymorphicDispatcher { private List declaredMethodsOrderedBySpecificParameterType; public static class DefaultErrorHandler implements ErrorHandler { + @Override public RT handle(Object[] params, Throwable e) { return Exceptions.throwUncheckedException(e); } @@ -48,6 +49,7 @@ public class PolymorphicDispatcher { return new NullErrorHandler(); } + @Override public RT handle(Object[] params, Throwable throwable) { // ignore return null; @@ -66,6 +68,7 @@ public class PolymorphicDispatcher { return new WarningErrorHandler(logger); } + @Override public RT handle(Object[] params, Throwable throwable) { logger.warn("Error in polymorphic dispatcher : "+throwable.getMessage(), throwable); return null; @@ -86,6 +89,7 @@ public class PolymorphicDispatcher { this.minParams = minParams; } + @Override public boolean apply(Method param) { return param.getName().equals(methodName) && param.getParameterTypes().length >= minParams && param.getParameterTypes().length <= maxParams; @@ -245,6 +249,7 @@ public class PolymorphicDispatcher { private final SimpleCache>, List> cache = new SimpleCache>, List>( new Function>, List>() { + @Override public List apply(List> paramTypes) { List result = new ArrayList(); Iterator iterator = declaredMethodsOrderedBySpecificParameterType.iterator(); @@ -346,6 +351,7 @@ public class PolymorphicDispatcher { } } Collections.sort(cachedDescriptors, new Comparator() { + @Override public int compare(MethodDesc o1, MethodDesc o2) { return PolymorphicDispatcher.this.compare(o1, o2); } diff --git a/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/SimpleAttributeResolver.java b/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/SimpleAttributeResolver.java index d1ac9d1e0..9d247a1fe 100755 --- a/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/SimpleAttributeResolver.java +++ b/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/SimpleAttributeResolver.java @@ -48,6 +48,7 @@ public class SimpleAttributeResolver implements Function(new Function() { + @Override public EAttribute apply(EClass param) { final EStructuralFeature structuralFeature = param.getEStructuralFeature(attributeName); if (structuralFeature != null && structuralFeature instanceof EAttribute && !structuralFeature.isMany()) { @@ -59,6 +60,7 @@ public class SimpleAttributeResolver implements Function(new Function() { + @Override @SuppressWarnings("unchecked") public T apply(EObject param) { final EStructuralFeature feature = attributeCache.get(param.eClass()); @@ -76,6 +78,7 @@ public class SimpleAttributeResolver implements Function getMatches(final Iterable candidates, final T value) { return Iterables.filter(candidates, new Predicate() { + @Override public boolean apply(K param) { final T candidateValue = getValue(param); return value.equals(candidateValue); @@ -91,14 +94,17 @@ public class SimpleAttributeResolver implements Function implements Function= offset); } + @Override public boolean contains(int offset) { return offset >= this.offset && offset < this.offset + length; } diff --git a/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/TextRegionWithLineInformation.java b/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/TextRegionWithLineInformation.java index c16bce433..30cf2b701 100644 --- a/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/TextRegionWithLineInformation.java +++ b/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/TextRegionWithLineInformation.java @@ -26,10 +26,12 @@ public class TextRegionWithLineInformation extends TextRegion implements ITextRe this.endLineNumber = endLineNumber; } + @Override public int getLineNumber() { return lineNumber; } + @Override public int getEndLineNumber() { return endLineNumber; } @@ -41,6 +43,7 @@ public class TextRegionWithLineInformation extends TextRegion implements ITextRe return super.merge(other); } + @Override public ITextRegionWithLineInformation merge(ITextRegionWithLineInformation other) { if (contains(other)) return this; diff --git a/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/concurrent/AbstractReadWriteAcces.java b/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/concurrent/AbstractReadWriteAcces.java index 8bcb4f6a0..2224ae27f 100644 --- a/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/concurrent/AbstractReadWriteAcces.java +++ b/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/concurrent/AbstractReadWriteAcces.java @@ -54,6 +54,7 @@ public abstract class AbstractReadWriteAcces

implements IReadAccess

{ } }; + @Override public T readOnly(IUnitOfWork work) { acquireReadLock(); try { diff --git a/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/concurrent/CancelableUnitOfWork.java b/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/concurrent/CancelableUnitOfWork.java index 0452b33d8..6ca9470d6 100644 --- a/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/concurrent/CancelableUnitOfWork.java +++ b/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/concurrent/CancelableUnitOfWork.java @@ -21,6 +21,7 @@ public abstract class CancelableUnitOfWork implements IUnitOfWork { this.cancelIndicator = cancelIndicator; } + @Override public R exec(P state) throws Exception { return exec(state, cancelIndicator); } diff --git a/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/concurrent/IUnitOfWork.java b/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/concurrent/IUnitOfWork.java index 2319e359c..b16caf0a3 100644 --- a/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/concurrent/IUnitOfWork.java +++ b/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/concurrent/IUnitOfWork.java @@ -32,6 +32,7 @@ public interface IUnitOfWork { * @param */ public static abstract class Void implements IUnitOfWork { + @Override public final Object exec(T state) throws Exception { process(state); return null; diff --git a/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/formallang/CfgUtil.java b/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/formallang/CfgUtil.java index 9dc3b4855..7b1342b76 100644 --- a/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/formallang/CfgUtil.java +++ b/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/formallang/CfgUtil.java @@ -25,6 +25,7 @@ public class CfgUtil { this.cfg = cfg; } + @Override public boolean apply(E input) { return cfg.getCall(input) != null; } diff --git a/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/formallang/FollowerFunctionImpl.java b/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/formallang/FollowerFunctionImpl.java index 2d038fc6b..a83ad9631 100644 --- a/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/formallang/FollowerFunctionImpl.java +++ b/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/formallang/FollowerFunctionImpl.java @@ -162,6 +162,7 @@ public class FollowerFunctionImpl implements FollowerFunction { return filter; } + @Override public Iterable getFollowers(E element) { if (filter(element)) { if (element == null) @@ -177,6 +178,7 @@ public class FollowerFunctionImpl implements FollowerFunction { return production; } + @Override public Iterable getStarts(E root) { if (root == null) throw new NullPointerException(); diff --git a/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/formallang/NfaToProduction.java b/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/formallang/NfaToProduction.java index 187e38756..8ec8e19ca 100644 --- a/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/formallang/NfaToProduction.java +++ b/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/formallang/NfaToProduction.java @@ -86,34 +86,42 @@ public class NfaToProduction { this.root = root; } + @Override public Iterable> getAlternativeChildren(AbstractElementAlias ele) { return ele instanceof AlternativeAlias ? ((AlternativeAlias) ele).getChildren() : null; } + @Override public AbstractElementAlias getParent(AbstractElementAlias ele) { return null; } + @Override public AbstractElementAlias getRoot() { return root; } + @Override public Iterable> getSequentialChildren(AbstractElementAlias ele) { return ele instanceof GroupAlias ? ((GroupAlias) ele).getChildren() : null; } + @Override public TOKEN getToken(AbstractElementAlias owner) { return owner instanceof ElementAlias ? ((ElementAlias) owner).getElement() : null; } + @Override public Iterable> getUnorderedChildren(AbstractElementAlias ele) { return null; } + @Override public boolean isMany(AbstractElementAlias ele) { return ele.isMany(); } + @Override public boolean isOptional(AbstractElementAlias ele) { return ele.isOptional(); } @@ -268,14 +276,17 @@ public class NfaToProduction { this.stop = stop; } + @Override public Iterable> getFollowers(StateAlias state) { return state.getOutgoing(); } + @Override public StateAlias getStart() { return start; } + @Override public StateAlias getStop() { return stop; } diff --git a/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/formallang/NfaUtil.java b/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/formallang/NfaUtil.java index ab48406e2..d66b208c2 100644 --- a/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/formallang/NfaUtil.java +++ b/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/formallang/NfaUtil.java @@ -68,6 +68,7 @@ public class NfaUtil { this.production = production; } + @Override public T apply(E from) { return production.getToken(from); } @@ -81,6 +82,7 @@ public class NfaUtil { this.sortBy = sortBy; } + @Override public int compare(S o1, S o2) { COMPARABLE c1 = sortBy.get(o1); if (c1 == null) @@ -94,14 +96,17 @@ public class NfaUtil { public static class NFAFactory implements NfaFactory, S, S> { + @Override public Nfa create(S start, S stop) { return new NFAImpl(start, stop, Maps.> newLinkedHashMap()); } + @Override public S createState(Nfa nfa, S token) { return token; } + @Override public void setFollowers(Nfa nfa, S owner, Iterable followers) { ((NFAImpl) nfa).followers.put(owner, Lists.newArrayList(followers)); } @@ -119,15 +124,18 @@ public class NfaUtil { this.followers = followers; } + @Override public List getFollowers(S node) { List result = followers.get(node); return result == null ? Collections. emptyList() : result; } + @Override public S getStart() { return start; } + @Override public S getStop() { return stop; } @@ -289,6 +297,7 @@ public class NfaUtil { public Map distanceToFinalStateMap(Nfa nfa) { final S stop = nfa.getStop(); return distanceToStateMap(nfa, new Predicate() { + @Override public boolean apply(S input) { return stop == input; } @@ -301,6 +310,7 @@ public class NfaUtil { public boolean equalsIgnoreOrder(Nfa nfa1, Nfa nfa2) { return equalsIgnoreOrder(nfa1, nfa2, new Function() { + @Override public Object apply(S from) { return from; } @@ -336,21 +346,25 @@ public class NfaUtil { public Nfa filter(final Nfa nfa, final Predicate filter) { return new Nfa() { + @Override public Set getFollowers(final S node) { final S start = nfa.getStart(); final S stop = nfa.getStop(); return filterFollowers(nfa, nfa.getFollowers(node), new Predicate() { + @Override public boolean apply(S input) { return input == start || input == stop || filter.apply(input); } }); } + @Override public S getStart() { // return filterFollowers(nfa, nfa.getStartStates(), filter); return nfa.getStart(); } + @Override public S getStop() { // return filterFinalStates(nfa, filter); return nfa.getStop(); diff --git a/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/formallang/PdaListFormatter.java b/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/formallang/PdaListFormatter.java index 4710fb1ff..efad2a4c8 100644 --- a/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/formallang/PdaListFormatter.java +++ b/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/formallang/PdaListFormatter.java @@ -20,6 +20,7 @@ import com.google.common.collect.Lists; public class PdaListFormatter implements Function, String> { protected static class ObjToStrFunction implements Function { + @Override public String apply(OBJ from) { return from == null ? "null" : from.toString(); } @@ -36,6 +37,7 @@ public class PdaListFormatter implements Function pda) { return format(pda); } diff --git a/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/formallang/PdaUtil.java b/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/formallang/PdaUtil.java index 7ee593019..50f0d7b64 100644 --- a/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/formallang/PdaUtil.java +++ b/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/formallang/PdaUtil.java @@ -50,6 +50,7 @@ public class PdaUtil { return list.isEmpty(); } + @Override public Iterator iterator() { return list.iterator(); } @@ -85,6 +86,7 @@ public class PdaUtil { this.pda = pda; } + @Override public boolean apply(S input) { return pda.getPop(input) != null; } @@ -125,6 +127,7 @@ public class PdaUtil { } public static class CyclicStackTraverser implements Traverser, S, CyclicStackItem

> { + @Override public CyclicStackItem

enter(Pda pda, S state, CyclicStackItem

previous) { P item; if ((item = pda.getPush(state)) != null) @@ -136,6 +139,7 @@ public class PdaUtil { return previous; } + @Override public boolean isSolution(CyclicStackItem

result) { return result.parent == null; } diff --git a/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/formallang/ProductionFormatter.java b/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/formallang/ProductionFormatter.java index 55ef09d82..c2a267c1a 100644 --- a/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/formallang/ProductionFormatter.java +++ b/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/formallang/ProductionFormatter.java @@ -19,6 +19,7 @@ import com.google.common.collect.Lists; public class ProductionFormatter implements Function, String> { protected static class ObjToStrFunction implements Function { + @Override public String apply(TOKEN from) { return from == null ? "null" : from.toString(); } @@ -30,6 +31,7 @@ public class ProductionFormatter implements Function tokenToString = new ObjToStrFunction(); + @Override public String apply(Production from) { return format(from); } diff --git a/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/formallang/ProductionStringFactory.java b/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/formallang/ProductionStringFactory.java index 9fbfee7be..01e92ccba 100644 --- a/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/formallang/ProductionStringFactory.java +++ b/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/formallang/ProductionStringFactory.java @@ -35,12 +35,14 @@ public class ProductionStringFactory implements ProductionFactory children) { List childrenSorted = Lists.newArrayList(Iterables.filter(children, Predicates.notNull())); Collections.sort(childrenSorted); return "(" + Joiner.on(" | ").join(childrenSorted) + ")" + card(many, optional); } + @Override public String createForSequentialChildren(boolean many, boolean optional, Iterable children) { children = Iterables.filter(children, Predicates.notNull()); if (many || optional) @@ -48,6 +50,7 @@ public class ProductionStringFactory implements ProductionFactory implements ProductionFactory children) { List childrenSorted = Lists.newArrayList(Iterables.filter(children, Predicates.notNull())); Collections.sort(childrenSorted); diff --git a/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/formallang/ProductionUtil.java b/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/formallang/ProductionUtil.java index e052a458d..a81b8f57c 100644 --- a/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/formallang/ProductionUtil.java +++ b/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/formallang/ProductionUtil.java @@ -81,6 +81,7 @@ public class ProductionUtil { public E findByToken(final Production production, E element, final Predicate matches) { return find(production, element, new Predicate() { + @Override public boolean apply(E input) { T token = production.getToken(input); return token != null && matches.apply(token); diff --git a/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/formallang/StringCfg.java b/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/formallang/StringCfg.java index 6135c456e..0c60466f9 100644 --- a/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/formallang/StringCfg.java +++ b/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/formallang/StringCfg.java @@ -48,6 +48,7 @@ public class StringCfg extends StringProduction implements Cfg { this.nullState = nullState; } + @Override public StringNfa create(Object start, Object stop) { String starts = start != null ? start.toString() : nullStart; String stops = stop != null ? stop.toString() : nullStop; return new StringNfa(starts, stops); } + @Override public String createState(StringNfa nfa, Object token) { return token != null ? token.toString() : nullState; } + @Override public void setFollowers(StringNfa nfa, String owner, Iterable followers) { nfa.state(owner).followedBy(Iterables.toArray(followers, String.class)); } @@ -79,14 +82,17 @@ public class StringNfa implements Nfa { this.stop = stop; } + @Override public Iterable getFollowers(String state) { return followers.get(state); } + @Override public String getStart() { return start; } + @Override public String getStop() { return stop; } diff --git a/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/formallang/StringPda.java b/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/formallang/StringPda.java index 3bc4b88e4..8b0704d56 100644 --- a/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/formallang/StringPda.java +++ b/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/formallang/StringPda.java @@ -34,10 +34,12 @@ public class StringPda extends StringNfa implements Pda { this.nullState = nullState; } + @Override public StringPda create(T start, T stop) { return new StringPda(tokenToStr(start, nullStart), tokenToStr(stop, nullStop)); } + @Override public String createPop(StringPda pda, T token) { String pop = tokenToStr(token, nullState); String s = pop.startsWith("<<") ? pop : "<<" + pop; @@ -45,6 +47,7 @@ public class StringPda extends StringNfa implements Pda { return s; } + @Override public String createPush(StringPda pda, T token) { String push = tokenToStr(token, nullState); String s = push.startsWith(">>") ? push : ">>" + push; @@ -52,10 +55,12 @@ public class StringPda extends StringNfa implements Pda { return s; } + @Override public String createState(StringPda pda, T token) { return tokenToStr(token, nullState); } + @Override public void setFollowers(StringPda pda, String owner, Iterable followers) { pda.state(owner).followedBy(Iterables.toArray(followers, String.class)); } @@ -106,10 +111,12 @@ public class StringPda extends StringNfa implements Pda { super(start, stop); } + @Override public String getPop(String state) { return pops.get(state); } + @Override public String getPush(String state) { return pushs.get(state); } diff --git a/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/formallang/StringProduction.java b/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/formallang/StringProduction.java index 6b9d4cd4d..18f2d5515 100644 --- a/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/formallang/StringProduction.java +++ b/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/formallang/StringProduction.java @@ -142,34 +142,42 @@ public class StringProduction implements Production { return new ProdElement(type); } + @Override public Iterable getAlternativeChildren(ProdElement ele) { return ele.type == ElementType.ALTERNATIVE ? ele.children : null; } + @Override public ProdElement getParent(ProdElement ele) { return ele.parent; } + @Override public ProdElement getRoot() { return root; } + @Override public Iterable getSequentialChildren(ProdElement ele) { return ele.type == ElementType.SEQUENCE ? ele.children : null; } + @Override public String getToken(ProdElement ele) { return ele.type == ElementType.TOKEN ? ele.value : null; } + @Override public Iterable getUnorderedChildren(ProdElement ele) { return ele.type == ElementType.UNOREDERED ? ele.children : null; } + @Override public boolean isMany(ProdElement ele) { return ele.many; } + @Override public boolean isOptional(ProdElement ele) { return ele.optional; } diff --git a/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/internal/Stopwatches.java b/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/internal/Stopwatches.java index d78c2114b..a8ce54fec 100644 --- a/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/internal/Stopwatches.java +++ b/plugins/org.eclipse.xtext.util/src/org/eclipse/xtext/util/internal/Stopwatches.java @@ -34,6 +34,7 @@ public class Stopwatches { this.numbers = numbers; } + @Override public void start() { if (!isRunning()) lastStart = System.currentTimeMillis(); @@ -44,6 +45,7 @@ public class Stopwatches { return lastStart != notRunning; } + @Override public void stop() { if (isRunning()) { reentrant--; @@ -81,7 +83,9 @@ public class Stopwatches { private static Map data = newLinkedHashMap(); private static boolean enabled = false; private static StoppedTask NULLIMPL = new StoppedTask() { + @Override public void start() {} + @Override public void stop() {} }; diff --git a/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/common/parser/packrat/TerminalsPackratParser.java b/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/common/parser/packrat/TerminalsPackratParser.java index 765fedfca..cd7ae23ab 100644 --- a/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/common/parser/packrat/TerminalsPackratParser.java +++ b/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/common/parser/packrat/TerminalsPackratParser.java @@ -32,10 +32,12 @@ public class TerminalsPackratParser extends AbstractPackratParser { return (TerminalsGrammarAccess)super.getGrammarAccess(); } + @Override public IParseResult parse(ParserRule rule, Reader reader) { throw new UnsupportedOperationException(); } + @Override public IParseResult parse(RuleCall ruleCall, Reader reader, int initialLookAhead) { throw new UnsupportedOperationException(); } diff --git a/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/common/parser/packrat/TerminalsParserConfiguration.java b/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/common/parser/packrat/TerminalsParserConfiguration.java index a91a43920..97f40d814 100644 --- a/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/common/parser/packrat/TerminalsParserConfiguration.java +++ b/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/common/parser/packrat/TerminalsParserConfiguration.java @@ -34,13 +34,16 @@ public class TerminalsParserConfiguration extends AbstractParserConfiguration { this.grammarAccess = grammarAccess; } + @Override public INonTerminalConsumer getRootConsumer() { return null; } + @Override public void createNonTerminalConsumers() { } + @Override public void createTerminalConsumers() { idConsumer = new TerminalsIDConsumer(this); intConsumer = new TerminalsINTConsumer(this); @@ -51,6 +54,7 @@ public class TerminalsParserConfiguration extends AbstractParserConfiguration { anyOtherConsumer = new TerminalsANY_OTHERConsumer(this); } + @Override public void configureConsumers() { if (grammarAccess == null) throw new NullPointerException("grammarAccess may not be null, you call configureConsumers"); diff --git a/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/AbstractPackratParser.java b/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/AbstractPackratParser.java index 4cd2141ff..f5bfee84c 100755 --- a/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/AbstractPackratParser.java +++ b/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/AbstractPackratParser.java @@ -71,6 +71,7 @@ public abstract class AbstractPackratParser extends AbstractParser implements this.hiddens = previousHiddens; } + @Override public void restore() { setHiddens(this.hiddens); } @@ -82,6 +83,7 @@ public abstract class AbstractPackratParser extends AbstractParser implements } private static final IHiddenTokenState NULL_HIDDEN_TOKEN_STATE = new IHiddenTokenState() { + @Override public void restore() { } }; @@ -134,21 +136,27 @@ public abstract class AbstractPackratParser extends AbstractParser implements final IBacktracker localBacktracker = DebugUtil.BACKTRACKER_DEBUG ? new DebugBacktracker(backtracker) : backtracker; IParserConfiguration result = createParserConfiguration(new IInternalParserConfiguration() { + @Override public IConsumerUtility getConsumerUtil() { return localConsumerUtil; } + @Override public IHiddenTokenHandler getHiddenTokenHandler() { return localHiddenTokenHandler; } + @Override public ICharSequenceWithOffset getInput() { return localInput; } + @Override public IMarkerFactory getMarkerFactory() { return localMarkerFactory; } + @Override public IParsedTokenAcceptor getTokenAcceptor() { return localTokenAcceptor; } + @Override public IBacktracker getBacktracker() { return localBacktracker; } @@ -173,10 +181,12 @@ public abstract class AbstractPackratParser extends AbstractParser implements return input; } + @Override public final IParseResult parse(CharSequence input) { return parse(input, getRootConsumer()); } + @Override public final IParseResult parse(CharSequence input, INonTerminalConsumer consumer) { this.input = input; this.offset = 0; @@ -187,6 +197,7 @@ public abstract class AbstractPackratParser extends AbstractParser implements private class RootConsumerListener implements IRootConsumerListener { + @Override public void beforeNonTerminalEnd(INonTerminalConsumer nonTerminalConsumer, int result, INonTerminalConsumerConfiguration configuration) { if (result == ConsumeResult.SUCCESS) { if (offset != length()) @@ -198,10 +209,12 @@ public abstract class AbstractPackratParser extends AbstractParser implements } } + @Override public void afterNonTerminalBegin(INonTerminalConsumer nonTerminalConsumer, INonTerminalConsumerConfiguration configuration) { consumeHiddens(); } + @Override public void handleException(NonTerminalConsumer nonTerminalConsumer, Exception e, INonTerminalConsumerConfiguration configuration) { log.error("handle Exception: " + e.getMessage(), e); configuration.getTokenAcceptor().accept(new ErrorToken(offset, length() - offset, null, e.getMessage())); @@ -246,39 +259,47 @@ public abstract class AbstractPackratParser extends AbstractParser implements } } + @Override public IMarker mark() { return getNextMarker(activeMarker, offset); } + @Override public Marker getActiveMarker() { return activeMarker; } + @Override public Marker getNextMarker(Marker parent, int offset) { return markerBufferSize > 0 ? markerBuffer[--markerBufferSize].reInit(offset, parent, this, this) : new Marker(parent, offset, this, this); } + @Override public void setActiveMarker(Marker marker) { this.activeMarker = marker; } + @Override public void releaseMarker(Marker marker) { if (markerBufferSize < MARKER_BUFFER_SIZE) markerBuffer[markerBufferSize++] = marker; } + @Override public int consumeKeyword(Keyword keyword, String feature, boolean isMany, boolean isBoolean, ICharacterClass notFollowedBy, boolean optional) { keywordConsumer.configure(keyword, notFollowedBy); return consumeTerminal(keywordConsumer, feature, isMany, isBoolean, keyword, ISequenceMatcher.Factory.nullMatcher(), optional); } + @Override public int consumeEnum(EnumLiteralDeclaration literal, ICharacterClass notFollowedBy) { literalConsumer.configure(literal, notFollowedBy); return consumeTerminal(literalConsumer, null, false, false, literal, ISequenceMatcher.Factory.nullMatcher(), false); } + @Override public int consumeTerminal(ITerminalConsumer consumer, String feature, boolean isMany, boolean isBoolean, AbstractElement grammarElement, ISequenceMatcher notMatching, boolean optional) { IMarker marker = mark(); @@ -293,6 +314,7 @@ public abstract class AbstractPackratParser extends AbstractParser implements return result; } + @Override public int consumeNonTerminal(INonTerminalConsumer consumer, String feature, boolean isMany, boolean isDatatype, boolean isBoolean, AbstractElement grammarElement, boolean optional) throws Exception { if (!consumer.isDefiningHiddens()) @@ -330,8 +352,10 @@ public abstract class AbstractPackratParser extends AbstractParser implements return result; } + @Override public void consumeAction(final Action action, final boolean isMany) { accept(new ParsedAction(offset, action, isMany, new IParsedTokenSource(){ + @Override public int parseAgain(ParsedToken token) throws Exception { consumeAction(action, isMany); return ConsumeResult.SUCCESS; @@ -347,38 +371,47 @@ public abstract class AbstractPackratParser extends AbstractParser implements return grammarAccess; } + @Override public int getOffset() { return offset; } + @Override public char charAt(int index) { return input.charAt(index); } + @Override public int length() { return input.length(); } + @Override public CharSequence subSequence(int start, int end) { return input.subSequence(start, end); } + @Override public void incOffset() { offset++; } + @Override public void incOffset(int amount) { offset+=amount; } + @Override public void accept(AbstractParsedToken token) { activeMarker.accept(token); } + @Override public void setOffset(int offset) { this.offset = offset; } + @Override public IHiddenTokenState replaceHiddenTokens(ITerminalConsumer... consumers) { if (consumers == null) return NULL_HIDDEN_TOKEN_STATE; diff --git a/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/AbstractParserConfiguration.java b/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/AbstractParserConfiguration.java index 5f6b08d46..70f8a6024 100755 --- a/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/AbstractParserConfiguration.java +++ b/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/AbstractParserConfiguration.java @@ -57,38 +57,47 @@ public abstract class AbstractParserConfiguration implements this.backtracker = configuration.getBacktracker(); } + @Override public ICharSequenceWithOffset getInput() { return input; } + @Override public IMarkerFactory getMarkerFactory() { return markerFactory; } + @Override public IParsedTokenAcceptor getTokenAcceptor() { return tokenAcceptor; } + @Override public IHiddenTokenHandler getHiddenTokenHandler() { return hiddenTokenHandler; } + @Override public IConsumerUtility getConsumerUtil() { return consumerUtil; } + @Override public IBacktracker getBacktracker() { return backtracker; } + @Override public KeywordConsumer createKeywordConsumer() { return new KeywordConsumer(this); } + @Override public EnumLiteralConsumer createLiteralConsumer() { return new EnumLiteralConsumer(this); } + @Override public ITerminalConsumer[] getInitialHiddenTerminals() { return EMPTY_HIDDENS; } diff --git a/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/CharArrayWriterAsSequence.java b/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/CharArrayWriterAsSequence.java index dae900c4b..4a5b915c1 100755 --- a/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/CharArrayWriterAsSequence.java +++ b/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/CharArrayWriterAsSequence.java @@ -14,10 +14,12 @@ import java.io.CharArrayWriter; */ public class CharArrayWriterAsSequence extends CharArrayWriter implements CharSequence { + @Override public char charAt(int index) { return buf[index]; } + @Override public int length() { return count; } @@ -30,6 +32,7 @@ public class CharArrayWriterAsSequence extends CharArrayWriter implements CharSe super(1024); } + @Override public CharSequence subSequence(int start, int end) { return new SubSequence(this, start, end); } @@ -45,14 +48,17 @@ public class CharArrayWriterAsSequence extends CharArrayWriter implements CharSe this.end = end; } + @Override public char charAt(int index) { return base.charAt(index + start); } + @Override public int length() { return end - start; } + @Override public CharSequence subSequence(int start, int end) { return new SubSequence(base, this.start + start, this.start + end); } diff --git a/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/ParseResultFactory.java b/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/ParseResultFactory.java index 2b5156b38..5bcf375be 100755 --- a/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/ParseResultFactory.java +++ b/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/ParseResultFactory.java @@ -54,6 +54,7 @@ public class ParseResultFactory extends AbstractParsedTokenVisitor implements IP this.nonterminalStack = new LinkedList(); } + @Override public IParseResult createParseResult(AbstractParsedToken token, CharSequence input) { // currentNode = null; currentStack.clear(); diff --git a/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/consumers/NonTerminalConsumer.java b/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/consumers/NonTerminalConsumer.java index 9812c694e..ee3cb9d12 100755 --- a/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/consumers/NonTerminalConsumer.java +++ b/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/consumers/NonTerminalConsumer.java @@ -149,6 +149,7 @@ public abstract class NonTerminalConsumer extends AbstractConsumer implements IN this.element = element; } + @Override public int consume() throws Exception { IMarker marker = mark(); int result = doConsume(false); @@ -180,6 +181,7 @@ public abstract class NonTerminalConsumer extends AbstractConsumer implements IN return result; } + @Override public int parseAgain(ParsedToken token) throws Exception { return consume(); } @@ -242,6 +244,7 @@ public abstract class NonTerminalConsumer extends AbstractConsumer implements IN return consumers; } + @Override public int parseFurther(IFurtherParsable token) throws Exception { final UnorderedGroupToken groupToken = token.getToken(); return doConsumeUnorderedGroup(this, getConsumers(), this, groupToken.isOptional() /*, groupToken.getAlternative() + 1 */); @@ -272,6 +275,7 @@ public abstract class NonTerminalConsumer extends AbstractConsumer implements IN return consumers; } + @Override public int parseFurther(IFurtherParsable token) throws Exception { final AlternativesToken alternativesToken = token.getToken(); return doConsumeAlternatives(this, getConsumers(), this, alternativesToken.isOptional(), alternativesToken.getAlternative() + 1); @@ -360,6 +364,7 @@ public abstract class NonTerminalConsumer extends AbstractConsumer implements IN return consumers; } + @Override public int parseFurther(IFurtherParsable token) throws Exception { final UnorderedGroupToken groupToken = token.getToken(); return doConsumeUnorderedGroup(this, getConsumers(), this, groupToken.isOptional() /*, groupToken.getAlternative() + 1 */); @@ -390,6 +395,7 @@ public abstract class NonTerminalConsumer extends AbstractConsumer implements IN return consumers; } + @Override public int parseFurther(IFurtherParsable token) throws Exception { final AlternativesToken alternativesToken = token.getToken(); return doConsumeAlternatives(this, getConsumers(), this, alternativesToken.isOptional(), alternativesToken.getAlternative() + 1); @@ -477,6 +483,7 @@ public abstract class NonTerminalConsumer extends AbstractConsumer implements IN return consumers; } + @Override public int parseFurther(IFurtherParsable token) throws Exception { final UnorderedGroupToken groupToken = token.getToken(); return doConsumeUnorderedGroup(this, getConsumers(), this, groupToken.isOptional() /*, groupToken.getAlternative() + 1 */); @@ -507,6 +514,7 @@ public abstract class NonTerminalConsumer extends AbstractConsumer implements IN return consumers; } + @Override public int parseFurther(IFurtherParsable token) throws Exception { final AlternativesToken alternativesToken = token.getToken(); return doConsumeAlternatives(this, getConsumers(), this, alternativesToken.isOptional(), alternativesToken.getAlternative() + 1); @@ -639,6 +647,7 @@ public abstract class NonTerminalConsumer extends AbstractConsumer implements IN return consumers; } + @Override public int parseFurther(IFurtherParsable token) throws Exception { final UnorderedGroupToken groupToken = token.getToken(); return doConsumeUnorderedGroup(this, getConsumers(), this, groupToken.isOptional() /*, groupToken.getAlternative() + 1 */); @@ -669,6 +678,7 @@ public abstract class NonTerminalConsumer extends AbstractConsumer implements IN return consumers; } + @Override public int parseFurther(IFurtherParsable token) throws Exception { final AlternativesToken alternativesToken = token.getToken(); return doConsumeAlternatives(this, getConsumers(), this, alternativesToken.isOptional(), alternativesToken.getAlternative() + 1); @@ -863,16 +873,19 @@ public abstract class NonTerminalConsumer extends AbstractConsumer implements IN getTokenAcceptor().accept(new PlaceholderToken(getOffset(), consumer.getElement(), consumer, true)); } + @Override public boolean isDefiningHiddens() { return hiddenTokens != null; } + @Override public int consume(final String feature, final boolean isMany, final boolean isDatatype, final boolean isBoolean, final AbstractElement grammarElement, final boolean optional) throws Exception { IHiddenTokenState prevState = hiddenTokenHandler.replaceHiddenTokens(hiddenTokens); IMarker marker = mark(); getTokenAcceptor().accept(new ParsedNonTerminal(getInput().getOffset(), grammarElement != null ? grammarElement : getGrammarElement(), getDefaultType(), new IParsedTokenSource(){ + @Override public int parseAgain(ParsedToken token) throws Exception { return consume(feature, isMany, isDatatype, isBoolean, grammarElement, optional); } @@ -884,11 +897,13 @@ public abstract class NonTerminalConsumer extends AbstractConsumer implements IN return result; } + @Override public void consumeAsRoot(final IRootConsumerListener listener) { IHiddenTokenState prevState = hiddenTokenHandler.replaceHiddenTokens(hiddenTokens); IMarker marker = mark(); getTokenAcceptor().accept(new ParsedNonTerminal(getInput().getOffset(), getGrammarElement(), getDefaultType(), new IParsedTokenSource(){ + @Override public int parseAgain(ParsedToken token) throws Exception { throw new IllegalStateException("Cannot reparse root token"); } @@ -944,18 +959,22 @@ public abstract class NonTerminalConsumer extends AbstractConsumer implements IN protected abstract AbstractRule getGrammarElement(); + @Override public IConsumerUtility getConsumerUtil() { return consumerUtil; } + @Override public IHiddenTokenHandler getHiddenTokenHandler() { return hiddenTokenHandler; } + @Override public IMarkerFactory getMarkerFactory() { return markerFactory; } + @Override public IBacktracker getBacktracker() { return backtracker; } diff --git a/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/consumers/TerminalConsumer.java b/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/consumers/TerminalConsumer.java index 906a20111..392ab434d 100755 --- a/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/consumers/TerminalConsumer.java +++ b/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/consumers/TerminalConsumer.java @@ -34,6 +34,7 @@ public abstract class TerminalConsumer extends AbstractConsumer implements ITerm super(configuration.getInput(), configuration.getTokenAcceptor()); } + @Override public final int consume(final String feature, final boolean isMany, final boolean isBoolean, final AbstractElement element, final ISequenceMatcher notMatching, final boolean optional) { final int prevMarker = mark(); @@ -46,6 +47,7 @@ public abstract class TerminalConsumer extends AbstractConsumer implements ITerm } getTokenAcceptor().accept(createParsedToken(feature, isMany, isBoolean, element, notMatching, optional, prevMarker, new IParsedTokenSource(){ + @Override public int parseAgain(ParsedToken token) throws Exception { return consume(feature, isMany, isBoolean, element, notMatching, optional); } @@ -67,6 +69,7 @@ public abstract class TerminalConsumer extends AbstractConsumer implements ITerm source, optional); } + @Override public final int consume() { int prevOffset = getInput().getOffset(); final int result = doConsume(); @@ -76,6 +79,7 @@ public abstract class TerminalConsumer extends AbstractConsumer implements ITerm return result; } + @Override public final int consume(ISequenceMatcher notMatching) { int prevOffset = getInput().getOffset(); final int result = doConsume(); @@ -202,10 +206,12 @@ public abstract class TerminalConsumer extends AbstractConsumer implements ITerm protected abstract String getRuleName(); + @Override public void setHidden(boolean hidden) { this.hidden = hidden; } + @Override public boolean isHidden() { return hidden; } diff --git a/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/debug/DebugBacktracker.java b/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/debug/DebugBacktracker.java index a1dea7ed2..75eaae1ba 100644 --- a/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/debug/DebugBacktracker.java +++ b/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/debug/DebugBacktracker.java @@ -23,6 +23,7 @@ public class DebugBacktracker implements IBacktracker { this.delegate = delegate; } + @Override public IBacktrackingResult skipPreviousToken() { if (log.isDebugEnabled()) { log.debug("Trying to skip recently parsed optional token."); diff --git a/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/debug/DebugCharSequence.java b/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/debug/DebugCharSequence.java index 2e7395c54..02f1f8b14 100755 --- a/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/debug/DebugCharSequence.java +++ b/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/debug/DebugCharSequence.java @@ -22,6 +22,7 @@ public class DebugCharSequence implements CharSequence { this.delegate = delegate; } + @Override public char charAt(int index) { char result = delegate.charAt(index); if (log.isTraceEnabled()) { @@ -30,10 +31,12 @@ public class DebugCharSequence implements CharSequence { return result; } + @Override public int length() { return delegate.length(); } + @Override public CharSequence subSequence(int start, int end) { if (log.isTraceEnabled()) { log.trace("subSequence(start = " + start + ", end = " + end + ")"); diff --git a/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/debug/DebugCharSequenceWithOffset.java b/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/debug/DebugCharSequenceWithOffset.java index 834b632e7..48c099431 100755 --- a/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/debug/DebugCharSequenceWithOffset.java +++ b/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/debug/DebugCharSequenceWithOffset.java @@ -24,6 +24,7 @@ public class DebugCharSequenceWithOffset extends DebugCharSequence implements IC this.delegate = delegate; } + @Override public int getOffset() { int result = delegate.getOffset(); if (log.isTraceEnabled()) { @@ -32,6 +33,7 @@ public class DebugCharSequenceWithOffset extends DebugCharSequence implements IC return result; } + @Override public void incOffset() { if (log.isTraceEnabled()) { log.trace("incOffset()"); @@ -39,6 +41,7 @@ public class DebugCharSequenceWithOffset extends DebugCharSequence implements IC delegate.incOffset(); } + @Override public void incOffset(int amount) { if (log.isTraceEnabled()) { log.trace("incOffset(" + amount + ")"); @@ -46,6 +49,7 @@ public class DebugCharSequenceWithOffset extends DebugCharSequence implements IC delegate.incOffset(amount); } + @Override public void setOffset(int offset) { if (log.isTraceEnabled()) { log.trace("setOffset(" + offset + ")"); diff --git a/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/debug/DebugConsumerUtility.java b/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/debug/DebugConsumerUtility.java index 0a944f8fc..2d03a9f7d 100755 --- a/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/debug/DebugConsumerUtility.java +++ b/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/debug/DebugConsumerUtility.java @@ -31,6 +31,7 @@ public class DebugConsumerUtility implements IConsumerUtility { this.delegate = delegate; } + @Override public void consumeAction(Action action, boolean isMany) { if (log.isDebugEnabled()) { log.debug("consumeAction(type = " + action.getType().getClassifier().getName() + ", feature = " + action.getFeature() + ", isMany = " + isMany + ")"); @@ -38,6 +39,7 @@ public class DebugConsumerUtility implements IConsumerUtility { delegate.consumeAction(action, isMany); } + @Override public int consumeKeyword(Keyword keyword, String feature, boolean isMany, boolean isBoolean, ICharacterClass notFollowedBy, boolean optional) { if (log.isDebugEnabled()) { @@ -55,6 +57,7 @@ public class DebugConsumerUtility implements IConsumerUtility { return result; } + @Override public int consumeNonTerminal(INonTerminalConsumer consumer, String feature, boolean isMany, boolean isDatatype, boolean isBoolean, AbstractElement grammarElement, boolean optional) throws Exception { if (log.isDebugEnabled()) { @@ -73,6 +76,7 @@ public class DebugConsumerUtility implements IConsumerUtility { return result; } + @Override public int consumeTerminal(ITerminalConsumer consumer, String feature, boolean isMany, boolean isBoolean, AbstractElement grammarElement, ISequenceMatcher notMatching, boolean optional) { if (log.isDebugEnabled()) { @@ -91,6 +95,7 @@ public class DebugConsumerUtility implements IConsumerUtility { return result; } + @Override public int consumeEnum(EnumLiteralDeclaration literal, ICharacterClass notFollowedBy) { if (log.isDebugEnabled()) { log.debug("consumeEnum(enum = '" + literal.getEnumLiteral().getName() + "', " + diff --git a/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/debug/DebugHiddenTokenHandler.java b/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/debug/DebugHiddenTokenHandler.java index f632972ce..8cda0936a 100755 --- a/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/debug/DebugHiddenTokenHandler.java +++ b/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/debug/DebugHiddenTokenHandler.java @@ -26,6 +26,7 @@ public class DebugHiddenTokenHandler implements IHiddenTokenHandler { this.delegate = delegate; } + @Override public IHiddenTokenState replaceHiddenTokens(ITerminalConsumer... consumers) { if (log.isDebugEnabled()) { log.debug("replaceHiddenTokens(" + Arrays.toString(consumers) + ")"); @@ -45,6 +46,7 @@ public class DebugHiddenTokenHandler implements IHiddenTokenHandler { this.delegate = delegate; } + @Override public void restore() { if (log.isDebugEnabled()) { log.debug("restore(" + delegate + ")"); diff --git a/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/debug/DebugMarkerFactory.java b/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/debug/DebugMarkerFactory.java index 8d7d31c2f..2f06a668b 100755 --- a/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/debug/DebugMarkerFactory.java +++ b/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/debug/DebugMarkerFactory.java @@ -23,6 +23,7 @@ public class DebugMarkerFactory implements IMarkerFactory { this.delegate = delegate; } + @Override public IMarker mark() { if (log.isDebugEnabled()) { log.debug("mark()"); @@ -42,6 +43,7 @@ public class DebugMarkerFactory implements IMarkerFactory { this.delegate = delegate; } + @Override public void rollback() { if (log.isDebugEnabled()) { log.debug("rollback(" + delegate + ")"); @@ -49,6 +51,7 @@ public class DebugMarkerFactory implements IMarkerFactory { delegate.rollback(); } + @Override public void commit() { if (log.isDebugEnabled()) { log.debug("commit(" + delegate + ")"); @@ -56,6 +59,7 @@ public class DebugMarkerFactory implements IMarkerFactory { delegate.commit(); } + @Override public void flush() { if (log.isDebugEnabled()) { log.debug("flush(" + delegate + ")"); @@ -63,6 +67,7 @@ public class DebugMarkerFactory implements IMarkerFactory { delegate.flush(); } + @Override public IMarker fork() { if (log.isDebugEnabled()) { log.debug("fork(" + delegate + ")"); @@ -70,6 +75,7 @@ public class DebugMarkerFactory implements IMarkerFactory { return new DebuggingMarker(delegate.fork()); } + @Override public IMarker join(IMarker forkedMarker) { IMarker join = forkedMarker instanceof DebuggingMarker ? ((DebuggingMarker)forkedMarker).delegate : forkedMarker; if (log.isDebugEnabled()) { diff --git a/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/debug/DebugParsedTokenAcceptor.java b/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/debug/DebugParsedTokenAcceptor.java index cb0ab1826..11b17c2b8 100755 --- a/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/debug/DebugParsedTokenAcceptor.java +++ b/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/debug/DebugParsedTokenAcceptor.java @@ -24,6 +24,7 @@ public class DebugParsedTokenAcceptor implements IParsedTokenAcceptor { this.delegate = delegate; } + @Override public void accept(AbstractParsedToken token) { if (log.isDebugEnabled()) { log.debug("accept(" + token + ")"); diff --git a/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/internal/Backtracker.java b/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/internal/Backtracker.java index 39bc7f408..690532a69 100644 --- a/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/internal/Backtracker.java +++ b/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/internal/Backtracker.java @@ -21,6 +21,7 @@ public class Backtracker implements IBacktracker { this.markerClient = markerClient; } + @Override public IBacktrackingResult skipPreviousToken() { return markerClient.getActiveMarker().skipPreviousToken(); } diff --git a/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/internal/Marker.java b/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/internal/Marker.java index 7d93b2eda..54f620e85 100644 --- a/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/internal/Marker.java +++ b/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/internal/Marker.java @@ -72,6 +72,7 @@ public class Marker extends AbstractParsedToken implements IMarkerFactory.IMarke return this; } + @Override public void rollback() { if (danglingChildCount > 0) throw new IllegalStateException("childCount has to be zero before rollback."); @@ -80,6 +81,7 @@ public class Marker extends AbstractParsedToken implements IMarkerFactory.IMarke forget(); } + @Override public void flush() { if (danglingChildCount > 0) throw new IllegalStateException("childCount has to be zero before flush."); @@ -95,6 +97,7 @@ public class Marker extends AbstractParsedToken implements IMarkerFactory.IMarke lastOffset = input.getOffset(); } + @Override public void commit() { if (danglingChildCount > 0) throw new IllegalStateException("childCount has to be zero before commit."); @@ -111,6 +114,7 @@ public class Marker extends AbstractParsedToken implements IMarkerFactory.IMarke this.parent = null; // prevent accidental change } + @Override public Marker fork() { lastOffset = input.getOffset(); input.setOffset(getOffset()); @@ -125,6 +129,7 @@ public class Marker extends AbstractParsedToken implements IMarkerFactory.IMarke return result; } + @Override public IMarker join(IMarker forkedMarker) { if (!(forkedMarker instanceof Marker)) throw new IllegalArgumentException("forkedMarker is not supported: " + forkedMarker); @@ -179,6 +184,7 @@ public class Marker extends AbstractParsedToken implements IMarkerFactory.IMarke } } + @Override public void accept(AbstractParsedToken token) { if (danglingChildCount != 0) throw new IllegalStateException("cannot accept tokens if there exist any dangling children."); @@ -201,6 +207,7 @@ public class Marker extends AbstractParsedToken implements IMarkerFactory.IMarke return input; } + @Override public IBacktrackingResult skipPreviousToken() { if (danglingChildCount > 0) throw new IllegalStateException("childCount has to be zero before backtracking."); diff --git a/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/internal/MarkerAwareBacktracker.java b/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/internal/MarkerAwareBacktracker.java index 40b33a1d2..eec9c9a31 100644 --- a/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/internal/MarkerAwareBacktracker.java +++ b/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/internal/MarkerAwareBacktracker.java @@ -62,6 +62,7 @@ public class MarkerAwareBacktracker implements IBacktracker { this.workingMarkers = new ArrayList(4); } + @Override public void commit() { if (workingMarkers.isEmpty()) throw new IllegalStateException("Working marker may not be null"); @@ -77,6 +78,7 @@ public class MarkerAwareBacktracker implements IBacktracker { markedTokens.clear(); } + @Override public void discard() { for(AbstractParsedToken token: markedTokens) { token.setSkipped(false); @@ -93,10 +95,12 @@ public class MarkerAwareBacktracker implements IBacktracker { markedTokens.clear(); } + @Override public boolean isSuccessful() { return result; } + @Override public IBacktrackingResult skipPreviousToken() { discardImpl(); init(); @@ -212,6 +216,7 @@ public class MarkerAwareBacktracker implements IBacktracker { } } + @Override public void visitMarker(Marker marker) { throw new IllegalStateException("Marker may not be content of other markers."); } @@ -324,6 +329,7 @@ public class MarkerAwareBacktracker implements IBacktracker { } } + @Override public void visitMarker(Marker marker) { throw new IllegalStateException("Marker may not be content of other markers."); } @@ -488,6 +494,7 @@ public class MarkerAwareBacktracker implements IBacktracker { replayToken = token; } + @Override public void visitMarker(Marker marker) { throw new IllegalStateException("Marker may not be content of other markers."); } @@ -495,6 +502,7 @@ public class MarkerAwareBacktracker implements IBacktracker { } } + @Override public IBacktrackingResult skipPreviousToken() { return new NestedBacktrackingResult().skipPreviousToken(); } diff --git a/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/matching/CharacterAlternatives.java b/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/matching/CharacterAlternatives.java index 6bfbfce99..201cfe473 100755 --- a/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/matching/CharacterAlternatives.java +++ b/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/matching/CharacterAlternatives.java @@ -18,6 +18,7 @@ public class CharacterAlternatives implements ICharacterClass { this.classes = classes; } + @Override public boolean matches(char candidate) { for (ICharacterClass characterClass: classes) { if (characterClass.matches(candidate)) diff --git a/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/matching/CharacterArray.java b/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/matching/CharacterArray.java index 0b7f8cf4a..25a55eb6c 100755 --- a/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/matching/CharacterArray.java +++ b/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/matching/CharacterArray.java @@ -22,6 +22,7 @@ public class CharacterArray implements ICharacterClass { Arrays.sort(this.characters); } + @Override public boolean matches(char candidate) { return candidate >= characters[0] && candidate <= characters[characters.length -1 ] && Arrays.binarySearch(characters, candidate) >= 0; diff --git a/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/matching/CharacterRange.java b/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/matching/CharacterRange.java index 2f3500dc0..bc60dfa05 100755 --- a/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/matching/CharacterRange.java +++ b/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/matching/CharacterRange.java @@ -22,6 +22,7 @@ public class CharacterRange implements ICharacterClass { this.max = max; } + @Override public boolean matches(char candidate) { return this.min <= candidate && this.max >= candidate; } diff --git a/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/matching/ICharacterClass.java b/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/matching/ICharacterClass.java index 27e2e299a..da0de3826 100755 --- a/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/matching/ICharacterClass.java +++ b/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/matching/ICharacterClass.java @@ -17,6 +17,7 @@ public interface ICharacterClass { class Factory { private static class NullCharacterClass implements ICharacterClass { private static ICharacterClass INSTANCE = new NullCharacterClass(); + @Override public boolean matches(char candidate) { return false; } @@ -42,6 +43,7 @@ public interface ICharacterClass { public static ICharacterClass invert(final ICharacterClass clazz) { return new ICharacterClass() { + @Override public boolean matches(char candidate) { return !clazz.matches(candidate); } diff --git a/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/matching/ISequenceMatcher.java b/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/matching/ISequenceMatcher.java index bdf5050a8..3eec808a0 100755 --- a/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/matching/ISequenceMatcher.java +++ b/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/matching/ISequenceMatcher.java @@ -17,6 +17,7 @@ public interface ISequenceMatcher { class Factory { private static class NullSequenceMatcher implements ISequenceMatcher { private static ISequenceMatcher INSTANCE = new NullSequenceMatcher(); + @Override public boolean matches(CharSequence input, int offset, int length) { return false; } diff --git a/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/matching/SetBasedKeywordMatcher.java b/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/matching/SetBasedKeywordMatcher.java index 1161f7a78..55cee1447 100755 --- a/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/matching/SetBasedKeywordMatcher.java +++ b/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/matching/SetBasedKeywordMatcher.java @@ -22,6 +22,7 @@ public class SetBasedKeywordMatcher implements ISequenceMatcher { this.keywords = new HashSet(Arrays.asList(keywords)); } + @Override public boolean matches(CharSequence input, int offset, int length) { return keywords.contains(input.subSequence(offset, offset + length).toString()); } diff --git a/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/matching/SingleCharacter.java b/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/matching/SingleCharacter.java index b1d2f39f5..b57b0376e 100755 --- a/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/matching/SingleCharacter.java +++ b/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/matching/SingleCharacter.java @@ -19,6 +19,7 @@ public class SingleCharacter implements ICharacterClass { this.c = c; } + @Override public boolean matches(char candidate) { return candidate == c; } diff --git a/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/matching/StringWithOffset.java b/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/matching/StringWithOffset.java index c7ce5bdc4..b293c512b 100755 --- a/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/matching/StringWithOffset.java +++ b/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/matching/StringWithOffset.java @@ -24,34 +24,42 @@ public class StringWithOffset implements ICharSequenceWithOffset, IMarkerFactory this.offset = 0; } + @Override public int getOffset() { return offset; } + @Override public void incOffset() { offset++; } + @Override public void incOffset(int amount) { offset+=amount; } + @Override public void setOffset(int offset) { this.offset = offset; } + @Override public char charAt(int index) { return value.charAt(index); } + @Override public int length() { return value.length(); } + @Override public CharSequence subSequence(int start, int end) { return value.subSequence(start, end); } + @Override public IMarker mark() { return new Marker(); } @@ -68,6 +76,7 @@ public class StringWithOffset implements ICharSequenceWithOffset, IMarkerFactory this.offset = offset; } + @Override public void rollback() { StringWithOffset.this.setOffset(offset); } @@ -77,17 +86,21 @@ public class StringWithOffset implements ICharSequenceWithOffset, IMarkerFactory return "Marker@" + offset; } + @Override public void commit() { } + @Override public IMarker fork() { return new Marker(offset); } + @Override public IMarker join(IMarker forkedMarker) { return this; } + @Override public void flush() { } } diff --git a/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/tokens/AbstractParsedTokenVisitor.java b/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/tokens/AbstractParsedTokenVisitor.java index 5c33ab7c5..a19a46b65 100755 --- a/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/tokens/AbstractParsedTokenVisitor.java +++ b/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/tokens/AbstractParsedTokenVisitor.java @@ -15,99 +15,123 @@ import org.eclipse.xtext.parser.packrat.tokens.CompoundParsedToken.End; */ public abstract class AbstractParsedTokenVisitor implements IParsedTokenVisitor { + @Override public void visitAbstractParsedToken(AbstractParsedToken token) { throw new UnsupportedOperationException("visitAbstractParsedToken is not implemented."); } + @Override public void visitAbstractParsedTokenEnd(AbstractParsedToken.End token) { visitAbstractParsedToken(token); } + @Override public void visitCompoundParsedToken(CompoundParsedToken token) { visitParsedToken(token); } + @Override public void visitCompoundParsedTokenEnd(End token) { visitAbstractParsedTokenEnd(token); } + @Override public void visitAssignmentToken(AssignmentToken token) { visitCompoundParsedToken(token); } + @Override public void visitAssignmentTokenEnd(AssignmentToken.End token) { visitCompoundParsedTokenEnd(token); } + @Override public void visitAlternativesToken(AlternativesToken token) { visitCompoundParsedToken(token); } + @Override public void visitAlternativesTokenEnd(AlternativesToken.End token) { visitCompoundParsedTokenEnd(token); } + @Override public void visitGroupToken(GroupToken token) { visitCompoundParsedToken(token); } + @Override public void visitGroupTokenEnd(GroupToken.End token) { visitCompoundParsedTokenEnd(token); } + @Override public void visitUnorderedGroupToken(UnorderedGroupToken token) { visitCompoundParsedToken(token); } + @Override public void visitUnorderedGroupTokenEnd(UnorderedGroupToken.End token) { visitCompoundParsedTokenEnd(token); } + @Override public void visitErrorToken(ErrorToken token) { visitParsedToken(token); } + @Override public void visitFakedToken(FakedToken token) { visitAbstractParsedToken(token); } + @Override public void visitParsedNonTerminal(ParsedNonTerminal token) { visitParsedToken(token); } + @Override public void visitParsedNonTerminalEnd(ParsedNonTerminalEnd token) { visitAbstractParsedTokenEnd(token); } + @Override public void visitParsedTerminal(ParsedTerminal token) { visitParsedToken(token); } + @Override public void visitParsedTerminalWithFeatureInfo(ParsedTerminalWithFeatureInfo token) { visitParsedTerminal(token); } + @Override public void visitParsedTerminalWithFeature(ParsedTerminalWithFeature token) { visitParsedTerminalWithFeatureInfo(token); } + @Override public void visitParsedToken(ParsedToken token) { visitAbstractParsedToken(token); } + @Override public void visitParsedAction(ParsedAction token) { visitParsedToken(token); } + @Override public void visitPlaceholder(PlaceholderToken token) { visitParsedToken(token); } + @Override public Void apply(AbstractParsedToken param) { param.accept(this); return null; } + @Override public void visitParsedEnumLiteral(ParsedEnumLiteral token) { visitParsedToken(token); } diff --git a/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/tokens/AlternativesToken.java b/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/tokens/AlternativesToken.java index 8a499e3c0..565af2b99 100644 --- a/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/tokens/AlternativesToken.java +++ b/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/tokens/AlternativesToken.java @@ -42,6 +42,7 @@ public class AlternativesToken extends CompoundParsedToken implements IFurtherPa return alternative; } + @Override public AlternativesToken getToken() { return this; } @@ -52,6 +53,7 @@ public class AlternativesToken extends CompoundParsedToken implements IFurtherPa return (Source) super.getSource(); } + @Override public boolean canParseFurther() { return alternative < totalAlternatives - 1; } diff --git a/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/tokens/UnorderedGroupToken.java b/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/tokens/UnorderedGroupToken.java index 19d6818d0..a3042cc26 100644 --- a/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/tokens/UnorderedGroupToken.java +++ b/plugins/org.eclipse.xtext/packrat/org/eclipse/xtext/parser/packrat/tokens/UnorderedGroupToken.java @@ -43,6 +43,7 @@ public class UnorderedGroupToken extends CompoundParsedToken implements IFurther // return alternative; // } + @Override public UnorderedGroupToken getToken() { return this; } @@ -53,6 +54,7 @@ public class UnorderedGroupToken extends CompoundParsedToken implements IFurther return (Source) super.getSource(); } + @Override public boolean canParseFurther() { return false; // alternative < totalAlternatives - 1; } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/EcoreUtil2.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/EcoreUtil2.java index 52867cbd8..4abebb8a9 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/EcoreUtil2.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/EcoreUtil2.java @@ -230,6 +230,7 @@ public class EcoreUtil2 extends EcoreUtil { private TreeIterator it = null; private int index = 0; + @Override public void prune() { switch (index) { case 0: @@ -243,6 +244,7 @@ public class EcoreUtil2 extends EcoreUtil { } } + @Override public boolean hasNext() { if (index == 0) return true; @@ -251,6 +253,7 @@ public class EcoreUtil2 extends EcoreUtil { return false; } + @Override public EObject next() { if (index++ == 0) { it = obj.eAllContents(); @@ -261,6 +264,7 @@ public class EcoreUtil2 extends EcoreUtil { return null; } + @Override public void remove() { if (index == 0) EcoreUtil.remove(obj); @@ -272,6 +276,7 @@ public class EcoreUtil2 extends EcoreUtil { public static Iterable eAllContents(final EObject n) { return new Iterable() { + @Override public Iterator iterator() { return eAll(n); } @@ -361,6 +366,7 @@ public class EcoreUtil2 extends EcoreUtil { private static class EClassTypeHierarchyComparator implements Comparator { + @Override public int compare(EClass classA, EClass classB) { if (classA.getEAllSuperTypes().contains(classB)) return -1; diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/GrammarUtil.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/GrammarUtil.java index d0b9b7d1a..82552bd08 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/GrammarUtil.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/GrammarUtil.java @@ -441,15 +441,18 @@ public class GrammarUtil { public static Collection allEPackagesToValidate(final Grammar _this) { Iterable allTypeRefs = concat(transform(allParserRules(_this), new Function>() { + @Override public Iterable apply(ParserRule from) { return EcoreUtil2.eAllOfType(from, TypeRef.class); } })); return newLinkedHashSet(transform(filter(allTypeRefs, new Predicate() { + @Override public boolean apply(TypeRef input) { return !(input.eContainer() instanceof CrossReference) && input.getClassifier() instanceof EClass; } }), new Function() { + @Override public EPackage apply(TypeRef from) { return from.getClassifier().getEPackage(); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/IGrammarAccess.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/IGrammarAccess.java index 10eed53c3..dd588ad43 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/IGrammarAccess.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/IGrammarAccess.java @@ -24,10 +24,12 @@ public interface IGrammarAccess { } interface IEnumRuleAccess extends IAbstractRuleAccess { + @Override EnumRule getRule(); } interface IParserRuleAccess extends IAbstractRuleAccess { + @Override ParserRule getRule(); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/conversion/IValueConverter.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/conversion/IValueConverter.java index b676b0554..80976059a 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/conversion/IValueConverter.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/conversion/IValueConverter.java @@ -20,9 +20,11 @@ import org.eclipse.xtext.nodemodel.INode; public interface IValueConverter { IValueConverter NO_OP_CONVERTER = new IValueConverter() { + @Override public String toString(String value) { return value; } + @Override public String toValue(String string, INode node) { return string; } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/conversion/impl/AbstractDeclarativeValueConverterService.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/conversion/impl/AbstractDeclarativeValueConverterService.java index 8e144bdff..987439d24 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/conversion/impl/AbstractDeclarativeValueConverterService.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/conversion/impl/AbstractDeclarativeValueConverterService.java @@ -64,10 +64,12 @@ public abstract class AbstractDeclarativeValueConverterService extends AbstractV return grammar; } + @Override public String toString(Object value, String lexerRule) { return getConverter(lexerRule).toString(value); } + @Override public Object toValue(String string, String lexerRule, INode node) throws ValueConverterException { return getConverter(lexerRule).toValue(string, node); } @@ -75,6 +77,7 @@ public abstract class AbstractDeclarativeValueConverterService extends AbstractV /** * @since 2.7 */ + @Override @SuppressWarnings("unchecked") public IValueConverter getConverter(String lexerRule) { Map> map = getConverters(); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/conversion/impl/AbstractIDValueConverter.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/conversion/impl/AbstractIDValueConverter.java index 4d0b5966d..beaaa21a6 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/conversion/impl/AbstractIDValueConverter.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/conversion/impl/AbstractIDValueConverter.java @@ -80,6 +80,7 @@ public abstract class AbstractIDValueConverter extends AbstractLexerBasedConvert protected String getInvalidCharactersMessage(String value, Set invalidChars) { String chars = Joiner.on(", ").join(Iterables.transform(invalidChars, new Function() { + @Override public String apply(Character from) { return "'" + from + "' (0x" + Integer.toHexString(from) + ")"; } @@ -104,6 +105,7 @@ public abstract class AbstractIDValueConverter extends AbstractLexerBasedConvert return result; } + @Override public String toValue(String string, INode node) { if (string == null) return null; diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/conversion/impl/AbstractLexerBasedConverter.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/conversion/impl/AbstractLexerBasedConverter.java index cbeb89094..904b9c16b 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/conversion/impl/AbstractLexerBasedConverter.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/conversion/impl/AbstractLexerBasedConverter.java @@ -37,6 +37,7 @@ public abstract class AbstractLexerBasedConverter extends AbstractValueConver private AbstractRule rule; + @Override public String toString(T value) { assertValidValue(value); String result = toEscapedString(value); @@ -118,6 +119,7 @@ public abstract class AbstractLexerBasedConverter extends AbstractValueConver return rule; } + @Override public void setRule(AbstractRule rule) { this.rule = rule; } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/conversion/impl/AbstractNullSafeConverter.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/conversion/impl/AbstractNullSafeConverter.java index bb71c4174..9f506599e 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/conversion/impl/AbstractNullSafeConverter.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/conversion/impl/AbstractNullSafeConverter.java @@ -15,6 +15,7 @@ import org.eclipse.xtext.nodemodel.INode; */ public abstract class AbstractNullSafeConverter extends AbstractValueConverter { + @Override public String toString(T value) { if (value == null) return null; @@ -23,6 +24,7 @@ public abstract class AbstractNullSafeConverter extends AbstractValueConverte protected abstract String internalToString(T value); + @Override public T toValue(String string, INode node) throws ValueConverterException { if (string == null) return null; diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/conversion/impl/DefaultTerminalConverter.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/conversion/impl/DefaultTerminalConverter.java index a34263ec5..bc6bf7dc5 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/conversion/impl/DefaultTerminalConverter.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/conversion/impl/DefaultTerminalConverter.java @@ -43,6 +43,7 @@ public class DefaultTerminalConverter extends AbstractLexerBasedConverter { this.dataType = dataType; } + @Override public String toString(Object value) { return dataType.getEPackage().getEFactoryInstance().convertToString(dataType, value); } + @Override public Object toValue(String string, INode node) throws ValueConverterException { try { Object value = dataType.getEPackage().getEFactoryInstance().createFromString(dataType, string); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/conversion/impl/INTValueConverter.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/conversion/impl/INTValueConverter.java index b541cd3db..71fb39373 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/conversion/impl/INTValueConverter.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/conversion/impl/INTValueConverter.java @@ -32,6 +32,7 @@ public class INTValueConverter extends AbstractLexerBasedConverter { throw new ValueConverterException(getRuleName() + "-value may not be negative (value: " + value + ").", null, null); } + @Override public Integer toValue(String string, INode node) { if (Strings.isEmpty(string)) throw new ValueConverterException("Couldn't convert empty string to an int value.", node, null); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/conversion/impl/KeywordAlternativeConverter.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/conversion/impl/KeywordAlternativeConverter.java index bd4b9ec70..3b9ff35c3 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/conversion/impl/KeywordAlternativeConverter.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/conversion/impl/KeywordAlternativeConverter.java @@ -36,6 +36,7 @@ public class KeywordAlternativeConverter extends AbstractValueConverter private IValueConverterService delegateService; private IValueConverter delegateConverter; + @Override public String toValue(String string, INode node) throws ValueConverterException { if (keywords.contains(string)) return string; @@ -43,6 +44,7 @@ public class KeywordAlternativeConverter extends AbstractValueConverter return result; } + @Override public String toString(String value) throws ValueConverterException { if (keywords.contains(value)) return value; @@ -60,10 +62,12 @@ public class KeywordAlternativeConverter extends AbstractValueConverter final String ruleName = delegateRule.getName(); return delegateConverter = new IValueConverter() { + @Override public Object toValue(String string, INode node) throws ValueConverterException { return delegateService.toValue(string, ruleName, node); } + @Override public String toString(Object value) throws ValueConverterException { return delegateService.toString(value, ruleName); } @@ -80,6 +84,7 @@ public class KeywordAlternativeConverter extends AbstractValueConverter * @throws IllegalArgumentException if the rule is not a datatype rule or does not fulfill * the pattern
RuleName: 'keyword' | 'other';
*/ + @Override public void setRule(AbstractRule rule) { if (!GrammarUtil.isDatatypeRule(rule)) throw new IllegalArgumentException(rule.getName() + " is not a data type rule"); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/conversion/impl/KeywordBasedValueConverter.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/conversion/impl/KeywordBasedValueConverter.java index 7792955a8..45aa4f3f0 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/conversion/impl/KeywordBasedValueConverter.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/conversion/impl/KeywordBasedValueConverter.java @@ -39,10 +39,12 @@ public class KeywordBasedValueConverter extends AbstractValueConverter i private Set keywords; private AbstractRule rule; + @Override public String toValue(String string, INode node) throws ValueConverterException { return string; } + @Override public String toString(String value) throws ValueConverterException { assertValidValue(value); String result = toEscapedString(value); @@ -66,6 +68,7 @@ public class KeywordBasedValueConverter extends AbstractValueConverter i * @throws IllegalArgumentException if the rule is not a datatype rule or does not fulfill * the pattern
RuleName: 'keyword' | 'other';
*/ + @Override public void setRule(AbstractRule rule) { this.rule = rule; if (!GrammarUtil.isDatatypeRule(rule)) diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/conversion/impl/QualifiedNameValueConverter.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/conversion/impl/QualifiedNameValueConverter.java index e6c6220e7..87d90b890 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/conversion/impl/QualifiedNameValueConverter.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/conversion/impl/QualifiedNameValueConverter.java @@ -71,6 +71,7 @@ public class QualifiedNameValueConverter extends AbstractValueConverter return "ID"; } + @Override public String toString(String value) { String valueDelimiter = getValueNamespaceDelimiter(); List segments = valueDelimiter.length() == 1 ? Strings.split(value, valueDelimiter.charAt(0)) : Strings.split(value, valueDelimiter); @@ -93,6 +94,7 @@ public class QualifiedNameValueConverter extends AbstractValueConverter return result.toString(); } + @Override public String toValue(String string, INode node) throws ValueConverterException { StringBuilder buffer = new StringBuilder(); boolean isFirst = true; @@ -154,10 +156,12 @@ public class QualifiedNameValueConverter extends AbstractValueConverter final String ruleName = getDelegateRuleName(); return delegateConverter = new IValueConverter() { + @Override public Object toValue(String string, INode node) throws ValueConverterException { return valueConverterService.toValue(string, ruleName, node); } + @Override public String toString(Object value) throws ValueConverterException { return valueConverterService.toString(value, ruleName); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/conversion/impl/STRINGValueConverter.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/conversion/impl/STRINGValueConverter.java index f3b4a1304..d7fe37f81 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/conversion/impl/STRINGValueConverter.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/conversion/impl/STRINGValueConverter.java @@ -22,6 +22,7 @@ public class STRINGValueConverter extends AbstractLexerBasedConverter { return '"' + Strings.convertToJavaString(value, false) + '"'; } + @Override public String toValue(String string, INode node) { if (string == null) return null; diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/debug/IStratumBreakpointSupport.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/debug/IStratumBreakpointSupport.java index 39dc22989..5494be0f6 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/debug/IStratumBreakpointSupport.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/debug/IStratumBreakpointSupport.java @@ -21,6 +21,7 @@ public interface IStratumBreakpointSupport { public static class DefaultImpl implements IStratumBreakpointSupport { + @Override public boolean isValidLineForBreakPoint(XtextResource resource, int line) { return false; } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/diagnostics/AbstractDiagnostic.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/diagnostics/AbstractDiagnostic.java index f6ac185a7..a241f2e70 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/diagnostics/AbstractDiagnostic.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/diagnostics/AbstractDiagnostic.java @@ -23,6 +23,7 @@ public abstract class AbstractDiagnostic implements Diagnostic { public abstract String[] getData(); + @Override public int getLength() { INode node = getNode(); if (node != null) @@ -30,6 +31,7 @@ public abstract class AbstractDiagnostic implements Diagnostic { return 1; } + @Override public int getOffset() { INode node = getNode(); if (node != null) @@ -37,10 +39,12 @@ public abstract class AbstractDiagnostic implements Diagnostic { return 0; } + @Override public int getColumn() { throw new UnsupportedOperationException(); } + @Override public int getLine() { INode node = getNode(); if (node != null) @@ -48,6 +52,7 @@ public abstract class AbstractDiagnostic implements Diagnostic { return -1; } + @Override public String getLocation() { return null; } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/diagnostics/AbstractDiagnosticProducer.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/diagnostics/AbstractDiagnosticProducer.java index eb5a755c1..95cb0a82c 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/diagnostics/AbstractDiagnosticProducer.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/diagnostics/AbstractDiagnosticProducer.java @@ -26,20 +26,24 @@ public abstract class AbstractDiagnosticProducer implements IDiagnosticProducer this.consumer = consumer; } + @Override public void addDiagnostic(DiagnosticMessage message) { consumer.consume(createDiagnostic(message), message.getSeverity()); } protected abstract Diagnostic createDiagnostic(DiagnosticMessage message); + @Override public void setNode(INode node) { this.node = node; } + @Override public INode getNode() { return node; } + @Override public void setTarget(EObject object, EStructuralFeature feature) { // nothing to do } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/diagnostics/AbstractDiagnosticProducerDecorator.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/diagnostics/AbstractDiagnosticProducerDecorator.java index 6b9f23598..b27d7935d 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/diagnostics/AbstractDiagnosticProducerDecorator.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/diagnostics/AbstractDiagnosticProducerDecorator.java @@ -23,18 +23,22 @@ public class AbstractDiagnosticProducerDecorator implements IDiagnosticProducer this.producer = producer; } + @Override public void addDiagnostic(DiagnosticMessage message) { producer.addDiagnostic(message); } + @Override public INode getNode() { return producer.getNode(); } + @Override public void setNode(INode node) { producer.setNode(node); } + @Override public void setTarget(EObject object, EStructuralFeature feature) { producer.setTarget(object, feature); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/diagnostics/ExceptionDiagnostic.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/diagnostics/ExceptionDiagnostic.java index cac56dfb4..1b8d7adbe 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/diagnostics/ExceptionDiagnostic.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/diagnostics/ExceptionDiagnostic.java @@ -18,26 +18,32 @@ public class ExceptionDiagnostic implements Diagnostic { this.exception = exception; } + @Override public int getLength() { return 1; } + @Override public int getOffset() { return 0; } + @Override public int getColumn() { return 0; } + @Override public int getLine() { return 1; } + @Override public String getLocation() { return null; } + @Override public String getMessage() { return exception.getClass().getSimpleName() + ": " + exception.getMessage() + " (see logs for details)"; } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/diagnostics/NullDiagnosticProducer.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/diagnostics/NullDiagnosticProducer.java index c690cee68..762d897df 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/diagnostics/NullDiagnosticProducer.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/diagnostics/NullDiagnosticProducer.java @@ -16,18 +16,22 @@ import org.eclipse.xtext.nodemodel.INode; */ public class NullDiagnosticProducer implements IDiagnosticProducer { + @Override public void addDiagnostic(DiagnosticMessage message) { // nothing to do } + @Override public INode getNode() { return null; } + @Override public void setNode(INode node) { // nothing to do } + @Override public void setTarget(EObject object, EStructuralFeature feature) { // nothing to do } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/documentation/impl/MultiLineCommentDocumentationProvider.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/documentation/impl/MultiLineCommentDocumentationProvider.java index ddfa4ebef..d6f0f352c 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/documentation/impl/MultiLineCommentDocumentationProvider.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/documentation/impl/MultiLineCommentDocumentationProvider.java @@ -57,6 +57,7 @@ public class MultiLineCommentDocumentationProvider extends AbstractMultiLineComm * @return a list with exactly one node or an empty list if the object is undocumented. */ /* @NonNull */ + @Override public List getDocumentationNodes(/* @NonNull */ EObject object) { ICompositeNode node = NodeModelUtils.getNode(object); List result = Collections.emptyList(); @@ -77,6 +78,7 @@ public class MultiLineCommentDocumentationProvider extends AbstractMultiLineComm return result; } + @Override public String getDocumentation(EObject o) { String returnValue = findComment(o); return getTextFromMultilineComment(returnValue); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/documentation/impl/MultiLineFileHeaderProvider.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/documentation/impl/MultiLineFileHeaderProvider.java index b9e14bc06..49f455b1e 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/documentation/impl/MultiLineFileHeaderProvider.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/documentation/impl/MultiLineFileHeaderProvider.java @@ -46,6 +46,7 @@ public class MultiLineFileHeaderProvider extends AbstractMultiLineCommentProvide * @return a list with exactly one node or an empty list if there is no header is undocumented. */ /* @NonNull */ + @Override public List getFileHeaderNodes(Resource resource) { if (resource instanceof XtextResource) { IParseResult parseResult = ((XtextResource) resource).getParseResult(); @@ -67,6 +68,7 @@ public class MultiLineFileHeaderProvider extends AbstractMultiLineCommentProvide return Collections.emptyList(); } + @Override public String getFileHeader(Resource resource) { String returnValue = findFileHeader(resource); return getTextFromMultilineComment(returnValue); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/documentation/impl/MultiLineJavaDocTypeReferenceProvider.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/documentation/impl/MultiLineJavaDocTypeReferenceProvider.java index 7a56ab059..04b28aaeb 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/documentation/impl/MultiLineJavaDocTypeReferenceProvider.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/documentation/impl/MultiLineJavaDocTypeReferenceProvider.java @@ -27,6 +27,7 @@ public class MultiLineJavaDocTypeReferenceProvider implements IJavaDocTypeRefere @Deprecated protected String lineDelimiter = System.getProperty("line.separator"); + @Override public List computeTypeRefRegions(INode node) { List regions = Lists.newArrayList(); Iterable leafNodes = node.getLeafNodes(); @@ -35,6 +36,7 @@ public class MultiLineJavaDocTypeReferenceProvider implements IJavaDocTypeRefere return regions; } + @Override public List computeParameterTypeRefRegions(INode node) { List regions = Lists.newArrayList(); Iterable leafNodes = node.getLeafNodes(); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/findReferences/ReferenceFinder.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/findReferences/ReferenceFinder.java index 689e912a3..78fd06fdf 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/findReferences/ReferenceFinder.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/findReferences/ReferenceFinder.java @@ -57,6 +57,7 @@ public class ReferenceFinder implements IReferenceFinder { return serviceProviderRegistry; } + @Override public void findReferences( TargetURIs targetURIs, Set candidates, @@ -112,6 +113,7 @@ public class ReferenceFinder implements IReferenceFinder { } } + @Override public void findReferences(TargetURIs targetURIs, Resource resource, Acceptor acceptor, IProgressMonitor monitor) { for (EObject content : resource.getContents()) { if (monitor.isCanceled()) { @@ -121,6 +123,7 @@ public class ReferenceFinder implements IReferenceFinder { } } + @Override public void findReferences(final TargetURIs targetURIs, IResourceDescription resourceDescription, IResourceAccess resourceAccess, final Acceptor acceptor, final IProgressMonitor monitor) { final URI resourceURI = resourceDescription.getURI(); @@ -147,6 +150,7 @@ public class ReferenceFinder implements IReferenceFinder { } } + @Override public void findAllReferences(TargetURIs targetURIs, IResourceAccess resourceAccess, IResourceDescriptions indexData, Acceptor acceptor, IProgressMonitor monitor) { if (!targetURIs.isEmpty()) { diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/findReferences/TargetURISet.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/findReferences/TargetURISet.java index 80c838d67..55e96f318 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/findReferences/TargetURISet.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/findReferences/TargetURISet.java @@ -44,6 +44,7 @@ public class TargetURISet extends AbstractSet implements TargetURIs { return Iterators.unmodifiableIterator(uris.iterator()); } + @Override public T getUserData(Key key) { if (userData == null) { return null; @@ -56,6 +57,7 @@ public class TargetURISet extends AbstractSet implements TargetURIs { return type.cast(result); } + @Override public void putUserData(Key key, T data) { if (userData == null) { userData = Maps.newHashMap(); @@ -63,30 +65,36 @@ public class TargetURISet extends AbstractSet implements TargetURIs { userData.put(key, data); } + @Override public void addURI(URI uri) { if (uris.add(uri)) { index.put(uri.trimFragment(), uri); } } + @Override public void addAllURIs(Iterable uris) { for(URI uri: uris) { addURI(uri); } } + @Override public Collection getTargetResourceURIs() { return Collections.unmodifiableCollection(index.keySet()); } + @Override public Collection getEObjectURIs(URI resourceURI) { return Collections.unmodifiableCollection(index.get(resourceURI)); } + @Override public boolean contains(URI uri) { return uris.contains(uri); } + @Override public boolean containsResource(URI resourceURI) { return index.containsKey(resourceURI); } @@ -161,6 +169,7 @@ public class TargetURISet extends AbstractSet implements TargetURIs { return uris.size(); } + @Override public Set asSet() { return this; } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting/IIndentationInformation.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting/IIndentationInformation.java index 3a986e338..3831f9b08 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting/IIndentationInformation.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting/IIndentationInformation.java @@ -23,6 +23,7 @@ public interface IIndentationInformation { * @since 2.2 */ class Default implements IIndentationInformation{ + @Override public String getIndentString() { return "\t"; } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting/ILineSeparatorInformation.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting/ILineSeparatorInformation.java index 824e8bb42..fb339deed 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting/ILineSeparatorInformation.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting/ILineSeparatorInformation.java @@ -20,6 +20,7 @@ public interface ILineSeparatorInformation { class Default implements ILineSeparatorInformation { + @Override public String getLineSeparator() { return System.getProperty("line.separator"); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting/IWhitespaceInformationProvider.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting/IWhitespaceInformationProvider.java index 9e934e66c..61a36b23a 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting/IWhitespaceInformationProvider.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting/IWhitespaceInformationProvider.java @@ -30,10 +30,12 @@ public interface IWhitespaceInformationProvider { @Inject private ILineSeparatorInformation lineSeparatorInformation; + @Override public IIndentationInformation getIndentationInformation(URI uri) { return indentationInformation; } + @Override public ILineSeparatorInformation getLineSeparatorInformation(URI uri) { return lineSeparatorInformation; } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting/impl/AbstractFormatter.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting/impl/AbstractFormatter.java index 9579752c1..d5c588bc5 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting/impl/AbstractFormatter.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting/impl/AbstractFormatter.java @@ -18,6 +18,7 @@ import org.eclipse.xtext.parsetree.reconstr.ITokenStream; */ public abstract class AbstractFormatter implements IFormatter, IFormatterExtension { + @Override public ITokenStream createFormatterStream(String initalIndentation, ITokenStream outputStream, boolean preserveWhitespaces) { return null; @@ -26,6 +27,7 @@ public abstract class AbstractFormatter implements IFormatter, IFormatterExtensi /** * @since 2.3 */ + @Override public ITokenStream createFormatterStream(EObject context, String initalIndentation, ITokenStream outputStream, boolean preserveWhitespaces) { return createFormatterStream(initalIndentation, outputStream, preserveWhitespaces); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting/impl/AbstractFormattingConfig.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting/impl/AbstractFormattingConfig.java index 9bcc267af..7824e3372 100755 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting/impl/AbstractFormattingConfig.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting/impl/AbstractFormattingConfig.java @@ -40,10 +40,12 @@ public abstract class AbstractFormattingConfig { super(locator, before, after); } + @Override public AbstractElement matchAfter() { return after; } + @Override public AbstractElement matchBefore() { return before; } @@ -54,6 +56,7 @@ public abstract class AbstractFormattingConfig { super(locator, before, after); } + @Override public Pair matchBetween() { return Tuples.create(after, before); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting/impl/AbstractNodeModelFormatter.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting/impl/AbstractNodeModelFormatter.java index efd93fddb..27dd2f1ec 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting/impl/AbstractNodeModelFormatter.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting/impl/AbstractNodeModelFormatter.java @@ -30,20 +30,24 @@ public abstract class AbstractNodeModelFormatter implements INodeModelFormatter this.offset = offset; } + @Override public String getFormattedText() { return formattedText; } + @Override public int getLength() { return lengt; } + @Override public int getOffset() { return offset; } } + @Override public IFormattedRegion format(ICompositeNode root, int offset, int length) { return null; } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting/impl/AbstractTokenStream.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting/impl/AbstractTokenStream.java index c4d339277..cd45ee52f 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting/impl/AbstractTokenStream.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting/impl/AbstractTokenStream.java @@ -19,18 +19,22 @@ import org.eclipse.xtext.parsetree.reconstr.ITokenStreamExtension; public abstract class AbstractTokenStream implements ITokenStreamExtension { + @Override public void flush() throws IOException { } + @Override public void writeHidden(EObject grammarElement, String value) throws IOException { } + @Override public void writeSemantic(EObject grammarElement, String value) throws IOException { } /** * @since 2.0 */ + @Override public void init(ParserRule startRule) { } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting/impl/ElementMatcherProvider.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting/impl/ElementMatcherProvider.java index 3b7288c11..52708cec7 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting/impl/ElementMatcherProvider.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting/impl/ElementMatcherProvider.java @@ -75,6 +75,7 @@ public class ElementMatcherProvider implements IElementMatcherProvider { return result; } + @Override public Pair findTopmostRuleCall(Predicate predicate) { for (int i = ruleCallStack.size() - 1; i >= 0; i--) if (predicate.apply((RuleCall) ruleCallStack.get(i).getGrammarElement())) @@ -146,6 +147,7 @@ public class ElementMatcherProvider implements IElementMatcherProvider { return result; } + @Override @SuppressWarnings("unchecked") public Collection finish() { if (lastState != null) { @@ -261,10 +263,12 @@ public class ElementMatcherProvider implements IElementMatcherProvider { /** * @since 2.0 */ + @Override public void init(ParserRule rule) { lastState = nfaProvider.getNFA(rule.getAlternatives()); } + @Override public Collection matchNext(AbstractElement nextElement) { Pair, List> path = findTransitionPath(lastState, nextElement, false, true, Sets.> newHashSet()); @@ -312,6 +316,7 @@ public class ElementMatcherProvider implements IElementMatcherProvider { @Inject protected MatcherNFAProvider nfaProvider; + @Override public IElementMatcher createMatcher(Iterable rules) { return new TransitionMatcher(grammar, nfaProvider, rules); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting/impl/FormattingConfigBasedStream.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting/impl/FormattingConfigBasedStream.java index 2b63703e1..24e02c732 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting/impl/FormattingConfigBasedStream.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting/impl/FormattingConfigBasedStream.java @@ -463,6 +463,7 @@ public class FormattingConfigBasedStream extends BaseTokenStream { protected Pair findTopmostHiddenTokenDef() { return matcher.findTopmostRuleCall(new Predicate() { + @Override public boolean apply(RuleCall input) { return ((ParserRule) input.getRule()).isDefinesHiddenTokens(); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting/impl/MatcherNFAProvider.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting/impl/MatcherNFAProvider.java index b636fd8a1..de6d81306 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting/impl/MatcherNFAProvider.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting/impl/MatcherNFAProvider.java @@ -47,6 +47,7 @@ public class MatcherNFAProvider extends AbstractNFAProvider nodes = getLeafs(in, offset, offset + length); if (nodes.isEmpty()) diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/AbstractFormatter2.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/AbstractFormatter2.java index 3f5e8e59f..ed6fa8e82 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/AbstractFormatter2.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/AbstractFormatter2.java @@ -202,6 +202,7 @@ public abstract class AbstractFormatter2 implements IFormatter2 { return new WhitespaceReplacer(hiddens, formatting); } + @Override final public List format(FormatterRequest request) { try { initalize(request); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/FormatterPreferenceValuesProvider.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/FormatterPreferenceValuesProvider.java index 338b5102b..97a909eb9 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/FormatterPreferenceValuesProvider.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/FormatterPreferenceValuesProvider.java @@ -21,6 +21,7 @@ public class FormatterPreferenceValuesProvider implements IPreferenceValuesProvi @Inject private IPreferenceValuesProvider valuesProvider; + @Override public IPreferenceValues getPreferenceValues(final Resource resource) { final IPreferenceValues preferenceValues = internalGetRawPreferenceValues(resource); final String indent = whitespaceInfo.getIndentationInformation(resource.getURI()).getIndentString(); @@ -28,6 +29,7 @@ public class FormatterPreferenceValuesProvider implements IPreferenceValuesProvi return new IPreferenceValues() { + @Override public String getPreference(PreferenceKey key) { if (key == FormatterPreferenceKeys.indentation) { return indent; diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/ITextReplacer.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/ITextReplacer.java index 714334062..091024eba 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/ITextReplacer.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/ITextReplacer.java @@ -22,6 +22,7 @@ import com.google.common.base.Function; public interface ITextReplacer { public final static Function GET_REGION = new Function() { + @Override public ITextSegment apply(ITextReplacer input) { return input.getRegion(); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/debug/HiddenRegionFormattingToString.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/debug/HiddenRegionFormattingToString.java index 1cb1cf446..30584eca4 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/debug/HiddenRegionFormattingToString.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/debug/HiddenRegionFormattingToString.java @@ -21,6 +21,7 @@ import com.google.common.collect.Lists; * @author Moritz Eysholdt - Initial contribution and API */ public class HiddenRegionFormattingToString implements Function { + @Override public String apply(IHiddenRegionFormatting gapFormatting) { String space = gapFormatting.getSpace(); Integer nlMin = gapFormatting.getNewLineMin(); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/AbstractTextReplacer.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/AbstractTextReplacer.java index 6c9265d57..438634d85 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/AbstractTextReplacer.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/AbstractTextReplacer.java @@ -30,6 +30,7 @@ public abstract class AbstractTextReplacer implements ITextReplacer { return document; } + @Override public ITextSegment getRegion() { return region; } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/AbstractTextSegment.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/AbstractTextSegment.java index 6f4a25994..5a3110873 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/AbstractTextSegment.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/AbstractTextSegment.java @@ -23,6 +23,7 @@ import com.google.common.collect.Lists; */ public abstract class AbstractTextSegment implements ITextSegment { + @Override public int compareTo(ITextSegment o) { int cmp1 = getOffset() - o.getOffset(); if (cmp1 != 0) @@ -33,11 +34,13 @@ public abstract class AbstractTextSegment implements ITextSegment { return 0; } + @Override public boolean contains(int offset) { int thisOffset = this.getOffset(); return offset >= thisOffset && offset < thisOffset + this.getLength(); } + @Override public boolean contains(ITextRegion other) { int offset = getOffset(); int length = getLength(); @@ -52,18 +55,22 @@ public abstract class AbstractTextSegment implements ITextSegment { return getOffset() == other.getOffset() && getLength() == other.getLength(); } + @Override public int getEndOffset() { return getOffset() + getLength(); } + @Override public ITextSegment getIndentation() { return getTextRegionAccess().indentationRegion(getOffset()); } + @Override public int getLineCount() { return Strings.countLines(getText()); } + @Override public String getText() { ITextRegionAccess tokenAccess = getTextRegionAccess(); if (tokenAccess != null) @@ -76,10 +83,12 @@ public abstract class AbstractTextSegment implements ITextSegment { return getOffset() + (31 * getLength()); } + @Override public boolean isMultiline() { return getText().contains("\n"); } + @Override public ITextRegion merge(ITextRegion other) { if (contains(other)) return this; @@ -92,6 +101,7 @@ public abstract class AbstractTextSegment implements ITextSegment { return new TextRegion(newOffset, newLength); } + @Override public List splitIntoLines() { ITextRegionAccess access = getTextRegionAccess(); List result = Lists.newArrayList(); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/ArrayListTextSegmentSet.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/ArrayListTextSegmentSet.java index 349c12eee..4a7cfbdaf 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/ArrayListTextSegmentSet.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/ArrayListTextSegmentSet.java @@ -102,6 +102,7 @@ public class ArrayListTextSegmentSet extends TextSegmentSet { } } + @Override public Iterator iterator() { return Iterables.unmodifiableIterable(contents).iterator(); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/CommentReplacer.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/CommentReplacer.java index 1085a09c1..d2c1c96df 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/CommentReplacer.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/CommentReplacer.java @@ -28,6 +28,7 @@ public abstract class CommentReplacer implements ITextReplacer { return comment; } + @Override public ITextSegment getRegion() { return comment; } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/ConditionalReplacer.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/ConditionalReplacer.java index e733075cc..0d641c8bb 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/ConditionalReplacer.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/ConditionalReplacer.java @@ -28,6 +28,7 @@ public class ConditionalReplacer extends AbstractTextReplacer implements ICompos this.subFormatters = subFormatters; } + @Override public ITextReplacerContext createReplacements(ITextReplacerContext context) { context.setNextReplacerIsChild(); for (ISubFormatter formatter : subFormatters) { @@ -48,6 +49,7 @@ public class ConditionalReplacer extends AbstractTextReplacer implements ICompos throw new FormattingNotApplicableException(); } + @Override public void addReplacer(ITextReplacer replacer) { replacers.add(replacer); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/FormattableDocument.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/FormattableDocument.java index 382f465d0..2f442f8eb 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/FormattableDocument.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/FormattableDocument.java @@ -52,6 +52,7 @@ public abstract class FormattableDocument implements IFormattableDocument { this.replacers = createTextReplacerSet(); } + @Override public void addReplacer(ITextReplacer replacer) { if (!this.getRegion().contains(replacer.getRegion())) { String frameTitle = getClass().getSimpleName(); @@ -71,6 +72,7 @@ public abstract class FormattableDocument implements IFormattableDocument { } } + @Override public ISemanticRegion append(ISemanticRegion token, Procedure1 after) { if (token != null) { IHiddenRegion gap = token.getNextHiddenRegion(); @@ -79,6 +81,7 @@ public abstract class FormattableDocument implements IFormattableDocument { return token; } + @Override public T append(T owner, Procedure1 after) { if (owner != null) { IHiddenRegion gap = getTextRegionAccess().trailingHiddenRegion(owner); @@ -152,12 +155,14 @@ public abstract class FormattableDocument implements IFormattableDocument { protected TextSegmentSet createTextReplacerSet() { return new ArrayListTextSegmentSet(ITextReplacer.GET_REGION, new Function() { + @Override public String apply(ITextReplacer input) { return input.getClass().getSimpleName(); } }); } + @Override public void formatConditionally(EObject owner, ISubFormatter... formatters) { ITextRegionAccess access = getTextRegionAccess(); int offset = access.leadingHiddenRegion(owner).getEndOffset(); @@ -165,6 +170,7 @@ public abstract class FormattableDocument implements IFormattableDocument { formatConditionally(offset, length, formatters); } + @Override public void formatConditionally(int offset, int length, ISubFormatter... formatters) throws FormattingNotApplicableException { ConditionalReplacer replacer = new ConditionalReplacer(this, offset, length, ImmutableList.copyOf(formatters)); @@ -196,6 +202,7 @@ public abstract class FormattableDocument implements IFormattableDocument { return false; } + @Override public ISemanticRegion prepend(ISemanticRegion token, Procedure1 before) { if (token != null) { IHiddenRegion gap = token.getPreviousHiddenRegion(); @@ -204,6 +211,7 @@ public abstract class FormattableDocument implements IFormattableDocument { return token; } + @Override public T prepend(T owner, Procedure1 before) { if (owner != null) { IHiddenRegion gap = getTextRegionAccess().leadingHiddenRegion(owner); @@ -219,6 +227,7 @@ public abstract class FormattableDocument implements IFormattableDocument { return replacements; } + @Override public IHiddenRegion set(IHiddenRegion hiddenRegion, Procedure1 init) { if (hiddenRegion != null) { AbstractFormatter2 formatter = getFormatter(); @@ -230,12 +239,14 @@ public abstract class FormattableDocument implements IFormattableDocument { return hiddenRegion; } + @Override public ISemanticRegion surround(ISemanticRegion token, Procedure1 beforeAndAfter) { prepend(token, beforeAndAfter); append(token, beforeAndAfter); return token; } + @Override public T surround(T owner, Procedure1 beforeAndAfter) { prepend(owner, beforeAndAfter); append(owner, beforeAndAfter); @@ -252,6 +263,7 @@ public abstract class FormattableDocument implements IFormattableDocument { return toString.toString(); } + @Override public IFormattableSubDocument withReplacerFilter(Predicate filter) { return new FilteredSubDocument(getRegion(), this, filter); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/HiddenRegionFormatting.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/HiddenRegionFormatting.java index 7742076ff..a29066cab 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/HiddenRegionFormatting.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/HiddenRegionFormatting.java @@ -35,27 +35,33 @@ public class HiddenRegionFormatting implements IHiddenRegionFormatter, IHiddenRe this.formatter = formatter; } + @Override public IHiddenRegionFormatting asBean() { return this; } + @Override public IHiddenRegionFormatter asFormatter() { return this; } + @Override public void autowrap() { if (this.autowrap == null || this.autowrap < 0) this.autowrap = 0; // TODO: can newLineMax = 0 suppress autowrap? } + @Override public void autowrap(int triggerLenght) { autowrap = triggerLenght; } + @Override public void decreaseIndentation() { indentationDecrease = indentationDecrease == null ? 1 : indentationDecrease + 1; } + @Override public Integer getAutowrap() { return this.autowrap; } @@ -64,54 +70,67 @@ public class HiddenRegionFormatting implements IHiddenRegionFormatter, IHiddenRe return formatter; } + @Override public Integer getIndentationDecrease() { return indentationDecrease; } + @Override public Integer getIndentationIncrease() { return indentationIncrease; } + @Override public Integer getNewLineDefault() { return newLineDefault; } + @Override public Integer getNewLineMax() { return newLineMax; } + @Override public Integer getNewLineMin() { return newLineMin; } + @Override public Boolean getNoIndetation() { return noIndentation; } + @Override public IAutowrapFormatter getOnAutowrap() { return onAutowrap; } + @Override public int getPriority() { return priority; } + @Override public FormatterRequest getRequest() { return formatter.getRequest(); } + @Override public String getSpace() { return space; } + @Override public void highPriority() { setPriority(IHiddenRegionFormatter.HIGH_PRIORITY); } + @Override public void increaseIndentation() { indentationIncrease = indentationIncrease == null ? 1 : indentationIncrease + 1; } + @Override public void lowPriority() { setPriority(IHiddenRegionFormatter.LOW_PRIORITY); } @@ -128,6 +147,7 @@ public class HiddenRegionFormatting implements IHiddenRegionFormatter, IHiddenRe return val1 != null ? val1 : val2; } + @Override public void mergeValuesFrom(IHiddenRegionFormatting other) throws ConflictingFormattingException { int strategy = other.getPriority() - getPriority(); setSpace(merge(getSpace(), other.getSpace(), strategy, "space")); @@ -150,50 +170,62 @@ public class HiddenRegionFormatting implements IHiddenRegionFormatter, IHiddenRe .getIndentationDecrease()); } + @Override public void newLine() { setNewLines(1); } + @Override public void noAutowrap() { this.autowrap = -1; } + @Override public void noIndentation() { this.noIndentation = Boolean.TRUE; } + @Override public void noSpace() { setSpace(""); } + @Override public void oneSpace() { setSpace(" "); } + @Override public void setAutowrap(Integer value) { this.autowrap = value; } + @Override public void setDecreaseIndentation(int indentation) { this.indentationDecrease = indentation; } + @Override public void setIncreaseIndentation(int indentation) { this.indentationIncrease = indentation; } + @Override public void setIndentationDecrease(Integer indentation) { this.indentationDecrease = indentation; } + @Override public void setIndentationIncrease(Integer indentation) { this.indentationIncrease = indentation; } + @Override public void setNewLines(int newLines) { setNewLines(newLines, newLines, newLines); } + @Override public void setNewLines(int minNewLines, int defaultNewLines, int maxNewLines) { Preconditions.checkArgument(minNewLines >= 0); Preconditions.checkArgument(defaultNewLines >= 0); @@ -203,31 +235,38 @@ public class HiddenRegionFormatting implements IHiddenRegionFormatter, IHiddenRe this.newLineMax = maxNewLines; } + @Override public void setNewLinesDefault(Integer newLines) { this.newLineDefault = newLines; } + @Override public void setNewLinesMax(Integer newLines) { this.newLineMax = newLines; } + @Override public void setNewLinesMin(Integer newLines) { this.newLineMin = newLines; } + @Override public void setNoIndentation(Boolean value) { this.noIndentation = value; } + @Override public void setOnAutowrap(IAutowrapFormatter formatter) { autowrap(); this.onAutowrap = formatter; } + @Override public void setPriority(int priority) { this.priority = priority; } + @Override public void setSpace(String space) { this.space = space; } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/HiddenRegionFormattingMerger.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/HiddenRegionFormattingMerger.java index bd88b2b9b..548c9c41e 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/HiddenRegionFormattingMerger.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/HiddenRegionFormattingMerger.java @@ -25,6 +25,7 @@ public class HiddenRegionFormattingMerger implements IMerger conflicting) { if (conflicting.size() == 2) { // TODO: don't do this diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/HiddenRegionReplacer.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/HiddenRegionReplacer.java index d889c2305..adc984a00 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/HiddenRegionReplacer.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/HiddenRegionReplacer.java @@ -86,6 +86,7 @@ public class HiddenRegionReplacer implements ITextReplacer { } } + @Override public ITextReplacerContext createReplacements(ITextReplacerContext context) { AbstractFormatter2 formatter = context.getFormatter(); List hiddens = region.getParts(); @@ -155,6 +156,7 @@ public class HiddenRegionReplacer implements ITextReplacer { return formatting; } + @Override public IHiddenRegion getRegion() { return region; } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/MultilineCommentReplacer.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/MultilineCommentReplacer.java index 74e62aed9..93111c75e 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/MultilineCommentReplacer.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/MultilineCommentReplacer.java @@ -38,6 +38,7 @@ public class MultilineCommentReplacer extends CommentReplacer { } } + @Override public ITextReplacerContext createReplacements(ITextReplacerContext context) { if (!multiline) return context; diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/RegionComparator.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/RegionComparator.java index 0152ea0cf..b1b81f49f 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/RegionComparator.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/RegionComparator.java @@ -25,6 +25,7 @@ public class RegionComparator implements Comparator { return regionAccess; } + @Override public int compare(T t1, T t2) { ITextRegion o1 = regionAccess.apply(t1); ITextRegion o2 = regionAccess.apply(t2); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/RootDocument.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/RootDocument.java index f1d3cfec4..0f262630d 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/RootDocument.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/RootDocument.java @@ -23,14 +23,17 @@ public class RootDocument extends FormattableDocument { this.formatter = formatter; } + @Override public AbstractFormatter2 getFormatter() { return formatter; } + @Override public ITextSegment getRegion() { return (ITextSegment) formatter.getRequest().getTextRegionAccess(); } + @Override public FormatterRequest getRequest() { return formatter.getRequest(); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/SinglelineCodeCommentReplacer.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/SinglelineCodeCommentReplacer.java index 929b5952c..ae597a616 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/SinglelineCodeCommentReplacer.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/SinglelineCodeCommentReplacer.java @@ -19,6 +19,7 @@ public class SinglelineCodeCommentReplacer extends SinglelineCommentReplacer { super(comment, prefix); } + @Override public ITextReplacerContext createReplacements(ITextReplacerContext context) { return context; } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/SinglelineDocCommentReplacer.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/SinglelineDocCommentReplacer.java index fa055264f..b2b49df6f 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/SinglelineDocCommentReplacer.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/SinglelineDocCommentReplacer.java @@ -20,6 +20,7 @@ public class SinglelineDocCommentReplacer extends SinglelineCommentReplacer { super(comment, prefix); } + @Override public ITextReplacerContext createReplacements(ITextReplacerContext context) { ITextSegment firstSpace = getFirstSpace(); if (firstSpace != null) { diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/SubDocument.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/SubDocument.java index f37d2b121..0d9741f0e 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/SubDocument.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/SubDocument.java @@ -37,18 +37,22 @@ public class SubDocument extends FormattableDocument implements IFormattableSubD return ((TextReplacerContext) super.createReplacements(context)).withDocument(previous.getDocument()); } + @Override public AbstractFormatter2 getFormatter() { return parent.getFormatter(); } + @Override public ITextSegment getRegion() { return region; } + @Override public FormatterRequest getRequest() { return parent.getRequest(); } + @Override public IFormattableSubDocument requireFitsInLine() { return requireFitsInLine(region.getOffset(), region.getLength()); } @@ -58,6 +62,7 @@ public class SubDocument extends FormattableDocument implements IFormattableSubD return requireFitsInLine(offset, length, maxLineWidth); } + @Override public IFormattableSubDocument requireFitsInLine(int offset, int length, int maxLineWidth) { TextSegment segment = new TextSegment(getTextRegionAccess(), offset, length); MaxLineWidthDocument document = new MaxLineWidthDocument(segment, this, maxLineWidth); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/TextReplacement.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/TextReplacement.java index 226492754..8c72e371c 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/TextReplacement.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/TextReplacement.java @@ -24,18 +24,22 @@ public class TextReplacement extends AbstractTextSegment implements ITextReplace this.replacement = text; } + @Override public int getLength() { return length; } + @Override public int getOffset() { return offset; } + @Override public String getReplacementText() { return replacement; } + @Override public ITextRegionAccess getTextRegionAccess() { return tokens; } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/TextReplacerContext.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/TextReplacerContext.java index 216f3faf2..d745421de 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/TextReplacerContext.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/TextReplacerContext.java @@ -51,6 +51,7 @@ public class TextReplacerContext implements ITextReplacerContext { this.replacements = createTextReplacementsSet(); } + @Override public Integer canAutowrap() { return canAutowrap; } @@ -58,33 +59,40 @@ public class TextReplacerContext implements ITextReplacerContext { protected TextSegmentSet createTextReplacementsSet() { return new ArrayListTextSegmentSet(Functions. identity(), new Function() { + @Override public String apply(ITextReplacement input) { return input.getReplacementText(); } }); } + @Override public IFormattableDocument getDocument() { return document; } + @Override public AbstractFormatter2 getFormatter() { return document.getFormatter(); } + @Override public int getIndentation() { return this.indentation; } + @Override public String getIndentationString() { return getIndentationString(getIndentation()); } + @Override public String getIndentationString(int indentationLevel) { AbstractFormatter2 formatter = document.getFormatter(); return Strings.repeat(formatter.getPreference(FormatterPreferenceKeys.indentation), indentationLevel); } + @Override public int getLeadingCharsInLineCount() { ITextRegionAccess access = getDocument().getRequest().getTextRegionAccess(); int lastOffset = replacer.getRegion().getOffset(); @@ -121,6 +129,7 @@ public class TextReplacerContext implements ITextReplacerContext { return count; } + @Override public Iterable getLocalReplacements() { if (replacements != null) return replacements; @@ -128,14 +137,17 @@ public class TextReplacerContext implements ITextReplacerContext { return Collections. emptyList(); } + @Override public String getNewLinesString(int count) { return Strings.repeat(document.getFormatter().getPreference(FormatterPreferenceKeys.lineSeparator), count); } + @Override public ITextReplacerContext getPreviousContext() { return previous; } + @Override public List getReplacementsUntil(ITextReplacerContext first) { ITextReplacerContext current = this; List> reversedReplacements = Lists.newArrayList(); @@ -154,10 +166,12 @@ public class TextReplacerContext implements ITextReplacerContext { return flattenedReplacements; } + @Override public ITextReplacer getReplacer() { return replacer; } + @Override public boolean isAutowrap() { return autowrap; } @@ -172,6 +186,7 @@ public class TextReplacerContext implements ITextReplacerContext { return false; } + @Override public boolean isInsideFormattedRegion() { return true; // TODO: implement } @@ -191,18 +206,21 @@ public class TextReplacerContext implements ITextReplacerContext { return length; } + @Override public void replaceText(CharSequence text) { Preconditions.checkNotNull(replacer); ITextSegment region = replacer.getRegion(); replaceText(region.getOffset(), region.getLength(), text); } + @Override public void replaceText(int offset, int lenght, CharSequence text) { Preconditions.checkNotNull(text); ITextReplacement replacement = document.getFormatter().createTextReplacement(offset, lenght, text.toString()); replaceText(replacement); } + @Override public void replaceText(ITextReplacement replacement) { Preconditions.checkNotNull(replacer); if (!replacer.getRegion().contains(replacement)) { @@ -226,19 +244,23 @@ public class TextReplacerContext implements ITextReplacerContext { } } + @Override public void replaceText(ITextSegment region, CharSequence text) { replaceText(region.getOffset(), region.getLength(), text); } + @Override public void setAutowrap(boolean value) { this.autowrap = value; this.replacements = createTextReplacementsSet(); } + @Override public void setCanAutowrap(Integer value) { this.canAutowrap = value; } + @Override public void setNextReplacerIsChild() { this.nextReplacerIsChild = true; } @@ -284,10 +306,12 @@ public class TextReplacerContext implements ITextReplacerContext { return context; } + @Override public ITextReplacerContext withIndentation(int indentation) { return new TextReplacerContext(document, this, indentation, null); } + @Override public ITextReplacerContext withReplacer(ITextReplacer replacer) { ITextReplacerContext current = this; while (current != null) { diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/TextReplacerMerger.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/TextReplacerMerger.java index 1f6e610b4..6c3fda42b 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/TextReplacerMerger.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/TextReplacerMerger.java @@ -31,6 +31,7 @@ public class TextReplacerMerger implements IMerger { this.merger = formatter.createHiddenRegionFormattingMerger(); } + @Override public ITextReplacer merge(List conflicting) { ITextReplacer result = mergeHiddenRegionReplacers(conflicting); if (result == null) diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/TextSegment.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/TextSegment.java index 7068b6af5..96f227919 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/TextSegment.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/TextSegment.java @@ -28,14 +28,17 @@ public class TextSegment extends AbstractTextSegment { this.length = length; } + @Override public int getLength() { return length; } + @Override public int getOffset() { return offset; } + @Override public ITextRegionAccess getTextRegionAccess() { return regionAccess; } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/WhitespaceReplacer.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/WhitespaceReplacer.java index b28b893af..4795f9030 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/WhitespaceReplacer.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/internal/WhitespaceReplacer.java @@ -66,6 +66,7 @@ public class WhitespaceReplacer implements ITextReplacer { return 0; } + @Override public ITextReplacerContext createReplacements(ITextReplacerContext context) { if (formatting.getAutowrap() != null && formatting.getAutowrap() >= 0) context.setCanAutowrap(formatting.getAutowrap()); @@ -97,6 +98,7 @@ public class WhitespaceReplacer implements ITextReplacer { return formatting; } + @Override public ITextSegment getRegion() { return region; } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/regionaccess/internal/AbstractRegionAccess.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/regionaccess/internal/AbstractRegionAccess.java index c325742b2..018320125 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/regionaccess/internal/AbstractRegionAccess.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/regionaccess/internal/AbstractRegionAccess.java @@ -60,10 +60,12 @@ public abstract class AbstractRegionAccess extends AbstractTextSegment implement this.firstRegion = builder.getFirstRegion(); } + @Override public IHiddenRegion getFirstRegionInFile() { return this.firstRegion; } + @Override public AbstractElement getInvokingGrammarElement(EObject obj) { AbstractEObjectTokens tokens = eObjectToTokens.get(obj); if (tokens == null) @@ -71,10 +73,12 @@ public abstract class AbstractRegionAccess extends AbstractTextSegment implement return tokens.getGrammarElement(); } + @Override public int getOffset() { return 0; } + @Override public XtextResource getResource() { return resource; } @@ -82,14 +86,17 @@ public abstract class AbstractRegionAccess extends AbstractTextSegment implement @Override public abstract String getText(); + @Override public String getText(int offset, int length) { return resource.getParseResult().getRootNode().getText().substring(offset, offset + length); } + @Override public ITextRegionAccess getTextRegionAccess() { return this; } + @Override public ISemanticRegion immediatelyFollowingKeyword(EObject owner, String keyword) { IHiddenRegion trailingHiddenRegion = trailingHiddenRegion(owner); if (trailingHiddenRegion == null) @@ -99,6 +106,7 @@ public abstract class AbstractRegionAccess extends AbstractTextSegment implement return result; } + @Override public ISemanticRegion immediatelyFollowingKeyword(ISequentialRegion token, String keyword) { if (token == null) return null; @@ -111,18 +119,21 @@ public abstract class AbstractRegionAccess extends AbstractTextSegment implement return null; } + @Override public ISemanticRegion immediatelyPrecedingKeyword(EObject owner) { ISemanticRegion firstToken = leadingHiddenRegion(owner).getNextSemanticRegion(); ISemanticRegion result = immediatelyPrecedingKeyword(firstToken); return result; } + @Override public ISemanticRegion immediatelyPrecedingKeyword(EObject owner, String keyword) { ISemanticRegion firstToken = leadingHiddenRegion(owner).getNextSemanticRegion(); ISemanticRegion result = immediatelyPrecedingKeyword(firstToken, keyword); return result; } + @Override public ISemanticRegion immediatelyPrecedingKeyword(ISequentialRegion token) { if (token == null) return null; @@ -135,6 +146,7 @@ public abstract class AbstractRegionAccess extends AbstractTextSegment implement return null; } + @Override public ISemanticRegion immediatelyPrecedingKeyword(ISequentialRegion token, String keyword) { if (token == null) return null; @@ -151,6 +163,7 @@ public abstract class AbstractRegionAccess extends AbstractTextSegment implement return null; } + @Override public boolean isMultiline(EObject object) { AbstractEObjectTokens tokens = eObjectToTokens.get(object); if (tokens == null) @@ -170,6 +183,7 @@ public abstract class AbstractRegionAccess extends AbstractTextSegment implement return false; } + @Override public ITextSegment regionForEObject(EObject object) { AbstractEObjectTokens tokens = eObjectToTokens.get(object); int offset = tokens.leadingGap.getEndOffset(); @@ -177,6 +191,7 @@ public abstract class AbstractRegionAccess extends AbstractTextSegment implement return new TextSegment(this, offset, endOffset - offset); } + @Override public IHiddenRegion leadingHiddenRegion(EObject owner) { AbstractEObjectTokens tokens = eObjectToTokens.get(owner); if (tokens == null) @@ -184,6 +199,7 @@ public abstract class AbstractRegionAccess extends AbstractTextSegment implement return tokens.getLeadingGap(); } + @Override public ISemanticRegion regionForFeature(EObject owner, EStructuralFeature feat) { if (!(feat instanceof EAttribute) && !(feat instanceof EReference && !((EReference) feat).isContainment())) throw new IllegalStateException("Only EAttributes and CrossReferences allowed."); @@ -198,6 +214,7 @@ public abstract class AbstractRegionAccess extends AbstractTextSegment implement return null; } + @Override public ISemanticRegion regionForKeyword(EObject owner, String keyword) { AbstractEObjectTokens tokens = eObjectToTokens.get(owner); if (tokens == null) @@ -213,6 +230,7 @@ public abstract class AbstractRegionAccess extends AbstractTextSegment implement return null; } + @Override public ISemanticRegion regionForRuleCallTo(EObject owner, AbstractRule rule) { AbstractEObjectTokens tokens = eObjectToTokens.get(owner); if (tokens == null) @@ -228,6 +246,7 @@ public abstract class AbstractRegionAccess extends AbstractTextSegment implement return null; } + @Override public List regionsForKeywords(EObject owner, String... keywords) { AbstractEObjectTokens tokens = eObjectToTokens.get(owner); if (tokens == null) @@ -243,6 +262,7 @@ public abstract class AbstractRegionAccess extends AbstractTextSegment implement return result; } + @Override public List regionsForRuleCallsTo(EObject owner, AbstractRule... rule) { HashSet set = Sets.newHashSet(rule); AbstractEObjectTokens tokens = eObjectToTokens.get(owner); @@ -265,6 +285,7 @@ public abstract class AbstractRegionAccess extends AbstractTextSegment implement return new TokenAccessToString().withOrigin(this).toString(); } + @Override public IHiddenRegion trailingHiddenRegion(EObject owner) { AbstractEObjectTokens tokens = eObjectToTokens.get(owner); if (tokens == null) diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/regionaccess/internal/HiddenRegion.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/regionaccess/internal/HiddenRegion.java index 227a03cd0..92989e0cf 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/regionaccess/internal/HiddenRegion.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/regionaccess/internal/HiddenRegion.java @@ -35,6 +35,7 @@ public class HiddenRegion extends AbstractTextSegment implements IHiddenRegion { this.tokenAccess = tokenAccess; } + @Override public boolean containsComment() { for (IHiddenRegionPart hidden : hiddens) if (hidden instanceof IComment) @@ -42,6 +43,7 @@ public class HiddenRegion extends AbstractTextSegment implements IHiddenRegion { return false; } + @Override public int getLength() { if (hiddens.isEmpty()) return 0; @@ -50,14 +52,17 @@ public class HiddenRegion extends AbstractTextSegment implements IHiddenRegion { return end - start; } + @Override public IHiddenRegion getNextHiddenRegion() { return next == null ? null : next.getNextHiddenRegion(); } + @Override public ISemanticRegion getNextSemanticRegion() { return next; } + @Override public int getOffset() { if (hiddens.isEmpty()) { if (previous != null) @@ -68,22 +73,27 @@ public class HiddenRegion extends AbstractTextSegment implements IHiddenRegion { } } + @Override public List getParts() { return ImmutableList. copyOf(hiddens); } + @Override public IHiddenRegion getPreviousHiddenRegion() { return previous == null ? null : previous.getPreviousHiddenRegion(); } + @Override public ISemanticRegion getPreviousSemanticRegion() { return previous; } + @Override public ITextRegionAccess getTextRegionAccess() { return tokenAccess; } + @Override public boolean isUndefined() { return false; } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/regionaccess/internal/NodeHidden.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/regionaccess/internal/NodeHidden.java index 87554bcaf..967dd83ad 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/regionaccess/internal/NodeHidden.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/regionaccess/internal/NodeHidden.java @@ -31,10 +31,12 @@ public class NodeHidden extends NodeRegion implements IHiddenRegionPart { return element instanceof AbstractRule ? (AbstractRule) element : null; } + @Override public IHiddenRegion getHiddenRegion() { return hiddenRegion; } + @Override public IHiddenRegionPart getNextHiddenPart() { int i = hiddenRegion.hiddens.indexOf(this) + 1; if (i < hiddenRegion.hiddens.size()) @@ -42,6 +44,7 @@ public class NodeHidden extends NodeRegion implements IHiddenRegionPart { return null; } + @Override public IHiddenRegionPart getPreviousHiddenPart() { int i = hiddenRegion.hiddens.indexOf(this) - 1; if (i > 0) diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/regionaccess/internal/NodeModelBaseRegionAccess.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/regionaccess/internal/NodeModelBaseRegionAccess.java index dbed68417..21a3db203 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/regionaccess/internal/NodeModelBaseRegionAccess.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/regionaccess/internal/NodeModelBaseRegionAccess.java @@ -233,6 +233,7 @@ public class NodeModelBaseRegionAccess extends AbstractRegionAccess { super(builder); } + @Override public ITextSegment expandRegionsByLines(int leadingLines, int trailingLines, ITextSegment... regions) { int offset = regions[0].getOffset(); int endOffset = regions[0].getEndOffset(); @@ -296,6 +297,7 @@ public class NodeModelBaseRegionAccess extends AbstractRegionAccess { return node.getParent().getSemanticElement(); } + @Override public int getLength() { return getResource().getParseResult().getRootNode().getTotalEndOffset(); } @@ -305,10 +307,12 @@ public class NodeModelBaseRegionAccess extends AbstractRegionAccess { return getResource().getParseResult().getRootNode().getText(); } + @Override public boolean hasSyntaxError() { return getResource().getParseResult().hasSyntaxErrors(); } + @Override public boolean hasSyntaxError(EObject object) { BidiTreeIterator it = NodeModelUtils.getNode(object).getAsTreeIterable().iterator(); while (it.hasNext()) { @@ -318,6 +322,7 @@ public class NodeModelBaseRegionAccess extends AbstractRegionAccess { return false; } + @Override public ITextSegment indentationRegion(int offset) { String text = getText(); int lineStart = text.lastIndexOf('\n', offset) + 1; diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/regionaccess/internal/NodeRegion.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/regionaccess/internal/NodeRegion.java index cf032c9a0..f6f404e33 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/regionaccess/internal/NodeRegion.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/regionaccess/internal/NodeRegion.java @@ -30,6 +30,7 @@ public class NodeRegion extends AbstractTextSegment { return node.getGrammarElement(); } + @Override public int getLength() { return node.getLength(); } @@ -38,6 +39,7 @@ public class NodeRegion extends AbstractTextSegment { return node; } + @Override public int getOffset() { return node.getOffset(); } @@ -46,6 +48,7 @@ public class NodeRegion extends AbstractTextSegment { return tokenAccess.findSemanticElement(node); } + @Override public ITextRegionAccess getTextRegionAccess() { return tokenAccess; } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/regionaccess/internal/NodeSemanticRegion.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/regionaccess/internal/NodeSemanticRegion.java index 653490bdc..3100d206c 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/regionaccess/internal/NodeSemanticRegion.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/formatting2/regionaccess/internal/NodeSemanticRegion.java @@ -31,18 +31,22 @@ public class NodeSemanticRegion extends NodeRegion implements ISemanticRegion { return element instanceof AbstractElement ? (AbstractElement) element : null; } + @Override public IHiddenRegion getNextHiddenRegion() { return trailing; } + @Override public ISemanticRegion getNextSemanticRegion() { return trailing != null ? trailing.getNextSemanticRegion() : null; } + @Override public IHiddenRegion getPreviousHiddenRegion() { return leading; } + @Override public ISemanticRegion getPreviousSemanticRegion() { return leading != null ? leading.getPreviousSemanticRegion() : null; } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/AbstractFileSystemAccess.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/AbstractFileSystemAccess.java index a57bac4e8..e3e043ce9 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/AbstractFileSystemAccess.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/AbstractFileSystemAccess.java @@ -70,6 +70,7 @@ public abstract class AbstractFileSystemAccess implements IFileSystemAccess, IFi protected Map getPathes() { return transformValues(getOutputConfigurations(), new Function() { + @Override public String apply(OutputConfiguration from) { if (currentSource == null) { return from.getOutputDirectory(); @@ -93,6 +94,7 @@ public abstract class AbstractFileSystemAccess implements IFileSystemAccess, IFi setOutputPath(DEFAULT_OUTPUT, path); } + @Override public void generateFile(String fileName, CharSequence contents) { generateFile(fileName, DEFAULT_OUTPUT, contents); } @@ -100,6 +102,7 @@ public abstract class AbstractFileSystemAccess implements IFileSystemAccess, IFi /** * @since 2.1 */ + @Override public void deleteFile(String fileName) { deleteFile(fileName, DEFAULT_OUTPUT); } @@ -107,6 +110,7 @@ public abstract class AbstractFileSystemAccess implements IFileSystemAccess, IFi /** * @since 2.1 */ + @Override public void deleteFile(String fileName, String outputConfigurationName) { throw new UnsupportedOperationException(); } @@ -134,6 +138,7 @@ public abstract class AbstractFileSystemAccess implements IFileSystemAccess, IFi /** * @since 2.3 */ + @Override public URI getURI(String fileName) { return getURI(fileName, DEFAULT_OUTPUT); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/AbstractFileSystemAccess2.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/AbstractFileSystemAccess2.java index b9d2cfc70..7514b3e80 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/AbstractFileSystemAccess2.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/AbstractFileSystemAccess2.java @@ -21,6 +21,7 @@ public abstract class AbstractFileSystemAccess2 extends AbstractFileSystemAccess /** * @since 2.4 */ + @Override public void generateFile(String fileName, InputStream content) { generateFile(fileName, DEFAULT_OUTPUT, content); } @@ -28,6 +29,7 @@ public abstract class AbstractFileSystemAccess2 extends AbstractFileSystemAccess /** * @since 2.4 */ + @Override public InputStream readBinaryFile(String fileName) { return readBinaryFile(fileName, DEFAULT_OUTPUT); } @@ -35,6 +37,7 @@ public abstract class AbstractFileSystemAccess2 extends AbstractFileSystemAccess /** * @since 2.4 */ + @Override public CharSequence readTextFile(String fileName) { return readTextFile(fileName, DEFAULT_OUTPUT); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/GeneratorComponent.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/GeneratorComponent.java index 92844ef59..3066b8263 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/GeneratorComponent.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/GeneratorComponent.java @@ -68,6 +68,7 @@ public class GeneratorComponent implements IWorkflowComponent { this.slotNames.add(slot); } + @Override public void preInvoke() { if (injector == null) throw new IllegalStateException("no Injector has been configured. Use 'register' with an ISetup or 'injector' directly."); @@ -111,6 +112,7 @@ public class GeneratorComponent implements IWorkflowComponent { outlets.put(out.outletName,out.path); } + @Override public void invoke(IWorkflowContext ctx) { IGenerator instance = getCompiler(); IFileSystemAccess fileSystemAccess = getConfiguredFileSystemAccess(); @@ -148,6 +150,7 @@ public class GeneratorComponent implements IWorkflowComponent { return configuredFileSystemAccess; } + @Override public void postInvoke() { } @@ -160,6 +163,7 @@ public class GeneratorComponent implements IWorkflowComponent { .getInstance(IOutputConfigurationProvider.class); Set configurations = outputConfigurationProvider.getOutputConfigurations(); return uniqueIndex(configurations, new Function() { + @Override public String apply(OutputConfiguration from) { return from.getName(); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/IGenerator.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/IGenerator.java index fb227aa19..7fa3c9c3d 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/IGenerator.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/IGenerator.java @@ -25,6 +25,7 @@ public interface IGenerator { * @since 2.4 */ public static class NullGenerator implements IGenerator { + @Override public void doGenerate(Resource input, IFileSystemAccess fsa) {} } } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/IOutputConfigurationProvider.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/IOutputConfigurationProvider.java index c5de92c68..956f7a8cd 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/IOutputConfigurationProvider.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/IOutputConfigurationProvider.java @@ -31,6 +31,7 @@ public interface IOutputConfigurationProvider { this.delegate = delegate; } + @Override public Set getOutputConfigurations() { return delegate.getOutputConfigurations(); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/InMemoryFileSystemAccess.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/InMemoryFileSystemAccess.java index e8f62006c..0c17d02e7 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/InMemoryFileSystemAccess.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/InMemoryFileSystemAccess.java @@ -31,6 +31,7 @@ public class InMemoryFileSystemAccess extends AbstractFileSystemAccess2 { private String textFileEnconding; + @Override public void generateFile(String fileName, String outputConfigName, CharSequence contents) { String encoding = getTextFileEncoding(); if (encoding != null) @@ -114,6 +115,7 @@ public class InMemoryFileSystemAccess extends AbstractFileSystemAccess2 { /** * @since 2.3 */ + @Override public URI getURI(String fileName, String outputConfiguration) { return URI.createURI("memory:/" + outputConfiguration + "/" + fileName); } @@ -121,6 +123,7 @@ public class InMemoryFileSystemAccess extends AbstractFileSystemAccess2 { /** * @since 2.4 */ + @Override public void generateFile(String fileName, String outputCfgName, InputStream content) { try { try { @@ -137,6 +140,7 @@ public class InMemoryFileSystemAccess extends AbstractFileSystemAccess2 { /** * @since 2.4 */ + @Override public InputStream readBinaryFile(String fileName, String outputCfgName) throws RuntimeIOException { String name = getFileName(fileName, outputCfgName); Object contents = files.get(name); @@ -152,6 +156,7 @@ public class InMemoryFileSystemAccess extends AbstractFileSystemAccess2 { /** * @since 2.4 */ + @Override public CharSequence readTextFile(String fileName, String outputCfgName) throws RuntimeIOException { String name = getFileName(fileName, outputCfgName); Object contents = files.get(name); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/JavaIoFileSystemAccess.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/JavaIoFileSystemAccess.java index 5e14ca054..c52748eef 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/JavaIoFileSystemAccess.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/JavaIoFileSystemAccess.java @@ -74,6 +74,7 @@ public class JavaIoFileSystemAccess extends AbstractFileSystemAccess2 { this.traceSerializer = traceRegionSerializer; } + @Override public void generateFile(String fileName, String outputConfigName, CharSequence contents) throws RuntimeIOException { File file = getFile(fileName, outputConfigName); if (!getOutputConfig(outputConfigName).isOverrideExistingResources() && file.exists()) { @@ -174,6 +175,7 @@ public class JavaIoFileSystemAccess extends AbstractFileSystemAccess2 { /** * @since 2.3 */ + @Override public URI getURI(String fileName, String outputConfiguration) { return URI.createURI(getFile(fileName, outputConfiguration).toURI().toString()); } @@ -181,6 +183,7 @@ public class JavaIoFileSystemAccess extends AbstractFileSystemAccess2 { /** * @since 2.4 */ + @Override public void generateFile(String fileName, String outputCfgName, InputStream content) throws RuntimeIOException { File file = getFile(fileName, outputCfgName); if (!getOutputConfig(outputCfgName).isOverrideExistingResources() && file.exists()) { @@ -206,6 +209,7 @@ public class JavaIoFileSystemAccess extends AbstractFileSystemAccess2 { /** * @since 2.4 */ + @Override public InputStream readBinaryFile(String fileName, String outputCfgName) throws RuntimeIOException { File file = getFile(fileName, outputCfgName); try { @@ -218,6 +222,7 @@ public class JavaIoFileSystemAccess extends AbstractFileSystemAccess2 { /** * @since 2.4 */ + @Override public CharSequence readTextFile(String fileName, String outputCfgName) throws RuntimeIOException { try { File file = getFile(fileName, outputCfgName); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/LineSeparatorHarmonizer.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/LineSeparatorHarmonizer.java index c6ec90566..d700a47ec 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/LineSeparatorHarmonizer.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/LineSeparatorHarmonizer.java @@ -25,6 +25,7 @@ public class LineSeparatorHarmonizer implements IFilePostProcessor { @Inject private IWhitespaceInformationProvider whitespaceInformationProvider; + @Override public CharSequence postProcess(URI fileURI, CharSequence content) { String lineSeparator = whitespaceInformationProvider.getLineSeparatorInformation(fileURI).getLineSeparator(); return replaceLineSeparators(content, lineSeparator); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/OutputConfigurationProvider.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/OutputConfigurationProvider.java index 14424baee..66ee7f0fd 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/OutputConfigurationProvider.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/OutputConfigurationProvider.java @@ -20,6 +20,7 @@ public class OutputConfigurationProvider implements IOutputConfigurationProvider /** * @return a set of {@link OutputConfiguration} available for the generator */ + @Override public Set getOutputConfigurations() { OutputConfiguration defaultOutput = new OutputConfiguration(IFileSystemAccess.DEFAULT_OUTPUT); defaultOutput.setDescription("Output Folder"); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/trace/AbstractTraceRegion.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/trace/AbstractTraceRegion.java index cb69f2ed1..9ccc859ca 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/trace/AbstractTraceRegion.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/trace/AbstractTraceRegion.java @@ -181,6 +181,7 @@ public abstract class AbstractTraceRegion { protected void inplaceSortByOffset(List> locations) { Collections.sort(locations, new Comparator>() { + @Override public int compare(/* @Nullable */ Pair o1, /* @Nullable */ Pair o2) { if (o1 == null || o2 == null) throw new IllegalArgumentException("o1 == null || o2 == null"); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/trace/CharSequenceTraceWrapper.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/trace/CharSequenceTraceWrapper.java index d07592440..d4bf749f5 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/trace/CharSequenceTraceWrapper.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/trace/CharSequenceTraceWrapper.java @@ -58,14 +58,17 @@ public class CharSequenceTraceWrapper { this.originEndLineNumber = originEndLineNumber; } + @Override public int length() { return delegate.length(); } + @Override public char charAt(int index) { return delegate.charAt(index); } + @Override public CharSequence subSequence(int start, int end) { return delegate.subSequence(start, end); } @@ -75,6 +78,7 @@ public class CharSequenceTraceWrapper { return delegate.toString(); } + @Override public AbstractTraceRegion getTraceRegion() { ILocationData locationData = new LocationData(originOffset, originLength, originLineNumber, originEndLineNumber, originURI); AbstractTraceRegion result = new TraceRegion(0, delegate.length(), 0, Strings.countLineBreaks(delegate), locationData, null); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/trace/DefaultTraceURIConverter.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/trace/DefaultTraceURIConverter.java index 0d53a6bbb..a29023a6a 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/trace/DefaultTraceURIConverter.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/trace/DefaultTraceURIConverter.java @@ -17,11 +17,13 @@ import org.eclipse.xtext.resource.XtextResource; */ public class DefaultTraceURIConverter implements ITraceURIConverter { + @Override public URI getURIForTrace(XtextResource context) { URI uri = context.getURI(); return getURIForTrace(uri); } + @Override public URI getURIForTrace(URI uri) { if (uri.isPlatform()) { // create a URI that is relative to the contained projects. diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/trace/ITraceForStorageProvider.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/trace/ITraceForStorageProvider.java index 26b070b65..5642916a6 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/trace/ITraceForStorageProvider.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/trace/ITraceForStorageProvider.java @@ -38,11 +38,13 @@ public interface ITraceForStorageProvider { // ITraceForStorageProvider // ITrac class Null implements ITraceForStorageProvider { /* @Nullable */ + @Override public ITrace getTraceToSource(IStorage derivedResource) { return null; } /* @Nullable */ + @Override public ITrace getTraceToTarget(IStorage sourceResource) { return null; } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/trace/LineMappingProvider.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/trace/LineMappingProvider.java index 18c4884f7..fb4722daf 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/trace/LineMappingProvider.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/trace/LineMappingProvider.java @@ -124,6 +124,7 @@ public class LineMappingProvider { protected List normalizeLineInfo(Set lineData) { ArrayList list = newArrayList(lineData); Collections.sort(list, new Comparator() { + @Override public int compare(LineMapping o1, LineMapping o2) { int compareResult = o2.targetStartLine - o1.targetStartLine; if (compareResult == 0) { diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/trace/LocationData.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/trace/LocationData.java index 3e247349a..7500e46f8 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/trace/LocationData.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/trace/LocationData.java @@ -28,6 +28,7 @@ public class LocationData extends TextRegionWithLineInformation implements ILoca } /* @Nullable */ + @Override public URI getPath() { return path; } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/trace/TraceAsPrimarySourceInstaller.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/trace/TraceAsPrimarySourceInstaller.java index 61e489006..e8fd2019d 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/trace/TraceAsPrimarySourceInstaller.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/trace/TraceAsPrimarySourceInstaller.java @@ -127,6 +127,7 @@ public class TraceAsPrimarySourceInstaller implements ITraceToBytecodeInstaller return target2source; } + @Override public byte[] installTrace(byte[] javaClassBytecode) throws IOException { if (trace == null) return null; @@ -150,6 +151,7 @@ public class TraceAsPrimarySourceInstaller implements ITraceToBytecodeInstaller this.hideSyntheticVariables = hideSyntheticVariables; } + @Override public void setTrace(String javaFileName, AbstractTraceRegion trace) { this.trace = trace; } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/trace/TraceAsSmapInstaller.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/trace/TraceAsSmapInstaller.java index caeb461a7..815ed70e7 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/trace/TraceAsSmapInstaller.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/trace/TraceAsSmapInstaller.java @@ -67,6 +67,7 @@ public class TraceAsSmapInstaller implements ITraceToBytecodeInstaller { return name; } + @Override public byte[] installTrace(byte[] javaClassBytecode) throws IOException { if (smap == null) return null; @@ -74,6 +75,7 @@ public class TraceAsSmapInstaller implements ITraceToBytecodeInstaller { return updatedByteCode; } + @Override public void setTrace(String javaFileName, AbstractTraceRegion trace) { smap = generateSmap(trace, javaFileName); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/trace/TraceRegionSerializer.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/trace/TraceRegionSerializer.java index 0686546f3..99f2f85fc 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/trace/TraceRegionSerializer.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/trace/TraceRegionSerializer.java @@ -49,19 +49,23 @@ public class TraceRegionSerializer { */ protected static class IdentityStrategy implements Strategy { + @Override public ILocationData createLocation(int offset, int length, int lineNumber, int endLineNumber, URI path) { return new LocationData(offset, length, lineNumber, endLineNumber, path); } + @Override public AbstractTraceRegion createRegion(int offset, int length, int lineNumber, int endLineNumber, List associations, AbstractTraceRegion parent) { return new TraceRegion(offset, length, lineNumber, endLineNumber, associations, parent); } + @Override public void writeRegion(AbstractTraceRegion region, Callback callback) throws IOException { callback.doWriteRegion(region.getMyOffset(), region.getMyLength(), region.getMyLineNumber(), region.getMyEndLineNumber(), region.getAssociatedLocations(), region.getNestedRegions()); } + @Override public void writeLocation(ILocationData location, Callback callback) throws IOException { callback.doWriteLocation(location.getOffset(), location.getLength(), location.getLineNumber(), location.getEndLineNumber(), location.getPath()); } @@ -91,6 +95,7 @@ public class TraceRegionSerializer { if (region == null) return; strategy.writeRegion(region, new Callback() { + @Override public void doWriteRegion(int offset, int length, int lineNumber, int endLineNumber, List locations, List children) throws IOException { dataStream.writeInt(offset); dataStream.writeInt(length); @@ -106,6 +111,7 @@ public class TraceRegionSerializer { } } + @Override public void doWriteLocation(int offset, int length, int lineNumber, int endLineNumber, URI path) throws IOException { dataStream.writeInt(offset); dataStream.writeInt(length); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/grammaranalysis/impl/AbstractCachingNFABuilder.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/grammaranalysis/impl/AbstractCachingNFABuilder.java index 0827852f4..ad7fc3301 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/grammaranalysis/impl/AbstractCachingNFABuilder.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/grammaranalysis/impl/AbstractCachingNFABuilder.java @@ -22,10 +22,12 @@ public abstract class AbstractCachingNFABuilder implements NFABuilder implements NFABuilder implements protected abstract NFABuilder createBuilder(); + @Override public S getNFA(AbstractElement element) { return builder.getState(element); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/grammaranalysis/impl/AbstractNFAState.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/grammaranalysis/impl/AbstractNFAState.java index 6d3da9fc9..bdc086c26 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/grammaranalysis/impl/AbstractNFAState.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/grammaranalysis/impl/AbstractNFAState.java @@ -218,6 +218,7 @@ public class AbstractNFAState, T extends INFATransitio return builder.filter(ele); } + @Override public List getAllIncoming() { for (Adapter a : element.eResource().eAdapters()) if (a instanceof IsInitializedMarker && ((IsInitializedMarker) a).builder == builder) @@ -233,6 +234,7 @@ public class AbstractNFAState, T extends INFATransitio return getIncoming(); } + @Override public List getAllOutgoing() { if (outgoing == null || outgoingRuleCalls == null) collectAllOutgoingTransitions(); @@ -242,10 +244,12 @@ public class AbstractNFAState, T extends INFATransitio return result; } + @Override public NFABuilder getBuilder() { return builder; } + @Override public AbstractElement getGrammarElement() { return element; } @@ -256,6 +260,7 @@ public class AbstractNFAState, T extends INFATransitio return allIncoming; } + @Override @SuppressWarnings({ "rawtypes", "unchecked" }) public List getIncommingWithoutRuleCalls() { List result = Lists.newArrayList(); @@ -264,12 +269,14 @@ public class AbstractNFAState, T extends INFATransitio return result; } + @Override public List getOutgoing() { if (outgoing == null || outgoingRuleCalls == null) collectAllOutgoingTransitions(); return outgoingRuleCalls.isEmpty() ? outgoing : outgoingRuleCalls; } + @Override public List getOutgoingAfterReturn() { if (outgoing == null || outgoingRuleCalls == null) collectAllOutgoingTransitions(); @@ -279,18 +286,21 @@ public class AbstractNFAState, T extends INFATransitio /** * @since 2.0 */ + @Override public boolean hasOutgoingRuleCall() { if (outgoing == null || outgoingRuleCalls == null) collectAllOutgoingTransitions(); return !outgoingRuleCalls.isEmpty(); } + @Override public boolean isEndState() { if (outgoing == null || outgoingRuleCalls == null) collectAllOutgoingTransitions(); return endState; } + @Override public boolean isStartState() { return element.eContainer() instanceof AbstractRule; } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/grammaranalysis/impl/AbstractNFATransition.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/grammaranalysis/impl/AbstractNFATransition.java index de803e357..6b600787a 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/grammaranalysis/impl/AbstractNFATransition.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/grammaranalysis/impl/AbstractNFATransition.java @@ -44,20 +44,24 @@ public class AbstractNFATransition, T extends INFATran return false; } + @Override public AbstractElement getLoopCenter() { return loopCenter; } + @Override public int getPrecedence() { INFAState s = source; int i = s.getOutgoing().indexOf(this); return i > -1 ? i : s.getOutgoingAfterReturn().indexOf(this); } + @Override public S getSource() { return source; } + @Override public S getTarget() { return target; } @@ -67,6 +71,7 @@ public class AbstractNFATransition, T extends INFATran return source.hashCode() + target.hashCode(); } + @Override public boolean isRuleCall() { return ruleCall; } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/grammaranalysis/impl/AbstractPDAProvider.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/grammaranalysis/impl/AbstractPDAProvider.java index 0f66fb7b8..3f612b5e6 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/grammaranalysis/impl/AbstractPDAProvider.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/grammaranalysis/impl/AbstractPDAProvider.java @@ -72,14 +72,17 @@ public abstract class AbstractPDAProvider implements IPDAProvider { this.element = element; } + @Override public Collection getFollowers() { return followers; } + @Override public AbstractElement getGrammarElement() { return element; } + @Override public PDAStateType getType() { return type; } @@ -283,6 +286,7 @@ public abstract class AbstractPDAProvider implements IPDAProvider { /** * @since 2.0 */ + @Override public IPDAState getPDA(CTX context) { PDAContext ctx = createContext(context); ctx.start = createState(IPDAState.PDAStateType.START, null); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/grammaranalysis/impl/CfgAdapter.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/grammaranalysis/impl/CfgAdapter.java index eb3d92485..0fd0016ff 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/grammaranalysis/impl/CfgAdapter.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/grammaranalysis/impl/CfgAdapter.java @@ -34,6 +34,7 @@ public class CfgAdapter implements Cfg { this.grammar = grammar; } + @Override public Iterable getAlternativeChildren(AbstractElement ele) { switch (ele.eClass().getClassifierID()) { case XtextPackage.ALTERNATIVES: @@ -43,6 +44,7 @@ public class CfgAdapter implements Cfg { } } + @Override public AbstractElement getCall(AbstractElement ele) { switch (ele.eClass().getClassifierID()) { case XtextPackage.RULE_CALL: @@ -52,15 +54,18 @@ public class CfgAdapter implements Cfg { } } + @Override public AbstractElement getParent(AbstractElement ele) { EObject cnt = ele.eContainer(); return cnt instanceof AbstractElement ? (AbstractElement) cnt : null; } + @Override public AbstractElement getRoot() { return grammar.getRules().size() > 0 ? grammar.getRules().get(0).getAlternatives() : null; } + @Override public Iterable getSequentialChildren(AbstractElement ele) { switch (ele.eClass().getClassifierID()) { case XtextPackage.GROUP: @@ -74,10 +79,12 @@ public class CfgAdapter implements Cfg { } } + @Override public AbstractElement getToken(AbstractElement owner) { return owner; } + @Override public Iterable getUnorderedChildren(AbstractElement ele) { switch (ele.eClass().getClassifierID()) { case XtextPackage.UNORDERED_GROUP: @@ -87,10 +94,12 @@ public class CfgAdapter implements Cfg { } } + @Override public boolean isMany(AbstractElement ele) { return GrammarUtil.isMultipleCardinality(ele); } + @Override public boolean isOptional(AbstractElement ele) { return GrammarUtil.isOptionalCardinality(ele); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/grammaranalysis/impl/DefaultBackwardNFAProvider.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/grammaranalysis/impl/DefaultBackwardNFAProvider.java index 33324384f..f7be082ea 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/grammaranalysis/impl/DefaultBackwardNFAProvider.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/grammaranalysis/impl/DefaultBackwardNFAProvider.java @@ -37,6 +37,7 @@ public class DefaultBackwardNFAProvider extends AbstractNFAProvider implements Fu return nodes.get(rule.getAlternatives()).toString(); } + @Override public String apply(AbstractElement from) { return doSwitch(from); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/internal/Activator.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/internal/Activator.java index 121d16f7c..9967b8543 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/internal/Activator.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/internal/Activator.java @@ -18,6 +18,7 @@ import org.osgi.framework.BundleContext; */ public class Activator implements BundleActivator { + @Override public void start(BundleContext context) throws Exception { if (EMFPlugin.IS_ECLIPSE_RUNNING) { initializeResourceServiceProviderRegistry(context); @@ -32,6 +33,7 @@ public class Activator implements BundleActivator { new ProtocolResourceServiceProviderRegistryReader(eReg, symbolicName).readRegistry(); } + @Override public void stop(BundleContext context) throws Exception { } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/internal/ResourceServiceProviderDescriptor.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/internal/ResourceServiceProviderDescriptor.java index 2175711f3..2e820a442 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/internal/ResourceServiceProviderDescriptor.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/internal/ResourceServiceProviderDescriptor.java @@ -33,6 +33,7 @@ public class ResourceServiceProviderDescriptor implements IResourceServiceProvid return element; } + @Override public synchronized IResourceServiceProvider get(URI uri, String contentType) { if (this.extension == null) { try { diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/linking/impl/AbstractCleaningLinker.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/linking/impl/AbstractCleaningLinker.java index c628a574e..72a13ec59 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/linking/impl/AbstractCleaningLinker.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/linking/impl/AbstractCleaningLinker.java @@ -33,6 +33,7 @@ public abstract class AbstractCleaningLinker extends AbstractLinker { private static final Logger log = Logger.getLogger(AbstractCleaningLinker.class); + @Override public void linkModel(EObject model, IDiagnosticConsumer diagnosticsConsumer) { StoppedTask task = Stopwatches.forTask("installing proxies (AbstractCleaningLinker.linkModel)"); task.start(); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/linking/impl/DefaultLinkingService.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/linking/impl/DefaultLinkingService.java index 6ee2dd699..04955cc4f 100755 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/linking/impl/DefaultLinkingService.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/linking/impl/DefaultLinkingService.java @@ -104,6 +104,7 @@ public class DefaultLinkingService extends AbstractLinkingService { * @return the first element returned from the injected {@link IScopeProvider} which matches the text of the passed * {@link INode node} */ + @Override public List getLinkedObjects(EObject context, EReference ref, INode node) throws IllegalNodeException { final EClass requiredType = ref.getEReferenceType(); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/linking/impl/ImportedNamesAdapter.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/linking/impl/ImportedNamesAdapter.java index 4e399514e..0947d49f5 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/linking/impl/ImportedNamesAdapter.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/linking/impl/ImportedNamesAdapter.java @@ -62,14 +62,17 @@ public class ImportedNamesAdapter extends AdapterImpl implements IScopeWrapper { this.delegate = scope; } + @Override public IEObjectDescription getSingleElement(QualifiedName name) { final QualifiedName lowerCase = name.toLowerCase(); importedNames.add(lowerCase); return delegate.getSingleElement(name); } + @Override public Iterable getElements(final QualifiedName name) { return new Iterable() { + @Override public Iterator iterator() { final QualifiedName lowerCase = name.toLowerCase(); importedNames.add(lowerCase); @@ -79,16 +82,19 @@ public class ImportedNamesAdapter extends AdapterImpl implements IScopeWrapper { }; } + @Override public Iterable getElements(EObject object) { handleNoNameQuery(); return delegate.getElements(object); } + @Override public IEObjectDescription getSingleElement(EObject object) { handleNoNameQuery(); return delegate.getSingleElement(object); } + @Override public Iterable getAllElements() { handleNoNameQuery(); return delegate.getAllElements(); @@ -111,6 +117,7 @@ public class ImportedNamesAdapter extends AdapterImpl implements IScopeWrapper { return importedNames; } + @Override public IScope wrap(IScope scope) { return new WrappingScope(scope); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/linking/impl/Linker.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/linking/impl/Linker.java index 0db8ecae5..db927ef34 100755 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/linking/impl/Linker.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/linking/impl/Linker.java @@ -186,14 +186,17 @@ public class Linker extends AbstractCleaningLinker { this.linkingHelper = helper; } + @Override public EObject getContext() { return obj; } + @Override public EReference getReference() { return eRef; } + @Override public String getLinkText() { return linkingHelper.getCrossRefNodeAsString(node, true); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/linking/impl/LinkingDiagnosticMessageProvider.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/linking/impl/LinkingDiagnosticMessageProvider.java index 57496d431..9fbcc7cd7 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/linking/impl/LinkingDiagnosticMessageProvider.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/linking/impl/LinkingDiagnosticMessageProvider.java @@ -20,6 +20,7 @@ import org.eclipse.xtext.linking.ILinkingDiagnosticMessageProvider; */ public class LinkingDiagnosticMessageProvider implements ILinkingDiagnosticMessageProvider.Extended { + @Override public DiagnosticMessage getUnresolvedProxyMessage(ILinkingDiagnosticContext context) { EClass referenceType = context.getReference().getEReferenceType(); String linkText = ""; @@ -32,16 +33,19 @@ public class LinkingDiagnosticMessageProvider implements ILinkingDiagnosticMessa return new DiagnosticMessage(msg, Severity.ERROR, Diagnostic.LINKING_DIAGNOSTIC); } + @Override public DiagnosticMessage getIllegalNodeMessage(ILinkingDiagnosticContext context, IllegalNodeException ex) { String message = ex.getMessage(); return new DiagnosticMessage(message, Severity.ERROR, Diagnostic.LINKING_DIAGNOSTIC); } + @Override public DiagnosticMessage getIllegalCrossReferenceMessage(ILinkingDiagnosticContext context, CrossReference reference) { String message = "Cannot find reference " + reference; return new DiagnosticMessage(message, Severity.ERROR, Diagnostic.LINKING_DIAGNOSTIC); } + @Override public DiagnosticMessage getViolatedBoundsConstraintMessage(ILinkingDiagnosticContext context, int size) { String message = "Too many matches for reference to '" + context.getLinkText() + "'. " + "Feature " + context.getReference().getName() + " can only hold " + context.getReference().getUpperBound() @@ -50,6 +54,7 @@ public class LinkingDiagnosticMessageProvider implements ILinkingDiagnosticMessa return new DiagnosticMessage(message, Severity.ERROR, Diagnostic.LINKING_DIAGNOSTIC); } + @Override public DiagnosticMessage getViolatedUniqueConstraintMessage(ILinkingDiagnosticContext context) { String message = "Cannot refer to '" + context.getLinkText() + "' more than once."; return new DiagnosticMessage(message, Severity.ERROR, Diagnostic.LINKING_DIAGNOSTIC); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/linking/impl/XtextLinkingDiagnostic.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/linking/impl/XtextLinkingDiagnostic.java index ca5fac95c..f8f49f157 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/linking/impl/XtextLinkingDiagnostic.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/linking/impl/XtextLinkingDiagnostic.java @@ -45,6 +45,7 @@ public class XtextLinkingDiagnostic extends AbstractDiagnostic { return node; } + @Override public String getMessage() { return message; } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/linking/lazy/LazyLinker.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/linking/lazy/LazyLinker.java index b282bed64..20de387f2 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/linking/lazy/LazyLinker.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/linking/lazy/LazyLinker.java @@ -63,6 +63,7 @@ public class LazyLinker extends AbstractCleaningLinker { private SimpleCache instantiableSubTypes = new SimpleCache( new Function() { + @Override public EClass apply(EClass from) { return findInstantiableCompatible(from); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/linking/lazy/LazyLinkingResource.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/linking/lazy/LazyLinkingResource.java index a888ab1ca..20dbdf3d5 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/linking/lazy/LazyLinkingResource.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/linking/lazy/LazyLinkingResource.java @@ -333,14 +333,17 @@ public class LazyLinkingResource extends XtextResource { this.linkingHelper = helper; } + @Override public EObject getContext() { return triple.getFirst(); } + @Override public EReference getReference() { return triple.getSecond(); } + @Override public String getLinkText() { return linkingHelper.getCrossRefNodeAsString(triple.getThird(), true); } @@ -476,6 +479,7 @@ public class LazyLinkingResource extends XtextResource { protected Set getUnresolvableURIFragments() { Set unresolveableProxies = getCache().get(UNRESOLVEABLE_PROXIES_KEY, this, new Provider>() { + @Override public Set get() { return Sets.newHashSet(); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/linking/lazy/SettingDelegate.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/linking/lazy/SettingDelegate.java index 162d29d31..b39fd748e 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/linking/lazy/SettingDelegate.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/linking/lazy/SettingDelegate.java @@ -25,26 +25,32 @@ public class SettingDelegate implements EStructuralFeature.Setting { this.delegate = delegate; } + @Override public Object get(boolean resolve) { return delegate.get(resolve); } + @Override public EObject getEObject() { return delegate.getEObject(); } + @Override public EStructuralFeature getEStructuralFeature() { return delegate.getEStructuralFeature(); } + @Override public boolean isSet() { return delegate.isSet(); } + @Override public void set(Object newValue) { delegate.set(newValue); } + @Override public void unset() { delegate.unset(); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/linking/lazy/SyntheticLinkingSupport.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/linking/lazy/SyntheticLinkingSupport.java index 528b952f4..5590f306a 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/linking/lazy/SyntheticLinkingSupport.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/linking/lazy/SyntheticLinkingSupport.java @@ -60,126 +60,157 @@ class SyntheticLinkingLeafNode implements ILeafNode, BidiTreeIterable { this.grammarElement = XtextFactory.eINSTANCE.createKeyword(); } + @Override public ICompositeNode getParent() { return null; } + @Override public boolean hasSiblings() { return false; } + @Override public boolean hasPreviousSibling() { return false; } + @Override public boolean hasNextSibling() { return false; } + @Override public INode getPreviousSibling() { return null; } + @Override public INode getNextSibling() { return null; } + @Override public ICompositeNode getRootNode() { return null; } + @Override public Iterable getLeafNodes() { return emptyList(); } + @Override public int getTotalOffset() { return OFFSET; } + @Override public int getOffset() { return OFFSET; } + @Override public int getTotalLength() { return LENGTH; } + @Override public int getLength() { return LENGTH; } + @Override public int getTotalEndOffset() { return LENGTH; } + @Override public int getEndOffset() { return LENGTH; } + @Override public int getTotalStartLine() { return LINE; } + @Override public int getStartLine() { return LINE; } + @Override public int getTotalEndLine() { return LINE; } + @Override public int getEndLine() { return LINE; } + @Override public String getText() { return text; } + @Override public EObject getGrammarElement() { return grammarElement; } + @Override public EObject getSemanticElement() { return semanticElement; } + @Override public boolean hasDirectSemanticElement() { return true; } + @Override public SyntaxErrorMessage getSyntaxErrorMessage() { return null; } + @Override public BidiTreeIterable getAsTreeIterable() { return this; } + @Override public BidiTreeIterator iterator() { return new NodeTreeIterator(this); } + @Override public BidiTreeIterable reverse() { return new ReversedBidiTreeIterable(this); } + @Override public ITextRegion getTextRegion() { return new TextRegion(OFFSET, LENGTH); } + @Override public ITextRegion getTotalTextRegion() { return new TextRegion(OFFSET, LENGTH); } + @Override public ITextRegionWithLineInformation getTextRegionWithLineInformation() { return new TextRegionWithLineInformation(OFFSET, LENGTH, LINE, LINE); } + @Override public ITextRegionWithLineInformation getTotalTextRegionWithLineInformation() { return new TextRegionWithLineInformation(OFFSET, LENGTH, LINE, LINE); } + @Override public boolean isHidden() { return false; } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/mwe/EquinoxClasspathEntriesProvider.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/mwe/EquinoxClasspathEntriesProvider.java index 3522099e4..a2a666b90 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/mwe/EquinoxClasspathEntriesProvider.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/mwe/EquinoxClasspathEntriesProvider.java @@ -12,6 +12,7 @@ package org.eclipse.xtext.mwe; */ public class EquinoxClasspathEntriesProvider implements IClasspathEntriesProvider { + @Override public Iterable getAllPathes(ClassLoader classloader) { return null; diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/mwe/NameBasedFilter.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/mwe/NameBasedFilter.java index e3fd554be..d40dde2e8 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/mwe/NameBasedFilter.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/mwe/NameBasedFilter.java @@ -20,6 +20,7 @@ public class NameBasedFilter implements UriFilter { private Pattern regularExpression; + @Override public boolean matches(URI uri) { if (uri == null) return false; diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/mwe/NegatedUriFilter.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/mwe/NegatedUriFilter.java index 438bc9d9c..ac5cf509f 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/mwe/NegatedUriFilter.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/mwe/NegatedUriFilter.java @@ -17,6 +17,7 @@ public class NegatedUriFilter implements UriFilter { private UriFilter uriFilter; + @Override public boolean matches(URI uri) { return !getUriFilter().matches(uri); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/mwe/Reader.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/mwe/Reader.java index 6a895cd25..0fb5d73a2 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/mwe/Reader.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/mwe/Reader.java @@ -152,6 +152,7 @@ public class Reader extends AbstractReader { protected void invokeInternal(WorkflowContext ctx, ProgressMonitor monitor, Issues issues) { ResourceSet resourceSet = getResourceSet(); Multimap uris = getPathTraverser().resolvePathes(pathes, new Predicate() { + @Override public boolean apply(URI input) { boolean result = true; if (getUriFilter() != null) diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/mwe/ResourceLoadingSlotEntry.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/mwe/ResourceLoadingSlotEntry.java index 6c6fcf0c4..b300f8433 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/mwe/ResourceLoadingSlotEntry.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/mwe/ResourceLoadingSlotEntry.java @@ -43,6 +43,7 @@ public class ResourceLoadingSlotEntry implements ISlotEntry { this.uris.add(Pattern.compile(uri)); } + @Override public void put(WorkflowContext ctx, IResourceDescriptions descriptions, ResourceSet resourceSet) { EList resources = resourceSet.getResources(); List result = newArrayList(); @@ -63,6 +64,7 @@ public class ResourceLoadingSlotEntry implements ISlotEntry { return false; } + @Override public void preInvoke() { if (slot==null) throw new IllegalStateException("'slot' has not been configured"); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/mwe/RuntimeResourceSetInitializer.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/mwe/RuntimeResourceSetInitializer.java index a3d5da1e1..6a3b7e575 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/mwe/RuntimeResourceSetInitializer.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/mwe/RuntimeResourceSetInitializer.java @@ -52,6 +52,7 @@ public class RuntimeResourceSetInitializer { protected Multimap getPathToUriMap(List pathes, final UriFilter filter) { return traverser.resolvePathes(pathes, new Predicate() { + @Override public boolean apply(URI input) { boolean result = true; if (filter != null) diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/mwe/SlotEntry.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/mwe/SlotEntry.java index eaf39ae80..520a75a56 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/mwe/SlotEntry.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/mwe/SlotEntry.java @@ -92,6 +92,7 @@ public class SlotEntry implements ISlotEntry { return firstOnly; } + @Override public void put(WorkflowContext ctx, IResourceDescriptions resourceDescriptions, ResourceSet resourceSet) { Set eClasses = findEClasses(resourceSet, nsURI, type); List elements = findEObjectsOfType(eClasses, resourceDescriptions, resourceSet); @@ -169,6 +170,7 @@ public class SlotEntry implements ISlotEntry { return resourceSet.getEObject(description.getEObjectURI(), true); } + @Override public void preInvoke() { // TODO Auto-generated method stub diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/mwe/UriBasedReader.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/mwe/UriBasedReader.java index 8bb6d1c8d..d146a7332 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/mwe/UriBasedReader.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/mwe/UriBasedReader.java @@ -67,6 +67,7 @@ public class UriBasedReader extends AbstractReader { resourceSet.setClasspathURIContext(class1); setResourceSetProvider(new Provider() { + @Override public ResourceSet get() { return resourceSet; } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/mwe/UrlClassLoaderClasspathEntriesProvider.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/mwe/UrlClassLoaderClasspathEntriesProvider.java index 62fe00676..83dd08950 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/mwe/UrlClassLoaderClasspathEntriesProvider.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/mwe/UrlClassLoaderClasspathEntriesProvider.java @@ -20,10 +20,12 @@ import com.google.common.collect.Iterables; */ public class UrlClassLoaderClasspathEntriesProvider implements IClasspathEntriesProvider { + @Override public Iterable getAllPathes(ClassLoader classloader) { if (classloader instanceof URLClassLoader) { List urls = Arrays.asList(((URLClassLoader)classloader).getURLs()); return Iterables.transform(urls, new Function(){ + @Override public String apply(URL from) { return from.toString(); }}); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/mwe/Validator.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/mwe/Validator.java index cbf58e8fc..e77707406 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/mwe/Validator.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/mwe/Validator.java @@ -143,11 +143,13 @@ public class Validator { protected Multimap groupByURI(MWEDiagnostic[] diagnostic) { Multimap result = Multimaps.newMultimap( Maps.> newLinkedHashMap(), new Supplier>() { + @Override public Collection get() { return Sets.newTreeSet(getDiagnosticComparator()); } }); result.putAll(Multimaps.index(Arrays.asList(diagnostic), new Function() { + @Override public URI apply(MWEDiagnostic from) { Issue issue = (Issue) from.getElement(); URI uriToProblem = issue.getUriToProblem(); @@ -171,6 +173,7 @@ public class Validator { } public static class MWEDiagnosticComparator implements Comparator { + @Override public int compare(MWEDiagnostic o1, MWEDiagnostic o2) { Issue issue1 = (Issue) o1.getElement(); Issue issue2 = (Issue) o2.getElement(); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/naming/DefaultDeclarativeQualifiedNameProvider.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/naming/DefaultDeclarativeQualifiedNameProvider.java index cda6f406f..b3cb1df48 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/naming/DefaultDeclarativeQualifiedNameProvider.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/naming/DefaultDeclarativeQualifiedNameProvider.java @@ -54,9 +54,11 @@ public class DefaultDeclarativeQualifiedNameProvider extends IQualifiedNameProvi return resolver; } + @Override public QualifiedName getFullyQualifiedName(final EObject obj) { return cache.get(Tuples.pair(obj, "fqn"), obj.eResource(), new Provider(){ + @Override public QualifiedName get() { EObject temp = obj; QualifiedName qualifiedNameFromDispatcher = qualifiedName.invoke(temp); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/naming/IQualifiedNameConverter.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/naming/IQualifiedNameConverter.java index 9b45fe6cc..5588ccc88 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/naming/IQualifiedNameConverter.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/naming/IQualifiedNameConverter.java @@ -38,6 +38,7 @@ public interface IQualifiedNameConverter { * @exception IllegalArgumentException * when the qualified name is null. */ + @Override public String toString(QualifiedName qualifiedName) { if (qualifiedName == null) throw new IllegalArgumentException("Qualified name cannot be null"); @@ -50,6 +51,7 @@ public interface IQualifiedNameConverter { * @exception IllegalArgumentException * if the input is empty or null. */ + @Override public QualifiedName toQualifiedName(String qualifiedNameAsString) { if (qualifiedNameAsString == null) throw new IllegalArgumentException("Qualified name cannot be null"); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/naming/IQualifiedNameProvider.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/naming/IQualifiedNameProvider.java index 1f4fb734a..1ee4e9a01 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/naming/IQualifiedNameProvider.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/naming/IQualifiedNameProvider.java @@ -27,6 +27,7 @@ public interface IQualifiedNameProvider extends Function QualifiedName getFullyQualifiedName(EObject obj); abstract class AbstractImpl implements IQualifiedNameProvider { + @Override public QualifiedName apply(EObject from) { return getFullyQualifiedName(from); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/naming/QualifiedName.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/naming/QualifiedName.java index 0f9589b10..9082514ca 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/naming/QualifiedName.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/naming/QualifiedName.java @@ -153,6 +153,7 @@ public class QualifiedName implements Comparable { */ public static Function wrapper(final Function nameFunction) { return new Function() { + @Override public QualifiedName apply(F from) { String name = nameFunction.apply(from); if (name == null) @@ -289,6 +290,7 @@ public class QualifiedName implements Comparable { && startsWith((QualifiedName) obj, true); } + @Override public int compareTo(QualifiedName qualifiedName) { return compareTo(qualifiedName, false); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/naming/SimpleNameProvider.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/naming/SimpleNameProvider.java index 26a9e5f52..ea7f76b24 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/naming/SimpleNameProvider.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/naming/SimpleNameProvider.java @@ -21,6 +21,7 @@ public class SimpleNameProvider extends IQualifiedNameProvider.AbstractImpl { @Inject private IQualifiedNameConverter qualifiedNameConverter; + @Override public QualifiedName getFullyQualifiedName(EObject obj) { String name = SimpleAttributeResolver.NAME_RESOLVER.apply(obj); if(name == null || name.length() == 0) diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/BidiIterable.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/BidiIterable.java index f7dc1dd4b..81b1462eb 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/BidiIterable.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/BidiIterable.java @@ -17,6 +17,7 @@ public interface BidiIterable extends Iterable { * Returns an iterator that can be used forwards and backwards. * @return an iterator. Never returns null. */ + @Override BidiIterator iterator(); /** diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/BidiTreeIterable.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/BidiTreeIterable.java index c777156c2..4283d2d6c 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/BidiTreeIterable.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/BidiTreeIterable.java @@ -20,11 +20,13 @@ public interface BidiTreeIterable extends BidiIterable { * Returns a tree iterator that can be used forwards and backwards. * @return an iterator. Never returns null. */ + @Override BidiTreeIterator iterator(); /** * {@inheritDoc} */ + @Override BidiTreeIterable reverse(); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/BidiTreeIterator.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/BidiTreeIterator.java index 3a0b0aa5d..0b009f4eb 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/BidiTreeIterator.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/BidiTreeIterator.java @@ -27,6 +27,7 @@ public interface BidiTreeIterator extends TreeIterator, BidiIterator { * * @exception NoSuchElementException iteration has no next element. */ + @Override T next(); /** @@ -38,6 +39,7 @@ public interface BidiTreeIterator extends TreeIterator, BidiIterator { * * @exception NoSuchElementException iteration has no previous element. */ + @Override T previous(); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/impl/AbstractNode.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/impl/AbstractNode.java index e63e4f27c..062a69135 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/impl/AbstractNode.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/impl/AbstractNode.java @@ -56,6 +56,7 @@ public abstract class AbstractNode implements INode, BidiTreeIterable { /** * @since 2.5 */ + @Override public ITextRegion getTextRegion() { int offset = getOffset(); int length = getEndOffset() - offset; @@ -65,6 +66,7 @@ public abstract class AbstractNode implements INode, BidiTreeIterable { /** * @since 2.5 */ + @Override public ITextRegion getTotalTextRegion() { int totalOffset = getTotalOffset(); int totalLength = getTotalLength(); @@ -74,6 +76,7 @@ public abstract class AbstractNode implements INode, BidiTreeIterable { /** * @since 2.5 */ + @Override public ITextRegionWithLineInformation getTextRegionWithLineInformation() { int offset = getOffset(); int length = getEndOffset() - offset; @@ -83,6 +86,7 @@ public abstract class AbstractNode implements INode, BidiTreeIterable { /** * @since 2.5 */ + @Override public ITextRegionWithLineInformation getTotalTextRegionWithLineInformation() { int totalOffset = getTotalOffset(); int totalLength = getTotalLength(); @@ -102,6 +106,7 @@ public abstract class AbstractNode implements INode, BidiTreeIterable { return new TextRegionWithLineInformation(offset, length, 1, 1); } + @Override public ICompositeNode getParent() { if (parent != null) return parent.resolveAsParent(); @@ -116,20 +121,25 @@ public abstract class AbstractNode implements INode, BidiTreeIterable { this.parent = parent; } + @Override public BidiTreeIterable getAsTreeIterable() { return this; } + @Override public BidiTreeIterator iterator() { return new NodeTreeIterator(this); } + @Override public BidiTreeIterable reverse() { return new ReversedBidiTreeIterable(this); } + @Override public Iterable getLeafNodes() { return new Iterable() { + @Override public Iterator iterator() { return Iterators.filter(basicIterator(), ILeafNode.class); } @@ -140,6 +150,7 @@ public abstract class AbstractNode implements INode, BidiTreeIterable { return new BasicNodeTreeIterator(this); } + @Override public String getText() { INode rootNode = getRootNode(); if (rootNode != null) { @@ -150,6 +161,7 @@ public abstract class AbstractNode implements INode, BidiTreeIterable { return null; } + @Override public int getTotalStartLine() { INode rootNode = getRootNode(); if (rootNode != null) { @@ -176,6 +188,7 @@ public abstract class AbstractNode implements INode, BidiTreeIterable { return result + 1; } + @Override public int getStartLine() { INode rootNode = getRootNode(); if (rootNode != null) { @@ -185,6 +198,7 @@ public abstract class AbstractNode implements INode, BidiTreeIterable { return 1; } + @Override public int getEndLine() { INode rootNode = getRootNode(); if (rootNode != null) { @@ -193,6 +207,7 @@ public abstract class AbstractNode implements INode, BidiTreeIterable { return 1; } + @Override public int getTotalEndLine() { INode rootNode = getRootNode(); if (rootNode != null) { @@ -202,6 +217,7 @@ public abstract class AbstractNode implements INode, BidiTreeIterable { return 1; } + @Override public int getOffset() { Iterator leafIter = Iterators.filter(basicIterator(), ILeafNode.class); int firstLeafOffset = -1; @@ -218,6 +234,7 @@ public abstract class AbstractNode implements INode, BidiTreeIterable { return getTotalOffset(); } + @Override public int getLength() { BidiIterator iter = basicIterator(); while(iter.hasPrevious()) { @@ -230,6 +247,7 @@ public abstract class AbstractNode implements INode, BidiTreeIterable { return getTotalLength(); } + @Override public int getTotalEndOffset() { return getTotalOffset() + getTotalLength(); } @@ -237,6 +255,7 @@ public abstract class AbstractNode implements INode, BidiTreeIterable { /** * @since 2.5 */ + @Override public int getEndOffset() { BidiIterator iter = basicIterator(); while(iter.hasPrevious()) { @@ -248,6 +267,7 @@ public abstract class AbstractNode implements INode, BidiTreeIterable { return getTotalEndOffset(); } + @Override public ICompositeNode getRootNode() { if (parent == null) return null; @@ -257,6 +277,7 @@ public abstract class AbstractNode implements INode, BidiTreeIterable { return candidate.getRootNode(); } + @Override public EObject getSemanticElement() { if (parent == null) return null; @@ -267,10 +288,12 @@ public abstract class AbstractNode implements INode, BidiTreeIterable { return null; } + @Override public boolean hasDirectSemanticElement() { return basicGetSemanticElement() != null; } + @Override public EObject getGrammarElement() { return (EObject) grammarElementOrArray; } @@ -283,10 +306,12 @@ public abstract class AbstractNode implements INode, BidiTreeIterable { this.grammarElementOrArray = grammarElementOrArray; } + @Override public SyntaxErrorMessage getSyntaxErrorMessage() { return null; } + @Override public INode getPreviousSibling() { if (!hasPreviousSibling()) return null; @@ -301,6 +326,7 @@ public abstract class AbstractNode implements INode, BidiTreeIterable { this.prev = prev; } + @Override public INode getNextSibling() { if (!hasNextSibling()) return null; @@ -315,6 +341,7 @@ public abstract class AbstractNode implements INode, BidiTreeIterable { this.next = next; } + @Override public boolean hasPreviousSibling() { return basicHasPreviousSibling(); } @@ -325,6 +352,7 @@ public abstract class AbstractNode implements INode, BidiTreeIterable { return parent.basicGetFirstChild() != this; } + @Override public boolean hasNextSibling() { return basicHasNextSibling(); } @@ -335,6 +363,7 @@ public abstract class AbstractNode implements INode, BidiTreeIterable { return parent.basicGetLastChild() != this; } + @Override public boolean hasSiblings() { return basicHasSiblings(); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/impl/BasicNodeIterable.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/impl/BasicNodeIterable.java index 6178e46a0..ec87306e1 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/impl/BasicNodeIterable.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/impl/BasicNodeIterable.java @@ -15,18 +15,22 @@ public class BasicNodeIterable implements BidiIterable { this.startWith = startWith; } + @Override public BidiIterator iterator() { return new BasicNodeIterator(startWith); } + @Override public BidiIterable reverse() { return new BidiIterable() { + @Override public BidiIterator iterator() { BidiIterator delegate = BasicNodeIterable.this.iterator(); return new ReversedBidiIterator(delegate); } + @Override public BidiIterable reverse() { return BasicNodeIterable.this; } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/impl/BasicNodeIterator.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/impl/BasicNodeIterator.java index 8e5fbace0..4577c8e72 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/impl/BasicNodeIterator.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/impl/BasicNodeIterator.java @@ -26,10 +26,12 @@ public class BasicNodeIterator extends UnmodifiableIterator implem this.startWith = startWith; } + @Override public boolean hasNext() { return lastReturned == null || lastReturned.basicHasNextSibling(); } + @Override public AbstractNode next() { if (!hasNext()) throw new NoSuchElementException(); @@ -41,10 +43,12 @@ public class BasicNodeIterator extends UnmodifiableIterator implem return lastReturned; } + @Override public boolean hasPrevious() { return lastReturned == null || lastReturned.basicHasPreviousSibling(); } + @Override public AbstractNode previous() { if (!hasPrevious()) throw new NoSuchElementException(); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/impl/BasicNodeTreeIterator.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/impl/BasicNodeTreeIterator.java index 643eda459..aeb89441e 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/impl/BasicNodeTreeIterator.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/impl/BasicNodeTreeIterator.java @@ -31,6 +31,7 @@ public class BasicNodeTreeIterator extends UnmodifiableIterator im this.root = root; } + @Override public boolean hasNext() { if (nextComputed) return next != null; @@ -50,6 +51,7 @@ public class BasicNodeTreeIterator extends UnmodifiableIterator im return next != null; } + @Override public AbstractNode next() { if (next == null && !hasNext()) throw new NoSuchElementException(); @@ -66,6 +68,7 @@ public class BasicNodeTreeIterator extends UnmodifiableIterator im pruned = false; } + @Override public boolean hasPrevious() { if (previousComputed) return previous != null; @@ -85,6 +88,7 @@ public class BasicNodeTreeIterator extends UnmodifiableIterator im return previous != null; } + @Override public AbstractNode previous() { if (previous == null && !hasPrevious()) throw new NoSuchElementException(); @@ -93,6 +97,7 @@ public class BasicNodeTreeIterator extends UnmodifiableIterator im return lastReturned; } + @Override public void prune() { if (lastReturned == null) throw new IllegalStateException("Cannot prune before #next or #previous"); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/impl/CompositeNode.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/impl/CompositeNode.java index edf31e998..a7e3f4a71 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/impl/CompositeNode.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/impl/CompositeNode.java @@ -37,6 +37,7 @@ public class CompositeNode extends AbstractNode implements ICompositeNode { private int lookAhead; + @Override public BidiIterable getChildren() { if (hasChildren()) { INode firstChild = getFirstChild(); @@ -60,14 +61,17 @@ public class CompositeNode extends AbstractNode implements ICompositeNode { return EmptyBidiIterable.instance(); } + @Override public boolean hasChildren() { return firstChild != null || isFolded(); } + @Override public int getLookAhead() { return lookAhead; } + @Override public int getTotalLength() { if (firstChild != null) { int offset = firstChild.getTotalOffset(); @@ -77,6 +81,7 @@ public class CompositeNode extends AbstractNode implements ICompositeNode { return 0; } + @Override public int getTotalOffset() { if (firstChild != null) return firstChild.getTotalOffset(); @@ -110,6 +115,7 @@ public class CompositeNode extends AbstractNode implements ICompositeNode { this.lookAhead = lookAhead; } + @Override public INode getFirstChild() { if (isFolded()) { return new SyntheticCompositeNode(this, 1); @@ -125,6 +131,7 @@ public class CompositeNode extends AbstractNode implements ICompositeNode { this.firstChild = firstChild; } + @Override public INode getLastChild() { if (isFolded()) { return new SyntheticCompositeNode(this, 1); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/impl/CompositeNodeWithSemanticElement.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/impl/CompositeNodeWithSemanticElement.java index 4c178e32d..61b09b79a 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/impl/CompositeNodeWithSemanticElement.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/impl/CompositeNodeWithSemanticElement.java @@ -45,14 +45,17 @@ public class CompositeNodeWithSemanticElement extends CompositeNode implements A this.semanticElement = element; } + @Override public void notifyChanged(Notification notification) { // ignore } + @Override public Notifier getTarget() { return semanticElement; } + @Override public void setTarget(Notifier newTarget) { if (newTarget == null || newTarget instanceof EObject) semanticElement = (EObject) newTarget; @@ -60,6 +63,7 @@ public class CompositeNodeWithSemanticElement extends CompositeNode implements A throw new IllegalArgumentException("Notifier must be an Eobject"); } + @Override public boolean isAdapterForType(Object type) { return type instanceof Class && INode.class.isAssignableFrom((Class)type); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/impl/LeafNode.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/impl/LeafNode.java index 15d98cba8..571e5ecdd 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/impl/LeafNode.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/impl/LeafNode.java @@ -28,14 +28,17 @@ public class LeafNode extends AbstractNode implements ILeafNode { private int totalLength; + @Override public boolean isHidden() { return false; } + @Override public int getTotalOffset() { return totalOffset; } + @Override public int getTotalLength() { return totalLength; } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/impl/NodeModelBuilder.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/impl/NodeModelBuilder.java index 5d273b7d7..333e572d8 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/impl/NodeModelBuilder.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/impl/NodeModelBuilder.java @@ -65,6 +65,7 @@ public class NodeModelBuilder { private Map, T[]> map = Maps.newHashMap(); + @Override public /* @Nullable */ T[] intern(/* @Nullable */ T[] sample) { ArrayAsList key = new ArrayAsList(sample); T[] canonical = map.get(key); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/impl/SyntheticCompositeNode.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/impl/SyntheticCompositeNode.java index 69bd52054..71d4bfc7e 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/impl/SyntheticCompositeNode.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/impl/SyntheticCompositeNode.java @@ -39,109 +39,135 @@ public class SyntheticCompositeNode implements ICompositeNode, BidiTreeIterable< this.grammarElementIdx = grammarElementIdx; } + @Override public ICompositeNode getParent() { if (grammarElementIdx == 1) return delegate; return new SyntheticCompositeNode(delegate, grammarElementIdx - 1); } + @Override public boolean hasSiblings() { return false; } + @Override public boolean hasPreviousSibling() { return false; } + @Override public boolean hasNextSibling() { return false; } + @Override public INode getPreviousSibling() { return null; } + @Override public INode getNextSibling() { return null; } + @Override public ICompositeNode getRootNode() { return delegate.getRootNode(); } + @Override public int getTotalOffset() { return delegate.getTotalOffset(); } + @Override public int getOffset() { return delegate.getOffset(); } + @Override public int getLength() { return delegate.getLength(); } + @Override public int getTotalStartLine() { return delegate.getTotalStartLine(); } + @Override public int getEndLine() { return delegate.getEndLine(); } + @Override public int getStartLine() { return delegate.getStartLine(); } + @Override public int getTotalEndLine() { return delegate.getTotalEndLine(); } + @Override public int getTotalLength() { return delegate.getTotalLength(); } + @Override public int getTotalEndOffset() { return delegate.getTotalEndOffset(); } + @Override public String getText() { return delegate.getText(); } + @Override public EObject getGrammarElement() { EObject[] array = (EObject[]) delegate.basicGetGrammarElement(); return array[grammarElementIdx]; } + @Override public EObject getSemanticElement() { return delegate.getSemanticElement(); } + @Override public boolean hasDirectSemanticElement() { return false; } + @Override public SyntaxErrorMessage getSyntaxErrorMessage() { return null; } + @Override public BidiTreeIterable getAsTreeIterable() { return this; } + @Override public BidiTreeIterator iterator() { return new NodeTreeIterator(this); } + @Override public Iterable getLeafNodes() { return delegate.getLeafNodes(); } + @Override public BidiTreeIterable reverse() { return new ReversedBidiTreeIterable(this); } + @Override public BidiIterable getChildren() { if (hasChildren()) { INode firstChild = getFirstChild(); @@ -154,6 +180,7 @@ public class SyntheticCompositeNode implements ICompositeNode, BidiTreeIterable< return EmptyBidiIterable.instance(); } + @Override public boolean hasChildren() { EObject[] array = (EObject[]) delegate.basicGetGrammarElement(); if (array.length == grammarElementIdx + 1) @@ -161,6 +188,7 @@ public class SyntheticCompositeNode implements ICompositeNode, BidiTreeIterable< return true; } + @Override public INode getFirstChild() { EObject[] array = (EObject[]) delegate.basicGetGrammarElement(); if (array.length == grammarElementIdx + 1) @@ -168,6 +196,7 @@ public class SyntheticCompositeNode implements ICompositeNode, BidiTreeIterable< return new SyntheticCompositeNode(delegate, grammarElementIdx + 1); } + @Override public INode getLastChild() { EObject[] array = (EObject[]) delegate.basicGetGrammarElement(); if (array.length == grammarElementIdx + 1) @@ -175,6 +204,7 @@ public class SyntheticCompositeNode implements ICompositeNode, BidiTreeIterable< return new SyntheticCompositeNode(delegate, grammarElementIdx + 1); } + @Override public int getLookAhead() { return delegate.getLookAhead(); } @@ -197,6 +227,7 @@ public class SyntheticCompositeNode implements ICompositeNode, BidiTreeIterable< /** * @since 2.5 */ + @Override public ITextRegion getTextRegion() { return delegate.getTextRegion(); } @@ -204,6 +235,7 @@ public class SyntheticCompositeNode implements ICompositeNode, BidiTreeIterable< /** * @since 2.5 */ + @Override public ITextRegion getTotalTextRegion() { return delegate.getTotalTextRegion(); } @@ -211,6 +243,7 @@ public class SyntheticCompositeNode implements ICompositeNode, BidiTreeIterable< /** * @since 2.5 */ + @Override public ITextRegionWithLineInformation getTextRegionWithLineInformation() { return delegate.getTextRegionWithLineInformation(); } @@ -218,6 +251,7 @@ public class SyntheticCompositeNode implements ICompositeNode, BidiTreeIterable< /** * @since 2.5 */ + @Override public ITextRegionWithLineInformation getTotalTextRegionWithLineInformation() { return delegate.getTotalTextRegionWithLineInformation(); } @@ -225,6 +259,7 @@ public class SyntheticCompositeNode implements ICompositeNode, BidiTreeIterable< /** * @since 2.5 */ + @Override public int getEndOffset() { return delegate.getEndOffset(); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/util/EmptyBidiIterable.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/util/EmptyBidiIterable.java index f29f27230..c0a418e20 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/util/EmptyBidiIterable.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/util/EmptyBidiIterable.java @@ -22,10 +22,12 @@ public class EmptyBidiIterable implements BidiIterable { return (EmptyBidiIterable) INSTANCE; } + @Override public BidiIterator iterator() { return EmptyBidiIterator.instance(); } + @Override public BidiIterable reverse() { return null; } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/util/EmptyBidiIterator.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/util/EmptyBidiIterator.java index 2223e4ee7..a8ecc4600 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/util/EmptyBidiIterator.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/util/EmptyBidiIterator.java @@ -25,18 +25,22 @@ public class EmptyBidiIterator extends UnmodifiableIterator implements Bid return (BidiIterator) INSTANCE; } + @Override public boolean hasNext() { return false; } + @Override public T next() { throw new NoSuchElementException(); } + @Override public boolean hasPrevious() { return false; } + @Override public T previous() { throw new NoSuchElementException(); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/util/NodeIterable.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/util/NodeIterable.java index 4555b86e4..cc673c970 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/util/NodeIterable.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/util/NodeIterable.java @@ -15,10 +15,12 @@ public class NodeIterable implements BidiIterable { this.startWith = startWith; } + @Override public BidiIterator iterator() { return new NodeIterator(startWith); } + @Override public BidiIterable reverse() { return new ReversedBidiIterable(this); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/util/NodeIterator.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/util/NodeIterator.java index cababdb1d..494956fc0 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/util/NodeIterator.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/util/NodeIterator.java @@ -26,10 +26,12 @@ public class NodeIterator extends UnmodifiableIterator implements BidiIte this.startWith = startWith; } + @Override public boolean hasNext() { return lastReturned == null || lastReturned.hasNextSibling(); } + @Override public INode next() { if (!hasNext()) throw new NoSuchElementException(); @@ -41,10 +43,12 @@ public class NodeIterator extends UnmodifiableIterator implements BidiIte return lastReturned; } + @Override public boolean hasPrevious() { return lastReturned == null || lastReturned.hasPreviousSibling(); } + @Override public INode previous() { if (!hasPrevious()) throw new NoSuchElementException(); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/util/NodeTreeIterator.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/util/NodeTreeIterator.java index 9748438b2..14f6e28da 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/util/NodeTreeIterator.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/util/NodeTreeIterator.java @@ -33,6 +33,7 @@ public class NodeTreeIterator extends UnmodifiableIterator implements Bid this.root = root; } + @Override public boolean hasNext() { if (nextComputed) return next != null; @@ -54,6 +55,7 @@ public class NodeTreeIterator extends UnmodifiableIterator implements Bid return next != null; } + @Override public INode next() { if (next == null && !hasNext()) throw new NoSuchElementException(); @@ -71,6 +73,7 @@ public class NodeTreeIterator extends UnmodifiableIterator implements Bid pruned = false; } + @Override public boolean hasPrevious() { if (previousComputed) return previous != null; @@ -92,6 +95,7 @@ public class NodeTreeIterator extends UnmodifiableIterator implements Bid return previous != null; } + @Override public INode previous() { if (previous == null && !hasPrevious()) throw new NoSuchElementException(); @@ -101,6 +105,7 @@ public class NodeTreeIterator extends UnmodifiableIterator implements Bid return lastPreviousReturned; } + @Override public void prune() { if (lastPreviousReturned == null && lastNextReturned == null) throw new IllegalStateException("Cannot prune before #next or #previous"); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/util/ReversedBidiIterable.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/util/ReversedBidiIterable.java index 33ae69142..c5721a44e 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/util/ReversedBidiIterable.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/util/ReversedBidiIterable.java @@ -17,11 +17,13 @@ public class ReversedBidiIterable implements BidiIterable { this.delegate = delegate; } + @Override public BidiIterator iterator() { BidiIterator delegate = getDelegate().iterator(); return new ReversedBidiIterator(delegate); } + @Override public BidiIterable reverse() { return delegate; } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/util/ReversedBidiIterator.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/util/ReversedBidiIterator.java index c46b82bb3..879d3421d 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/util/ReversedBidiIterator.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/util/ReversedBidiIterator.java @@ -16,22 +16,27 @@ public class ReversedBidiIterator implements BidiIterator { this.delegate = delegate; } + @Override public boolean hasNext() { return delegate.hasPrevious(); } + @Override public T next() { return delegate.previous(); } + @Override public void remove() { delegate.remove(); } + @Override public boolean hasPrevious() { return delegate.hasNext(); } + @Override public T previous() { return delegate.next(); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/util/ReversedBidiTreeIterator.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/util/ReversedBidiTreeIterator.java index f23c7bd69..b4b59dc28 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/util/ReversedBidiTreeIterator.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/util/ReversedBidiTreeIterator.java @@ -15,6 +15,7 @@ public class ReversedBidiTreeIterator extends ReversedBidiIterator impleme super(delegate); } + @Override public void prune() { getDelegate().prune(); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/util/SingletonBidiIterable.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/util/SingletonBidiIterable.java index 3f6abff7e..0887582e6 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/util/SingletonBidiIterable.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/util/SingletonBidiIterable.java @@ -25,10 +25,12 @@ public class SingletonBidiIterable implements BidiIterable { this.value = value; } + @Override public BidiIterator iterator() { return SingletonBidiIterator.create(value); } + @Override public BidiIterable reverse() { return this; } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/util/SingletonBidiIterator.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/util/SingletonBidiIterator.java index 1ec38c489..0f1fdce27 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/util/SingletonBidiIterator.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/nodemodel/util/SingletonBidiIterator.java @@ -32,10 +32,12 @@ public class SingletonBidiIterator extends UnmodifiableIterator implements donePrevious = false; } + @Override public boolean hasNext() { return !doneNext; } + @Override public T next() { if (doneNext) { throw new NoSuchElementException(); @@ -45,10 +47,12 @@ public class SingletonBidiIterator extends UnmodifiableIterator implements return value; } + @Override public boolean hasPrevious() { return !donePrevious; } + @Override public T previous() { if (donePrevious) { throw new NoSuchElementException(); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/AbstractParser.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/AbstractParser.java index c1ee7633c..049ebf923 100755 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/AbstractParser.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/AbstractParser.java @@ -25,6 +25,7 @@ public abstract class AbstractParser implements IParser { return false; } + @Override public final IParseResult parse(Reader reader) { StoppedTask task = Stopwatches.forTask("AbstractParser.parse"); try { @@ -39,6 +40,7 @@ public abstract class AbstractParser implements IParser { protected abstract IParseResult doParse(CharSequence sequence); + @Override public final IParseResult reparse(IParseResult previousResult, ReplaceRegion replaceRegion) { if (!isReparseSupported()) { final StringBuilder builder = new StringBuilder(previousResult.getRootNode().getText()); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/DefaultEcoreElementFactory.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/DefaultEcoreElementFactory.java index 914c1bfd7..27f8a69e6 100755 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/DefaultEcoreElementFactory.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/DefaultEcoreElementFactory.java @@ -45,6 +45,7 @@ public class DefaultEcoreElementFactory implements IAstFactory { this.converterService = converterService; } + @Override public EObject create(EClassifier classifier) { if (classifier == null) throw new NullPointerException("Classifier may not be null."); @@ -58,6 +59,7 @@ public class DefaultEcoreElementFactory implements IAstFactory { return clazz.getEPackage().getEFactoryInstance().create(clazz); } + @Override public void set(EObject object, String feature, Object value, String ruleName, INode node) throws ValueConverterException { final EStructuralFeature structuralFeature = object.eClass().getEStructuralFeature(feature); if (structuralFeature == null) @@ -96,6 +98,7 @@ public class DefaultEcoreElementFactory implements IAstFactory { return tokenOrValue; } + @Override @SuppressWarnings("unchecked") public void add(EObject object, String feature, Object value, String ruleName, INode node) throws ValueConverterException { if (value == null) diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/IEncodingProvider.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/IEncodingProvider.java index 6097b4b88..ca3e287b4 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/IEncodingProvider.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/IEncodingProvider.java @@ -40,6 +40,7 @@ public interface IEncodingProvider { private String defaultEncoding = null; + @Override public String getEncoding(URI uri) { if (defaultEncoding != null) return defaultEncoding; diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/IParser.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/IParser.java index 04d1a87e6..58468316f 100755 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/IParser.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/IParser.java @@ -33,18 +33,22 @@ public interface IParser { static class NullImpl implements IParser { + @Override public IParseResult parse(Reader reader) { return null; } + @Override public IParseResult parse(ParserRule rule, Reader reader) { return null; } + @Override public IParseResult parse(RuleCall ruleCall, Reader reader, int initialLookAhead) { return null; } + @Override public IParseResult reparse(IParseResult previousParseResult, ReplaceRegion replaceRegion) { return null; } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/ParseResult.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/ParseResult.java index e570272b9..49720d35b 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/ParseResult.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/ParseResult.java @@ -44,19 +44,23 @@ public class ParseResult implements IParseResult { } /* @Nullable */ - public EObject getRootASTElement() { + @Override + public EObject getRootASTElement() { return rootAstElement; } /* @NonNull */ + @Override public Iterable getSyntaxErrors() { if (rootNode == null || !hasSyntaxErrors()) return Collections.emptyList(); return new Iterable() { + @Override @SuppressWarnings("unchecked") public Iterator iterator() { Iterator result = Iterators.filter(((CompositeNode) rootNode).basicIterator(), new Predicate() { + @Override public boolean apply(AbstractNode input) { return input.getSyntaxErrorMessage() != null; } @@ -67,6 +71,7 @@ public class ParseResult implements IParseResult { } /* @NonNull */ + @Override public ICompositeNode getRootNode() { return rootNode; } @@ -76,6 +81,7 @@ public class ParseResult implements IParseResult { this.rootNode = rootNode; } + @Override public boolean hasSyntaxErrors() { return hasErrors; } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/antlr/AbstractAntlrParser.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/antlr/AbstractAntlrParser.java index 79c813e80..a465d2012 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/antlr/AbstractAntlrParser.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/antlr/AbstractAntlrParser.java @@ -111,6 +111,7 @@ public abstract class AbstractAntlrParser extends AbstractParser { protected abstract AbstractInternalAntlrParser createParser(XtextTokenStream stream); + @Override public IParseResult parse(ParserRule rule, Reader reader) { try { IParseResult parseResult = parse(rule.getName(), new ANTLRReaderStream(reader)); @@ -120,6 +121,7 @@ public abstract class AbstractAntlrParser extends AbstractParser { } } + @Override public IParseResult parse(RuleCall ruleCall, Reader reader, int initialLookAhead) { try { NodeModelBuilder builder = nodeModelBuilder.get(); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/antlr/AbstractInternalAntlrParser.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/antlr/AbstractInternalAntlrParser.java index 5dbcac29f..6eca5cc3e 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/antlr/AbstractInternalAntlrParser.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/antlr/AbstractInternalAntlrParser.java @@ -85,14 +85,17 @@ public abstract class AbstractInternalAntlrParser extends Parser { this.recognitionException = recognitionException; } + @Override public String getDefaultMessage() { return superGetErrorMessage(getRecognitionException(), getTokenNames()); } + @Override public RecognitionException getRecognitionException() { return recognitionException; } + @Override public String[] getTokenNames() { return readableTokenNames; } @@ -106,14 +109,17 @@ public abstract class AbstractInternalAntlrParser extends Parser { this.message = message; } + @Override public String getDefaultMessage() { return message; } + @Override public RecognitionException getRecognitionException() { return null; } + @Override public String[] getTokenNames() { return readableTokenNames; } @@ -136,6 +142,7 @@ public abstract class AbstractInternalAntlrParser extends Parser { return (FailedPredicateException) super.getRecognitionException(); } + @Override public List getMissingMandatoryElements() { List result = missingMandatoryElements; if (result == null) { @@ -179,10 +186,12 @@ public abstract class AbstractInternalAntlrParser extends Parser { this.valueConverterException = valueConverterException; } + @Override public String getDefaultMessage() { return getValueConverterExceptionMessage(getValueConverterException()); } + @Override public ValueConverterException getValueConverterException() { return valueConverterException; } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/antlr/AbstractSplittingTokenSource.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/antlr/AbstractSplittingTokenSource.java index 296ebd645..b8e9870ce 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/antlr/AbstractSplittingTokenSource.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/antlr/AbstractSplittingTokenSource.java @@ -45,6 +45,7 @@ public abstract class AbstractSplittingTokenSource implements TokenSource { return delegate; } + @Override public Token nextToken() { if (nextTokens.hasNext()) { Token result = nextTokens.next(); @@ -56,6 +57,7 @@ public abstract class AbstractSplittingTokenSource implements TokenSource { return result; } + @Override public String getSourceName() { return "[SplittingTokenSource] " + delegate.getSourceName(); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/antlr/AntlrTokenDefProvider.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/antlr/AntlrTokenDefProvider.java index 4952a473b..75b212e97 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/antlr/AntlrTokenDefProvider.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/antlr/AntlrTokenDefProvider.java @@ -38,6 +38,7 @@ public class AntlrTokenDefProvider implements ITokenDefProvider { protected volatile Map tokenDefMap; + @Override public Map getTokenDefMap() { if (antlrTokenFileProvider == null) return Collections.emptyMap(); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/antlr/AntlrTokenToStringConverter.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/antlr/AntlrTokenToStringConverter.java index 83f7061f8..62e6c2ec5 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/antlr/AntlrTokenToStringConverter.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/antlr/AntlrTokenToStringConverter.java @@ -16,6 +16,7 @@ import org.eclipse.xtext.parser.impl.DatatypeRuleToken; */ public class AntlrTokenToStringConverter implements ITokenToStringConverter { + @Override public Object getTokenAsStringIfPossible(Object tokenOrValue) { Object value = tokenOrValue; if (value instanceof DatatypeRuleToken) { diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/antlr/IReferableElementsUnloader.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/antlr/IReferableElementsUnloader.java index 4a1b83c8d..fa4d72d4e 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/antlr/IReferableElementsUnloader.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/antlr/IReferableElementsUnloader.java @@ -32,6 +32,7 @@ public interface IReferableElementsUnloader { final class NullUnloader implements IReferableElementsUnloader { + @Override public void unloadRoot(EObject root) { // do nothing } @@ -40,6 +41,7 @@ public interface IReferableElementsUnloader { class GenericUnloader implements IReferableElementsUnloader { + @Override public void unloadRoot(EObject root) { // Content adapters should be removed the same way as they are added: top-down. // Fragments are recursive, so we need them to be calculated before proxifying the container. diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/antlr/ISyntaxErrorMessageProvider.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/antlr/ISyntaxErrorMessageProvider.java index 9af5a1e0f..62aeca0ec 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/antlr/ISyntaxErrorMessageProvider.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/antlr/ISyntaxErrorMessageProvider.java @@ -109,6 +109,7 @@ public interface ISyntaxErrorMessageProvider { * Returns the failed predicate exception caused by a specific unordered group. * @return the failed predicate exception caused by a specific unordered group. Never null. */ + @Override FailedPredicateException getRecognitionException(); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/antlr/IUnorderedGroupHelper.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/antlr/IUnorderedGroupHelper.java index e9442b2bc..88e145ed8 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/antlr/IUnorderedGroupHelper.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/antlr/IUnorderedGroupHelper.java @@ -69,38 +69,47 @@ public interface IUnorderedGroupHelper { public static class Null implements IUnorderedGroupHelper, UnorderedGroupState { + @Override public void initializeWith(BaseRecognizer recognizer) { // ignore } + @Override public void enter(UnorderedGroup group) { throw new UnsupportedOperationException(); } + @Override public void leave(UnorderedGroup group) { throw new UnsupportedOperationException(); } + @Override public boolean canSelect(UnorderedGroup group, int index) { throw new UnsupportedOperationException(); } + @Override public void select(UnorderedGroup group, int index) { throw new UnsupportedOperationException(); } + @Override public void returnFromSelection(UnorderedGroup group) { throw new UnsupportedOperationException(); } + @Override public boolean canLeave(UnorderedGroup group) { throw new UnsupportedOperationException(); } + @Override public void restore() { throw new UnsupportedOperationException(); } + @Override public UnorderedGroupState snapShot(UnorderedGroup... group) { throw new UnsupportedOperationException(); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/antlr/LexerProvider.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/antlr/LexerProvider.java index 4694a2859..47335a1dc 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/antlr/LexerProvider.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/antlr/LexerProvider.java @@ -38,6 +38,7 @@ public class LexerProvider implements Provider { * constructor because it will not initialize the backtracking state of the lexer. * Instead, we pass null as CharStream argument. */ + @Override public T get() { try { return clazz.getConstructor(CharStream.class).newInstance(new Object[] { null }); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/antlr/NullTokenDefProvider.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/antlr/NullTokenDefProvider.java index 4d6f4107e..1122da808 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/antlr/NullTokenDefProvider.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/antlr/NullTokenDefProvider.java @@ -15,6 +15,7 @@ import java.util.Map; */ public class NullTokenDefProvider implements ITokenDefProvider { + @Override public Map getTokenDefMap() { return Collections.emptyMap(); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/antlr/SyntaxErrorMessageProvider.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/antlr/SyntaxErrorMessageProvider.java index 742cc31dd..feb7125b1 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/antlr/SyntaxErrorMessageProvider.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/antlr/SyntaxErrorMessageProvider.java @@ -18,10 +18,12 @@ import org.eclipse.xtext.nodemodel.SyntaxErrorMessage; */ public class SyntaxErrorMessageProvider implements ISyntaxErrorMessageProvider { + @Override public SyntaxErrorMessage getSyntaxErrorMessage(IParserErrorContext context) { return new SyntaxErrorMessage(context.getDefaultMessage(), SYNTAX_DIAGNOSTIC); } + @Override public SyntaxErrorMessage getSyntaxErrorMessage(IValueConverterErrorContext context) { ValueConverterException cause = context.getValueConverterException(); if (cause instanceof ValueConverterWithValueException) { diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/antlr/TokenAcceptor.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/antlr/TokenAcceptor.java index 119996b91..3ccdc4f61 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/antlr/TokenAcceptor.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/antlr/TokenAcceptor.java @@ -16,14 +16,17 @@ public class TokenAcceptor implements ITokenAcceptor, Iterator { private Queue queue = new LinkedList(); + @Override public void accept(Token token) { queue.offer(token); } + @Override public boolean hasNext() { return queue.peek() != null; } + @Override public Token next() { return queue.remove(); } @@ -70,6 +73,7 @@ public class TokenAcceptor implements ITokenAcceptor, Iterator { // return result; // } + @Override public void remove() { throw new UnsupportedOperationException(); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/antlr/TokenDefProvider.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/antlr/TokenDefProvider.java index 093869204..aca84f458 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/antlr/TokenDefProvider.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/antlr/TokenDefProvider.java @@ -32,6 +32,7 @@ public class TokenDefProvider implements ITokenDefProvider { private int current = 4; + @Override public Integer apply(String from) { Integer result = current; current++; @@ -42,6 +43,7 @@ public class TokenDefProvider implements ITokenDefProvider { return new TokenDefProvider(index); } + @Override public Map getTokenDefMap() { return index; } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/antlr/UnorderedGroupHelper.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/antlr/UnorderedGroupHelper.java index 99f54ee09..3efe0bcbf 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/antlr/UnorderedGroupHelper.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/antlr/UnorderedGroupHelper.java @@ -77,6 +77,7 @@ public class UnorderedGroupHelper implements IUnorderedGroupHelper { allGroups = collector.getGroups().toArray(new UnorderedGroup[collector.getGroups().size()]); } + @Override public void initializeWith(BaseRecognizer recognizer) { this.recognizer = recognizer; } @@ -122,30 +123,37 @@ public class UnorderedGroupHelper implements IUnorderedGroupHelper { return recognizer.getBacktrackingLevel(); } + @Override public void enter(UnorderedGroup group) { get(group).enter(); } + @Override public void leave(UnorderedGroup group) { get(group).leave(); } + @Override public boolean canSelect(UnorderedGroup group, int index) { return get(group).canSelect(index); } + @Override public void select(UnorderedGroup group, int index) { get(group).select(index); } + @Override public void returnFromSelection(UnorderedGroup group) { get(group).returnFromSelection(); } + @Override public boolean canLeave(UnorderedGroup group) { return get(group).canLeave(); } + @Override public UnorderedGroupState snapShot(UnorderedGroup... groups) { return new UnorderedGroupStateImpl(groups); } @@ -167,6 +175,7 @@ public class UnorderedGroupHelper implements IUnorderedGroupHelper { } } + @Override public void restore() { UnorderedGroupHelper.this.groupToState.putAll(groupToState); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/antlr/XtextTokenStream.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/antlr/XtextTokenStream.java index 0b0f636fb..1df85817f 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/antlr/XtextTokenStream.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/antlr/XtextTokenStream.java @@ -159,6 +159,7 @@ public class XtextTokenStream extends CommonTokenStream { private MyHiddenTokens(BitSet prev) { this. prev = prev; } + @Override public void restore() { skipHiddenTokens(); XtextTokenStream.this.hiddenTokens = prev; diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/impl/PartialParsingHelper.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/impl/PartialParsingHelper.java index 324764b51..4cdd59cfa 100755 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/impl/PartialParsingHelper.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parser/impl/PartialParsingHelper.java @@ -68,6 +68,7 @@ public class PartialParsingHelper implements IPartialParsingHelper { @Inject(optional=true) private TokenRegionProvider tokenRegionProvider; + @Override @SuppressWarnings({ "unchecked", "rawtypes" }) public IParseResult reparse(IParser parser, IParseResult previousParseResult, ReplaceRegion changedRegion) { if (parser == null) diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/Serializer.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/Serializer.java index 1dea97c7e..c27fd518b 100755 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/Serializer.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/Serializer.java @@ -66,14 +66,17 @@ public class Serializer implements ISerializer { return report; } + @Override public void serialize(EObject obj, Writer writer, SaveOptions options) throws IOException { serialize(obj, new WriterTokenStream(writer), options); } + @Override public String serialize(EObject obj) { return serialize(obj, SaveOptions.defaultOptions()); } + @Override public String serialize(EObject obj, SaveOptions options) { TokenStringBuffer tokenStringBuffer = new TokenStringBuffer(); try { @@ -100,6 +103,7 @@ public class Serializer implements ISerializer { return serialize(obj, options.toSaveOptions()); } + @Override public ReplaceRegion serializeReplacement(EObject obj, SaveOptions options) { TokenStringBuffer tokenStringBuffer = new TokenStringBuffer(); try { diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/impl/AbstractHiddenTokenHelper.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/impl/AbstractHiddenTokenHelper.java index 6eabee705..b342446b7 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/impl/AbstractHiddenTokenHelper.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/impl/AbstractHiddenTokenHelper.java @@ -16,6 +16,7 @@ import org.eclipse.xtext.parsetree.reconstr.IHiddenTokenHelper; */ public abstract class AbstractHiddenTokenHelper implements IHiddenTokenHelper { + @Override @SuppressWarnings("deprecation") public AbstractRule getWhitespaceRuleFor(ParserRule context, String whitespace) { return getWhitespaceRuleFor(whitespace); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/impl/AbstractKeywordSerializer.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/impl/AbstractKeywordSerializer.java index 38a30e819..670900ce7 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/impl/AbstractKeywordSerializer.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/impl/AbstractKeywordSerializer.java @@ -18,22 +18,26 @@ import org.eclipse.xtext.parsetree.reconstr.ITokenSerializer.IKeywordSerializer; */ public abstract class AbstractKeywordSerializer implements IKeywordSerializer { + @Override public String serializeAssignedKeyword(EObject context, Keyword keyword, Object value, INode node) { if (node != null && node.getGrammarElement() == keyword) return ITokenSerializer.KEEP_VALUE_FROM_NODE_MODEL; return keyword.getValue(); } + @Override public String serializeUnassignedKeyword(EObject context, Keyword keyword, INode node) { if (node != null && node.getGrammarElement() == keyword) return ITokenSerializer.KEEP_VALUE_FROM_NODE_MODEL; return keyword.getValue(); } + @Override public boolean equalsOrReplacesNode(EObject context, Keyword keyword, INode node) { return node.getGrammarElement() == keyword; } + @Override public boolean equalsOrReplacesNode(EObject context, Keyword keyword, Object value, INode node) { return node.getGrammarElement() == keyword; } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/impl/AbstractParseTreeConstructor.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/impl/AbstractParseTreeConstructor.java index 735333f9c..e66083680 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/impl/AbstractParseTreeConstructor.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/impl/AbstractParseTreeConstructor.java @@ -709,6 +709,7 @@ public abstract class AbstractParseTreeConstructor implements IParseTreeConstruc return root; } + @Override public TreeConstructionReport serializeSubtree(EObject object, ITokenStream out) throws IOException { TreeConstructionReportImpl report = createReport(object); AbstractToken root = serialize(object, report); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/impl/AbstractTransientValueService.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/impl/AbstractTransientValueService.java index 536f8f32c..a690169a2 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/impl/AbstractTransientValueService.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/impl/AbstractTransientValueService.java @@ -15,6 +15,7 @@ import org.eclipse.xtext.parsetree.reconstr.ITransientValueService; * @author Moritz Eysholdt - Initial contribution and API */ public abstract class AbstractTransientValueService implements ITransientValueService { + @Override public boolean isCheckElementsIndividually(EObject owner, EStructuralFeature feature) { return false; } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/impl/CrossReferenceSerializer.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/impl/CrossReferenceSerializer.java index d8dc235dd..c879b3a14 100755 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/impl/CrossReferenceSerializer.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/impl/CrossReferenceSerializer.java @@ -52,6 +52,7 @@ public class CrossReferenceSerializer implements ICrossReferenceSerializer { @Inject private IQualifiedNameConverter qualifiedNameConverter; + @Override public boolean equalsOrReplacesNode(EObject context, CrossReference crossref, EObject target, INode node) { if (crossref != node.getGrammarElement()) return false; @@ -81,6 +82,7 @@ public class CrossReferenceSerializer implements ICrossReferenceSerializer { return null; } + @Override public boolean isValid(EObject context, CrossReference crossref, EObject target, IErrorAcceptor errorAcceptor) { try { final EReference ref = GrammarUtil.getReference(crossref, context.eClass()); @@ -96,6 +98,7 @@ public class CrossReferenceSerializer implements ICrossReferenceSerializer { } } + @Override public String serializeCrossRef(EObject context, CrossReference grammarElement, final EObject target, INode node) { final EReference ref = GrammarUtil.getReference(grammarElement, context.eClass()); String text = null; @@ -103,6 +106,7 @@ public class CrossReferenceSerializer implements ICrossReferenceSerializer { List objects = linkingService.getLinkedObjects(context, ref, node); if (Iterables.any(objects, new Predicate() { private final URI targetURI = EcoreUtil.getURI(target); + @Override public boolean apply(EObject input) { return input == target || EcoreUtil.getURI(input).equals(targetURI); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/impl/DefaultCommentAssociater.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/impl/DefaultCommentAssociater.java index 7b1027d91..788e36efe 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/impl/DefaultCommentAssociater.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/impl/DefaultCommentAssociater.java @@ -32,6 +32,7 @@ public class DefaultCommentAssociater extends AbstractCommentAssociater { @Inject protected TokenUtil tokenUtil; + @Override public Map associateCommentsWithSemanticEObjects(EObject model, Set roots) { Map mapping = new HashMap(); for (ICompositeNode rootNode : roots) diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/impl/DefaultHiddenTokenHelper.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/impl/DefaultHiddenTokenHelper.java index a25ade60a..7c9447a1e 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/impl/DefaultHiddenTokenHelper.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/impl/DefaultHiddenTokenHelper.java @@ -21,14 +21,17 @@ public class DefaultHiddenTokenHelper extends AbstractHiddenTokenHelper { private AbstractRule wsRule; + @Override public boolean isWhitespace(AbstractRule rule) { return rule != null && "WS".equals(rule.getName()); } + @Override public boolean isComment(AbstractRule rule) { return rule != null && ("ML_COMMENT".equals(rule.getName()) || "SL_COMMENT".equals(rule.getName())); } + @Override @SuppressWarnings("deprecation") public AbstractRule getWhitespaceRuleFor(String whitespace) { return wsRule; diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/impl/DefaultTransientValueService.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/impl/DefaultTransientValueService.java index 61d666587..1f8d21903 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/impl/DefaultTransientValueService.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/impl/DefaultTransientValueService.java @@ -19,6 +19,7 @@ import org.eclipse.emf.ecore.resource.Resource; */ public class DefaultTransientValueService extends AbstractTransientValueService { + @Override public boolean isTransient(EObject owner, EStructuralFeature feature, int index) { return feature.isTransient() || !owner.eIsSet(feature) || isContainerReferenceInSameResource(owner, feature); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/impl/EObjectConsumer.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/impl/EObjectConsumer.java index 023fc8add..a25c579cf 100755 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/impl/EObjectConsumer.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/impl/EObjectConsumer.java @@ -70,6 +70,7 @@ public class EObjectConsumer implements IEObjectConsumer { this.multiFeatures = multi; } + @Override public IEObjectConsumer cloneAndConsume(String featureName) { EStructuralFeature feature = getFeature(featureName); int[] consumedFeatureId = new int[nextFeatureId.length]; @@ -83,6 +84,7 @@ public class EObjectConsumer implements IEObjectConsumer { return nextID(feature, feature.isMany() ? ((List) described.eGet(feature)).size() : 1); } + @Override public Object getConsumable(String featureName, boolean allowDefault) { EStructuralFeature feature = getFeature(featureName); if (feature != null && isConsumable(feature, allowDefault)) { @@ -96,6 +98,7 @@ public class EObjectConsumer implements IEObjectConsumer { return null; } + @Override public EObject getEObject() { return described; } @@ -104,6 +107,7 @@ public class EObjectConsumer implements IEObjectConsumer { return described.eClass().getEStructuralFeature(feature); } + @Override public Map getUnconsumed() { Map feature2FeatureId = new LinkedHashMap(); EList features = described.eClass().getEAllStructuralFeatures(); @@ -118,6 +122,7 @@ public class EObjectConsumer implements IEObjectConsumer { return nextFeatureId[described.eClass().getFeatureID(feature)] > ((allowDefault && !feature.isMany()) ? -2 : -1); } + @Override public boolean isConsumed() { for (int i = 0; i < nextFeatureId.length; i++) if (nextFeatureId[i] > -1) @@ -125,6 +130,7 @@ public class EObjectConsumer implements IEObjectConsumer { return true; } + @Override public boolean isConsumedWithLastConsumtion(String featureName) { EStructuralFeature feature = getFeature(featureName); int featureId = described.eClass().getFeatureID(feature); @@ -134,6 +140,7 @@ public class EObjectConsumer implements IEObjectConsumer { return true; } + @Override public boolean isInstanceOf(EClassifier classifier) { if (!(classifier instanceof EClass)) return false; diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/impl/EnumLiteralSerializer.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/impl/EnumLiteralSerializer.java index 67d166438..ebf16f196 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/impl/EnumLiteralSerializer.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/impl/EnumLiteralSerializer.java @@ -24,6 +24,7 @@ import org.eclipse.xtext.parsetree.reconstr.ITokenSerializer.IEnumLiteralSeriali */ public class EnumLiteralSerializer implements IEnumLiteralSerializer { + @Override public boolean equalsOrReplacesNode(EObject context, RuleCall ruleCall, Object value, INode node) { Keyword nodeLit = getLiteral(node); Keyword modelLit = getLiteral(context, ruleCall, value); @@ -58,10 +59,12 @@ public class EnumLiteralSerializer implements IEnumLiteralSerializer { return null; } + @Override public boolean isValid(EObject context, RuleCall ruleCall, Object value, IErrorAcceptor errorAcceptor) { return getLiteral(context, ruleCall, value) != null; } + @Override public String serializeAssignedEnumLiteral(EObject context, RuleCall ruleCall, Object value, INode node) { Keyword nodeLit = getLiteral(node); Keyword modelLit = getLiteral(context, ruleCall, value); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/impl/HiddenAndTokenNodeIterator.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/impl/HiddenAndTokenNodeIterator.java index c8728a72a..6a2533d72 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/impl/HiddenAndTokenNodeIterator.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/impl/HiddenAndTokenNodeIterator.java @@ -61,16 +61,19 @@ public class HiddenAndTokenNodeIterator implements Iterator { return nextNodes.poll(); } + @Override public boolean hasNext() { return next != null; } + @Override public INode next() { INode result = next; next = findNext(); return result; } + @Override public void remove() { throw new UnsupportedOperationException(); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/impl/IgnoreCaseKeywordSerializer.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/impl/IgnoreCaseKeywordSerializer.java index 3d47ec2c7..e71e6dae5 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/impl/IgnoreCaseKeywordSerializer.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/impl/IgnoreCaseKeywordSerializer.java @@ -15,6 +15,7 @@ import org.eclipse.xtext.Keyword; */ public class IgnoreCaseKeywordSerializer extends AbstractKeywordSerializer { + @Override public boolean isValid(EObject context, Keyword keyword, Object value, IErrorAcceptor errorAcceptor) { if (value instanceof String) return keyword.getValue().equalsIgnoreCase((String)value); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/impl/KeywordSerializer.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/impl/KeywordSerializer.java index 24d1d6aee..82adcade1 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/impl/KeywordSerializer.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/impl/KeywordSerializer.java @@ -15,6 +15,7 @@ import org.eclipse.xtext.Keyword; */ public class KeywordSerializer extends AbstractKeywordSerializer { + @Override public boolean isValid(EObject context, Keyword keyword, Object value, IErrorAcceptor errorAcceptor) { return keyword.getValue().equals(value); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/impl/NodeIterator.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/impl/NodeIterator.java index 8d4d61ff0..8ebfb6061 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/impl/NodeIterator.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/impl/NodeIterator.java @@ -79,10 +79,12 @@ public class NodeIterator implements TreeIterator { return findNextSibling(parent); } + @Override public boolean hasNext() { return next != null; } + @Override public INode next() { previous = current; current = next; @@ -101,10 +103,12 @@ public class NodeIterator implements TreeIterator { return current; } + @Override public void remove() { throw new UnsupportedOperationException(); } + @Override public void prune() { if (current instanceof ICompositeNode) { prunedComposites.add((ICompositeNode) current); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/impl/TreeConstState.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/impl/TreeConstState.java index afcd32c11..f3a5ba08d 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/impl/TreeConstState.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/impl/TreeConstState.java @@ -314,6 +314,7 @@ public class TreeConstState extends AbstractNFAState sortTypes(Collection types) { List result = Lists.newArrayList(types); Collections.sort(result, new Comparator() { + @Override public int compare(TypeRef o1, TypeRef o2) { if (o1 == null) return 1; diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/impl/TreeConstructionNFAProvider.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/impl/TreeConstructionNFAProvider.java index 18a9e0601..035ad7175 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/impl/TreeConstructionNFAProvider.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/impl/TreeConstructionNFAProvider.java @@ -42,6 +42,7 @@ public class TreeConstructionNFAProvider extends AbstractNFAProvider> deadends = Sets .newTreeSet(new Comparator>() { + @Override public int compare(Pair o1, Pair o2) { return o1.getFirst().compareTo(o2.getFirst()); } @@ -277,6 +281,7 @@ public class TreeConstructionReportImpl implements TreeConstructionReport { } } + @Override public List getDiagnostics() { if (isSuccess()) return null; @@ -286,6 +291,7 @@ public class TreeConstructionReportImpl implements TreeConstructionReport { return result; } + @Override public ITextRegion getPreviousLocation() { return previousLocation; } @@ -294,6 +300,7 @@ public class TreeConstructionReportImpl implements TreeConstructionReport { return success; } + @Override public boolean isSuccess() { return success != null; } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/impl/ValueSerializer.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/impl/ValueSerializer.java index 23bebf2d2..22c697ec3 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/impl/ValueSerializer.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/reconstr/impl/ValueSerializer.java @@ -28,10 +28,12 @@ public class ValueSerializer implements IValueSerializer { @Inject private IValueConverterService converter; + @Override public boolean equalsOrReplacesNode(EObject context, RuleCall ruleCall, INode node) { return ruleCall == node.getGrammarElement(); } + @Override public boolean equalsOrReplacesNode(EObject context, RuleCall ruleCall, Object value, INode node) { if (ruleCall != node.getGrammarElement()) return false; @@ -42,6 +44,7 @@ public class ValueSerializer implements IValueSerializer { return converted != null && converted.equals(value); } + @Override public boolean isValid(EObject context, RuleCall ruleCall, Object value, IErrorAcceptor errorAcceptor) { try { String str = converter.toString(value, ruleCall.getRule().getName()); @@ -77,6 +80,7 @@ public class ValueSerializer implements IValueSerializer { } } + @Override public String serializeAssignedValue(EObject context, RuleCall ruleCall, Object value, INode node) { if (node != null) { Object converted = converter.toValue(serialize(node), ruleCall.getRule().getName(), node); @@ -86,6 +90,7 @@ public class ValueSerializer implements IValueSerializer { return converter.toString(value, ruleCall.getRule().getName()); } + @Override public String serializeUnassignedValue(EObject context, RuleCall ruleCall, INode node) { String r = serializeUnassignedValueByRuleCall(ruleCall, context, node); if (r != null) diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/preferences/IPreferenceValuesProvider.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/preferences/IPreferenceValuesProvider.java index 89a2e0814..725e9166f 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/preferences/IPreferenceValuesProvider.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/preferences/IPreferenceValuesProvider.java @@ -25,6 +25,7 @@ public interface IPreferenceValuesProvider { IPreferenceValues getPreferenceValues(Resource context); public static class SimplePreferenceValuesProvider implements IPreferenceValuesProvider { + @Override public IPreferenceValues getPreferenceValues(Resource context) { return new MapBasedPreferenceValues(new LinkedHashMap()); } @@ -34,6 +35,7 @@ public interface IPreferenceValuesProvider { public class SingletonPreferenceValuesProvider implements IPreferenceValuesProvider { private MapBasedPreferenceValues preferences = new MapBasedPreferenceValues(Maps. newLinkedHashMap()); + @Override public MapBasedPreferenceValues getPreferenceValues(Resource context) { return preferences; } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/preferences/MapBasedPreferenceValues.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/preferences/MapBasedPreferenceValues.java index 3d2224b4b..5569d8139 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/preferences/MapBasedPreferenceValues.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/preferences/MapBasedPreferenceValues.java @@ -33,6 +33,7 @@ public class MapBasedPreferenceValues implements ITypedPreferenceValues, IPrefer return delegate; } + @Override public String getPreference(PreferenceKey key) { String value = values.get(key.getId()); if (value != null) @@ -42,12 +43,14 @@ public class MapBasedPreferenceValues implements ITypedPreferenceValues, IPrefer return key.getDefaultValue(); } + @Override public T getPreference(TypedPreferenceKey key) { String string = getPreference((PreferenceKey) key); T result = key.toValue(string); return result; } + @Override public IPreferenceValues getPreferenceValues(Resource context) { return this; } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/preferences/TypedPreferenceValues.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/preferences/TypedPreferenceValues.java index 2195dc9d9..62a1e942e 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/preferences/TypedPreferenceValues.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/preferences/TypedPreferenceValues.java @@ -29,11 +29,13 @@ public class TypedPreferenceValues implements ITypedPreferenceValues { return delegate; } + @Override public String getPreference(PreferenceKey key) { String string = delegate.getPreference(key); return string; } + @Override public T getPreference(TypedPreferenceKey key) { String string = delegate.getPreference(key); T result = key.toValue(string); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/AbstractEObjectDescription.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/AbstractEObjectDescription.java index 9f48b29e1..c9418489c 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/AbstractEObjectDescription.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/AbstractEObjectDescription.java @@ -23,10 +23,12 @@ public abstract class AbstractEObjectDescription implements IEObjectDescription return getName().toString(); } + @Override public String getUserData(String name) { return null; } + @Override public String[] getUserDataKeys() { return Strings.EMPTY_ARRAY; } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/ClassloaderClasspathUriResolver.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/ClassloaderClasspathUriResolver.java index 809be97ed..82414bb59 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/ClassloaderClasspathUriResolver.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/ClassloaderClasspathUriResolver.java @@ -28,7 +28,8 @@ public class ClassloaderClasspathUriResolver implements IClasspathUriResolver { * the classloader to be used, or an object whose classloader is used. * If null, the context classloader of the current thread is used. */ - public URI resolve(Object context, URI classpathUri) { + @Override + public URI resolve(Object context, URI classpathUri) { Object myContext = context; if (myContext == null) { myContext = Thread.currentThread().getContextClassLoader(); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/DefaultFragmentProvider.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/DefaultFragmentProvider.java index 4c328fbfb..2f94ee1a8 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/DefaultFragmentProvider.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/DefaultFragmentProvider.java @@ -18,10 +18,12 @@ import org.eclipse.emf.ecore.resource.Resource; */ public class DefaultFragmentProvider implements IFragmentProvider { + @Override public String getFragment(EObject obj, IFragmentProvider.Fallback fallback) { return fallback.getFragment(obj); } + @Override public EObject getEObject(Resource resource, String fragment, IFragmentProvider.Fallback fallback) { return fallback.getEObject(fragment); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/DefaultLocationInFileProvider.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/DefaultLocationInFileProvider.java index bc387ef33..b31192469 100755 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/DefaultLocationInFileProvider.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/DefaultLocationInFileProvider.java @@ -42,10 +42,12 @@ public class DefaultLocationInFileProvider implements ILocationInFileProvider, I @Inject(optional = true) private IHiddenTokenHelper hiddenTokenHelper; + @Override public ITextRegion getSignificantTextRegion(EObject obj) { return getTextRegion(obj, true); } + @Override public ITextRegion getFullTextRegion(EObject obj) { return getTextRegion(obj, false); } @@ -58,6 +60,7 @@ public class DefaultLocationInFileProvider implements ILocationInFileProvider, I * @since 2.3 */ /* @Nullable */ + @Override public ITextRegion getTextRegion(/* @NonNull */ EObject object, /* @NonNull */ RegionDescription query) { switch(query) { // we delegate the implementation to the existing and potentially overridden methods @@ -86,10 +89,12 @@ public class DefaultLocationInFileProvider implements ILocationInFileProvider, I return createRegion(nodes, query); } + @Override public ITextRegion getSignificantTextRegion(final EObject owner, EStructuralFeature feature, final int indexInList) { return getTextRegion(owner, feature, indexInList, true); } + @Override public ITextRegion getFullTextRegion(EObject owner, EStructuralFeature feature, int indexInList) { return getTextRegion(owner, feature, indexInList, false); } @@ -98,6 +103,7 @@ public class DefaultLocationInFileProvider implements ILocationInFileProvider, I * @since 2.3 */ /* @Nullable */ + @Override public ITextRegion getTextRegion(EObject object, EStructuralFeature feature, int indexInList, RegionDescription query) { switch(query) { diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/EObjectDescription.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/EObjectDescription.java index 58047f5cf..51aafce36 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/EObjectDescription.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/EObjectDescription.java @@ -53,10 +53,12 @@ public class EObjectDescription extends AbstractEObjectDescription { return create(qualifiedName, element, Collections.emptyMap()); } + @Override public EObject getEObjectOrProxy() { return element; } + @Override public URI getEObjectURI() { if (normalizedURI == null) { normalizedURI = normalize(element, EcoreUtil.getURI(element)); @@ -73,10 +75,12 @@ public class EObjectDescription extends AbstractEObjectDescription { return uri; } + @Override public QualifiedName getName() { return qualifiedName; } + @Override public QualifiedName getQualifiedName() { return qualifiedName; } @@ -95,6 +99,7 @@ public class EObjectDescription extends AbstractEObjectDescription { return userData.keySet().toArray(new String[userData.size()]); } + @Override public EClass getEClass() { return element.eClass(); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/ExternalContentSupport.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/ExternalContentSupport.java index 91d6795f9..2c1c7fa8e 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/ExternalContentSupport.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/ExternalContentSupport.java @@ -27,6 +27,7 @@ import com.google.common.base.Charsets; */ public class ExternalContentSupport implements IExternalContentSupport { + @Override public void configureResourceSet(ResourceSet resourceSet, IExternalContentProvider contentProvider) { if (resourceSet == null) throw new IllegalArgumentException("resourceSet may not be null"); @@ -54,14 +55,17 @@ public class ExternalContentSupport implements IExternalContentSupport { this.contentProvider = contentProvider; } + @Override public boolean canHandle(URI uri) { return delegate.canHandle(uri); } + @Override public Map contentDescription(URI uri, Map options) throws IOException { return delegate.contentDescription(uri, options); } + @Override public InputStream createInputStream(URI uri, Map options) throws IOException { if (contentProvider.hasContent(uri)) { return new LazyStringInputStream(contentProvider.getContent(uri), Charsets.UTF_8); @@ -69,22 +73,27 @@ public class ExternalContentSupport implements IExternalContentSupport { return delegate.createInputStream(uri, options); } + @Override public OutputStream createOutputStream(URI uri, Map options) throws IOException { return delegate.createOutputStream(uri, options); } + @Override public void delete(URI uri, Map options) throws IOException { delegate.delete(uri, options); } + @Override public boolean exists(URI uri, Map options) { return contentProvider.hasContent(uri) || delegate.exists(uri, options); } + @Override public Map getAttributes(URI uri, Map options) { return delegate.getAttributes(uri, options); } + @Override public void setAttributes(URI uri, Map attributes, Map options) throws IOException { delegate.setAttributes(uri, attributes, options); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/IContainer.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/IContainer.java index 23a938c68..8973f7a6b 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/IContainer.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/IContainer.java @@ -60,38 +60,47 @@ public interface IContainer extends ISelectable { */ static IContainer NULL_CONTAINER = new IContainer() { + @Override public boolean isEmpty() { return true; } + @Override public int getResourceDescriptionCount() { return 0; } + @Override public boolean hasResourceDescription(URI uri) { return false; } + @Override public Iterable getExportedObjectsByType(EClass type) { return emptySet(); } + @Override public Iterable getExportedObjectsByObject(EObject object) { return emptySet(); } + @Override public Iterable getExportedObjects() { return emptySet(); } + @Override public Iterable getExportedObjects(EClass type, QualifiedName name, boolean ignoreCase) { return emptySet(); } + @Override public Iterable getResourceDescriptions() { return emptySet(); } + @Override public IResourceDescription getResourceDescription(URI uri) { return null; } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/IGlobalServiceProvider.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/IGlobalServiceProvider.java index f7b3b346d..13274f17f 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/IGlobalServiceProvider.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/IGlobalServiceProvider.java @@ -43,6 +43,7 @@ public interface IGlobalServiceProvider { this.thisLanguageServiceProvider = thisLanguageServiceProvider; } + @Override public T findService(URI uri, Class serviceClazz) { if (thisLanguageServiceProvider.canHandle(uri)) return thisLanguageServiceProvider.get(serviceClazz); @@ -53,6 +54,7 @@ public interface IGlobalServiceProvider { return result; } + @Override public T findService(EObject eObject, Class serviceClazz) { if (eObject.eIsProxy()) { return findService(((InternalEObject)eObject).eProxyURI(),serviceClazz); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/IResourceDescription.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/IResourceDescription.java index 7860f5901..e448aa957 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/IResourceDescription.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/IResourceDescription.java @@ -36,6 +36,7 @@ public interface IResourceDescription extends ISelectable { * combination of name and eObjectOrProxy only once as an * {@link IEObjectDescription}. The order of the exported objects matters. */ + @Override Iterable getExportedObjects(); /** @@ -232,6 +233,7 @@ public interface IResourceDescription extends ISelectable { /** * @return the empty list of changes. It is never null but always empty. */ + @Override ImmutableList getDeltas(); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/IResourceDescriptions.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/IResourceDescriptions.java index 8f33753a9..7bd1522e5 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/IResourceDescriptions.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/IResourceDescriptions.java @@ -46,30 +46,37 @@ public interface IResourceDescriptions extends ISelectable { class NullImpl implements IResourceDescriptions { + @Override public Iterable getAllResourceDescriptions() { return Collections.emptyList(); } + @Override public IResourceDescription getResourceDescription(URI uri) { return null; } + @Override public boolean isEmpty() { return true; } + @Override public Iterable getExportedObjects() { return Collections.emptyList(); } + @Override public Iterable getExportedObjects(EClass type, QualifiedName name, boolean ignoreCase) { return Collections.emptyList(); } + @Override public Iterable getExportedObjectsByType(EClass type) { return Collections.emptyList(); } + @Override public Iterable getExportedObjectsByObject(EObject object) { return Collections.emptyList(); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/IResourceServiceProvider.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/IResourceServiceProvider.java index 80aeb55c0..6f41de2bd 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/IResourceServiceProvider.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/IResourceServiceProvider.java @@ -97,6 +97,7 @@ public interface IResourceServiceProvider { Map getProtocolToFactoryMap(); public static class RegistryProvider implements com.google.inject.Provider { + @Override public Registry get() { return INSTANCE; } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/ResourceSetReferencingResourceSetImpl.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/ResourceSetReferencingResourceSetImpl.java index f79daae99..123c90f46 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/ResourceSetReferencingResourceSetImpl.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/ResourceSetReferencingResourceSetImpl.java @@ -26,6 +26,7 @@ public class ResourceSetReferencingResourceSetImpl extends XtextResourceSet impl private final List referencedResourceSets = new ArrayList(); + @Override public List getReferencedResourceSets() { return referencedResourceSets; } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/SynchronizedXtextResourceSet.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/SynchronizedXtextResourceSet.java index 1c3d95789..97e12bed2 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/SynchronizedXtextResourceSet.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/SynchronizedXtextResourceSet.java @@ -43,6 +43,7 @@ public class SynchronizedXtextResourceSet extends XtextResourceSet implements IS * @since 2.4 */ /* @NonNull */ + @Override public Object getLock() { return lock; } @@ -53,6 +54,7 @@ public class SynchronizedXtextResourceSet extends XtextResourceSet implements IS * @since 2.4 */ /* @Nullable */ + @Override public Result execute(/* @NonNull */ IUnitOfWork unit) throws Exception { synchronized (getLock()) { return unit.exec(this); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/XtextResource.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/XtextResource.java index 27f754ac3..bf5b73bc7 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/XtextResource.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/XtextResource.java @@ -104,10 +104,12 @@ public class XtextResource extends ResourceImpl { private IFragmentProvider.Fallback fragmentProviderFallback = new IFragmentProvider.Fallback() { + @Override public String getFragment(EObject obj) { return XtextResource.super.getURIFragment(obj); } + @Override public EObject getEObject(String fragment) { return XtextResource.super.getEObject(fragment); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/XtextResourceFactory.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/XtextResourceFactory.java index 823fd6544..2549ebf46 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/XtextResourceFactory.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/XtextResourceFactory.java @@ -15,6 +15,7 @@ public class XtextResourceFactory implements IResourceFactory { this.provider = resourceProvider; } + @Override public Resource createResource(URI uri) { XtextResource xtextResource = provider.get(); xtextResource.setURI(uri); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/XtextSyntaxDiagnostic.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/XtextSyntaxDiagnostic.java index 8f1ab4b2b..07bab3d06 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/XtextSyntaxDiagnostic.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/XtextSyntaxDiagnostic.java @@ -37,6 +37,7 @@ public class XtextSyntaxDiagnostic extends AbstractDiagnostic { return errorNode; } + @Override public String getMessage() { return errorNode.getSyntaxErrorMessage().getMessage(); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/clustering/DisabledClusteringPolicy.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/clustering/DisabledClusteringPolicy.java index 2d044810c..1357105af 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/clustering/DisabledClusteringPolicy.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/clustering/DisabledClusteringPolicy.java @@ -22,6 +22,7 @@ public class DisabledClusteringPolicy implements IResourceClusteringPolicy { * Returns always {@code true} to continue the processing in the very same resource set. * @return {@code true}. */ + @Override public boolean continueProcessing(ResourceSet resourceSet, URI next, int alreadyProcessed) { return true; } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/clustering/DynamicResourceClusteringPolicy.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/clustering/DynamicResourceClusteringPolicy.java index f4127d7f9..369b7e0d1 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/clustering/DynamicResourceClusteringPolicy.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/clustering/DynamicResourceClusteringPolicy.java @@ -44,6 +44,7 @@ public class DynamicResourceClusteringPolicy implements IResourceClusteringPolic @Named(MINIMUM_PERCENT_FREE_MEMORY) private long minimumPercentFreeMemory = 15; + @Override public boolean continueProcessing(ResourceSet resourceSet, URI next, int alreadyProcessed) { if (next != null && resourceSet.getResource(next, false) != null) return true; diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/containers/ContainerState.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/containers/ContainerState.java index e2ba38c7a..bae31c3aa 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/containers/ContainerState.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/containers/ContainerState.java @@ -20,14 +20,17 @@ class ContainerState implements IContainerState { this.globalState = globalState; } + @Override public Collection getContents() { return globalState.getContainedURIs(root); } + @Override public boolean contains(URI uri) { return getContents().contains(uri); } + @Override public boolean isEmpty() { return globalState.isEmpty(root); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/containers/DelegatingIAllContainerAdapter.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/containers/DelegatingIAllContainerAdapter.java index 2a427ec3d..6a7046857 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/containers/DelegatingIAllContainerAdapter.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/containers/DelegatingIAllContainerAdapter.java @@ -25,18 +25,22 @@ public class DelegatingIAllContainerAdapter extends AdapterImpl implements IAllC this.delegate = delegate; } + @Override public boolean isEmpty(String containerHandle) { return delegate.isEmpty(containerHandle); } + @Override public List getVisibleContainerHandles(String handle) { return delegate.getVisibleContainerHandles(handle); } + @Override public Collection getContainedURIs(String containerHandle) { return delegate.getContainedURIs(containerHandle); } + @Override public String getContainerHandle(URI uri) { return delegate.getContainerHandle(uri); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/containers/DescriptionAddingContainer.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/containers/DescriptionAddingContainer.java index 1de56822f..03eb9406c 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/containers/DescriptionAddingContainer.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/containers/DescriptionAddingContainer.java @@ -39,6 +39,7 @@ public class DescriptionAddingContainer extends AbstractContainer { this.delegate = delegate; } + @Override public Iterable getResourceDescriptions() { return Iterables.concat(Collections.singleton(description), delegate.getResourceDescriptions()); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/containers/FilterUriContainer.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/containers/FilterUriContainer.java index 1f31d8c9f..3fd135205 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/containers/FilterUriContainer.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/containers/FilterUriContainer.java @@ -54,8 +54,10 @@ public class FilterUriContainer extends AbstractContainer { return delegateCount; } + @Override public Iterable getResourceDescriptions() { return Iterables.filter(delegate.getResourceDescriptions(), new Predicate() { + @Override public boolean apply(IResourceDescription input) { return !input.getURI().equals(filterMe); } @@ -66,6 +68,7 @@ public class FilterUriContainer extends AbstractContainer { public Iterable getExportedObjects(EClass type, QualifiedName qualifiedName, boolean ignoreCase) { Iterable unfiltered = delegate.getExportedObjects(type, qualifiedName, ignoreCase); return Iterables.filter(unfiltered, new Predicate() { + @Override public boolean apply(IEObjectDescription input) { URI resourceURI = input.getEObjectURI().trimFragment(); return !resourceURI.equals(filterMe); @@ -77,6 +80,7 @@ public class FilterUriContainer extends AbstractContainer { public Iterable getExportedObjectsByType(EClass type) { Iterable unfiltered = delegate.getExportedObjectsByType(type); return Iterables.filter(unfiltered, new Predicate() { + @Override public boolean apply(IEObjectDescription input) { URI resourceURI = input.getEObjectURI().trimFragment(); return !resourceURI.equals(filterMe); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/containers/FlatResourceSetBasedAllContainersState.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/containers/FlatResourceSetBasedAllContainersState.java index 97574f657..9e8c08abc 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/containers/FlatResourceSetBasedAllContainersState.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/containers/FlatResourceSetBasedAllContainersState.java @@ -45,6 +45,7 @@ public class FlatResourceSetBasedAllContainersState extends AdapterImpl implemen return other.resourceSet == resourceSet; } + @Override public Collection getContainedURIs(String containerHandle) { if (!HANDLE.equals(containerHandle)) return Collections.emptySet(); @@ -59,6 +60,7 @@ public class FlatResourceSetBasedAllContainersState extends AdapterImpl implemen return uris; } + @Override public String getContainerHandle(URI uri) { return HANDLE; } @@ -67,6 +69,7 @@ public class FlatResourceSetBasedAllContainersState extends AdapterImpl implemen return resourceSet; } + @Override public List getVisibleContainerHandles(String handle) { return Collections.singletonList(HANDLE); } @@ -81,6 +84,7 @@ public class FlatResourceSetBasedAllContainersState extends AdapterImpl implemen return IAllContainersState.class == type || FlatResourceSetBasedAllContainersState.class == type; } + @Override public boolean isEmpty(String containerHandle) { return !HANDLE.equals(containerHandle); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/containers/LiveShadowedAllContainerState.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/containers/LiveShadowedAllContainerState.java index f79664ab5..07f9780ff 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/containers/LiveShadowedAllContainerState.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/containers/LiveShadowedAllContainerState.java @@ -48,6 +48,7 @@ public class LiveShadowedAllContainerState implements IAllContainersState { private IResourceDescriptions localDescriptions; + @Override public Collection getContainedURIs(String containerHandle) { Set result = Sets.newLinkedHashSet(); for (IResourceDescription descriptions : localDescriptions.getAllResourceDescriptions()) { @@ -59,14 +60,17 @@ public class LiveShadowedAllContainerState implements IAllContainersState { return result; } + @Override public String getContainerHandle(URI uri) { return globalState.getContainerHandle(uri); } + @Override public List getVisibleContainerHandles(String handle) { return globalState.getVisibleContainerHandles(handle); } + @Override public boolean isEmpty(String containerHandle) { for (IResourceDescription descriptions : localDescriptions.getAllResourceDescriptions()) { String computedHandle = getContainerHandle(descriptions.getURI()); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/containers/ResourceSetBasedAllContainersState.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/containers/ResourceSetBasedAllContainersState.java index 414bfc1ac..fabf757d0 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/containers/ResourceSetBasedAllContainersState.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/containers/ResourceSetBasedAllContainersState.java @@ -40,18 +40,22 @@ public class ResourceSetBasedAllContainersState implements IAllContainersState { this.uri2container = Multimaps.invertFrom(HashMultimap.create(container2Uris), HashMultimap.create()); } + @Override public List getVisibleContainerHandles(String handle) { return containers; } + @Override public Collection getContainedURIs(String containerHandle) { return container2URIs.get(containerHandle); } + @Override public boolean isEmpty(String containerHandle) { return getContainedURIs(containerHandle).isEmpty(); } + @Override public String getContainerHandle(URI uri) { Set set = uri2container.get(uri); if (set!=null && !set.isEmpty()) diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/containers/ResourceSetBasedAllContainersStateProvider.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/containers/ResourceSetBasedAllContainersStateProvider.java index df3b70ae7..a1c3e0aed 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/containers/ResourceSetBasedAllContainersStateProvider.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/containers/ResourceSetBasedAllContainersStateProvider.java @@ -21,6 +21,7 @@ public class ResourceSetBasedAllContainersStateProvider implements IAllContainer private final static Logger log = Logger.getLogger(ResourceSetBasedAllContainersStateProvider.class); + @Override public IAllContainersState get(IResourceDescriptions context) { ResourceSet resourceSet = getResourceSet(context); IAllContainersState adapter = (IAllContainersState) EcoreUtil.getAdapter(resourceSet.eAdapters(), diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/containers/StateBasedContainer.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/containers/StateBasedContainer.java index 8d36e9a53..050fb698c 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/containers/StateBasedContainer.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/containers/StateBasedContainer.java @@ -47,6 +47,7 @@ public class StateBasedContainer extends ResourceDescriptionsBasedContainer { return Iterables.filter(unfiltered, new Predicate() { private Collection contents = null; + @Override public boolean apply(IEObjectDescription input) { if(contents == null) { contents = state.getContents(); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/containers/StateBasedContainerManager.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/containers/StateBasedContainerManager.java index 63c04925a..5a44c19c3 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/containers/StateBasedContainerManager.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/containers/StateBasedContainerManager.java @@ -29,6 +29,7 @@ public class StateBasedContainerManager implements IContainer.Manager { @Inject private IAllContainersState.Provider stateProvider; + @Override public IContainer getContainer(IResourceDescription desc, IResourceDescriptions resourceDescriptions) { String root = internalGetContainerHandle(desc, resourceDescriptions); if (root == null) { @@ -44,6 +45,7 @@ public class StateBasedContainerManager implements IContainer.Manager { return result; } + @Override public List getVisibleContainers(IResourceDescription desc, IResourceDescriptions resourceDescriptions) { String root = internalGetContainerHandle(desc, resourceDescriptions); if (root == null) { diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/generic/AbstractGenericResourceSupport.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/generic/AbstractGenericResourceSupport.java index fd30f5e60..3e4c27dbe 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/generic/AbstractGenericResourceSupport.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/generic/AbstractGenericResourceSupport.java @@ -40,6 +40,7 @@ public abstract class AbstractGenericResourceSupport implements IWorkflowCompone @Inject private IResourceServiceProvider.Registry registry; + @Override public void preInvoke() { registerServices(true); } @@ -90,9 +91,11 @@ public abstract class AbstractGenericResourceSupport implements IWorkflowCompone } } + @Override public void invoke(IWorkflowContext ctx) { } + @Override public void postInvoke() { } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/generic/GenericResourceDescriptionManager.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/generic/GenericResourceDescriptionManager.java index b7aa2c32c..21a3afaf0 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/generic/GenericResourceDescriptionManager.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/generic/GenericResourceDescriptionManager.java @@ -43,18 +43,22 @@ public class GenericResourceDescriptionManager implements IResourceDescription.M @Inject private IResourceScopeCache cache = new IResourceScopeCache.NullImpl(); + @Override public IResourceDescription getResourceDescription(Resource resource) { return new DefaultResourceDescription(resource, resourceDescriptionStrategy, cache); } + @Override public Delta createDelta(IResourceDescription oldDescription, IResourceDescription newDescription) { return new DefaultResourceDescriptionDelta(oldDescription, newDescription); } + @Override public boolean isAffected(Delta delta, IResourceDescription candidate) throws IllegalArgumentException { return isAffected(singleton(delta), candidate, null); } + @Override public boolean isAffected(Collection deltas, IResourceDescription candidate, IResourceDescriptions context) throws IllegalArgumentException { Set outgoingReferences = descriptionUtils.collectOutgoingReferences(candidate); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/generic/GenericResourceServiceProvider.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/generic/GenericResourceServiceProvider.java index ea8448766..4ac42ebfb 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/generic/GenericResourceServiceProvider.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/generic/GenericResourceServiceProvider.java @@ -31,6 +31,7 @@ public class GenericResourceServiceProvider implements IResourceServiceProvider /* @Nullable */ private IContainer.Manager containerManager; + @Override public IContainer.Manager getContainerManager() { return containerManager; } @@ -38,6 +39,7 @@ public class GenericResourceServiceProvider implements IResourceServiceProvider @Inject private IResourceDescription.Manager resourceDescriptionManager; + @Override public IResourceDescription.Manager getResourceDescriptionManager() { return resourceDescriptionManager; } @@ -46,6 +48,7 @@ public class GenericResourceServiceProvider implements IResourceServiceProvider /* @Nullable */ private IResourceValidator resourceValidator = IResourceValidator.NULL; + @Override public IResourceValidator getResourceValidator() { return resourceValidator; } @@ -53,6 +56,7 @@ public class GenericResourceServiceProvider implements IResourceServiceProvider @Inject private FileExtensionProvider fileExtensionProvider; + @Override public boolean canHandle(URI uri) { return fileExtensionProvider.isValid(uri.fileExtension()); } @@ -60,6 +64,7 @@ public class GenericResourceServiceProvider implements IResourceServiceProvider @Inject private IEncodingProvider encodingProvider; + @Override public IEncodingProvider getEncodingProvider() { return encodingProvider; } @@ -67,6 +72,7 @@ public class GenericResourceServiceProvider implements IResourceServiceProvider @Inject private Injector injector; + @Override public T get(Class t) { try { return injector.getInstance(t); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/generic/XMLEncodingProvider.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/generic/XMLEncodingProvider.java index 0ff0919d7..716cc884c 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/generic/XMLEncodingProvider.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/generic/XMLEncodingProvider.java @@ -26,6 +26,7 @@ public class XMLEncodingProvider implements IEncodingProvider { private static final Logger LOG = Logger.getLogger(XMLEncodingProvider.class); + @Override public String getEncoding(URI uri) { if (uri == null) { return Charset.defaultCharset().name(); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/AbstractCompoundSelectable.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/AbstractCompoundSelectable.java index c9816b667..b933821b5 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/AbstractCompoundSelectable.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/AbstractCompoundSelectable.java @@ -23,12 +23,15 @@ import com.google.common.collect.Iterables; */ public abstract class AbstractCompoundSelectable implements ISelectable { + @Override public boolean isEmpty() { return Iterables.isEmpty(getSelectables()); } + @Override public Iterable getExportedObjects() { return Iterables.concat(Iterables.transform(getSelectables(), new Function>() { + @Override public Iterable apply(ISelectable from) { if (from != null) return from.getExportedObjects(); @@ -39,8 +42,10 @@ public abstract class AbstractCompoundSelectable implements ISelectable { protected abstract Iterable getSelectables(); + @Override public Iterable getExportedObjectsByType(final EClass type) { return Iterables.concat(Iterables.transform(getSelectables(), new Function>() { + @Override public Iterable apply(ISelectable from) { if (from != null) return from.getExportedObjectsByType(type); @@ -49,8 +54,10 @@ public abstract class AbstractCompoundSelectable implements ISelectable { })); } + @Override public Iterable getExportedObjectsByObject(final EObject object) { return Iterables.concat(Iterables.transform(getSelectables(), new Function>() { + @Override public Iterable apply(ISelectable from) { if (from != null) return from.getExportedObjectsByObject(object); @@ -59,8 +66,10 @@ public abstract class AbstractCompoundSelectable implements ISelectable { })); } + @Override public Iterable getExportedObjects(final EClass type, final QualifiedName qualifiedName, final boolean ignoreCase) { return Iterables.concat(Iterables.transform(getSelectables(), new Function>() { + @Override public Iterable apply(ISelectable from) { if (from != null) return from.getExportedObjects(type, qualifiedName, ignoreCase); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/AbstractContainer.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/AbstractContainer.java index a67575396..e0cc3d37a 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/AbstractContainer.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/AbstractContainer.java @@ -32,16 +32,20 @@ public abstract class AbstractContainer extends AbstractCompoundSelectable imple return getResourceDescriptions(); } + @Override public int getResourceDescriptionCount() { return Iterables.size(getResourceDescriptions()); } + @Override public boolean hasResourceDescription(URI uri) { return getResourceDescription(uri) != null; } + @Override public IResourceDescription getResourceDescription(final URI uri) { return Iterables.find(getResourceDescriptions(), new Predicate() { + @Override public boolean apply(IResourceDescription input) { return uri.equals(input.getURI()); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/AbstractResourceDescription.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/AbstractResourceDescription.java index d82890d6a..fda932c12 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/AbstractResourceDescription.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/AbstractResourceDescription.java @@ -25,22 +25,27 @@ public abstract class AbstractResourceDescription implements IResourceDescriptio protected EObjectDescriptionLookUp lookup; + @Override public boolean isEmpty() { return getLookUp().isEmpty(); } + @Override public Iterable getExportedObjects() { return getLookUp().getExportedObjects(); } + @Override public Iterable getExportedObjectsByType(EClass type) { return getLookUp().getExportedObjectsByType(type); } + @Override public Iterable getExportedObjectsByObject(EObject object) { return getLookUp().getExportedObjectsByObject(object); } + @Override public Iterable getExportedObjects(EClass type, QualifiedName name, boolean ignoreCase) { return getLookUp().getExportedObjects(type, name, ignoreCase); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/AbstractResourceDescriptionChangeEventSource.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/AbstractResourceDescriptionChangeEventSource.java index 03b1a6bd6..ee5013609 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/AbstractResourceDescriptionChangeEventSource.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/AbstractResourceDescriptionChangeEventSource.java @@ -23,6 +23,7 @@ public class AbstractResourceDescriptionChangeEventSource implements IResourceDe listenerList = new CopyOnWriteArraySet(); } + @Override public void addListener(IResourceDescription.Event.Listener listener) { listenerList.add(listener); } @@ -31,6 +32,7 @@ public class AbstractResourceDescriptionChangeEventSource implements IResourceDe listenerList.addAll(listeners); } + @Override public void removeListener(IResourceDescription.Event.Listener listener) { listenerList.remove(listener); } @@ -42,6 +44,7 @@ public class AbstractResourceDescriptionChangeEventSource implements IResourceDe /** * @since 2.5 */ + @Override public void notifyListeners(IResourceDescription.Event event) { if (event == null) throw new IllegalArgumentException("event may not be null"); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/AliasedEObjectDescription.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/AliasedEObjectDescription.java index e8ddbe8ab..d75e96f8e 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/AliasedEObjectDescription.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/AliasedEObjectDescription.java @@ -28,18 +28,22 @@ public class AliasedEObjectDescription extends AbstractEObjectDescription { this.delegate = delegate; } + @Override public QualifiedName getName() { return alias; } + @Override public QualifiedName getQualifiedName() { return delegate.getQualifiedName(); } + @Override public EObject getEObjectOrProxy() { return delegate.getEObjectOrProxy(); } + @Override public URI getEObjectURI() { return delegate.getEObjectURI(); } @@ -54,6 +58,7 @@ public class AliasedEObjectDescription extends AbstractEObjectDescription { return delegate.getUserDataKeys(); } + @Override public EClass getEClass() { return delegate.getEClass(); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/BinaryGrammarResourceFactoryImpl.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/BinaryGrammarResourceFactoryImpl.java index f2c312bf9..2ab327273 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/BinaryGrammarResourceFactoryImpl.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/BinaryGrammarResourceFactoryImpl.java @@ -19,6 +19,7 @@ import org.eclipse.emf.ecore.xmi.impl.XMIResourceImpl; */ public class BinaryGrammarResourceFactoryImpl implements Factory { + @Override public Resource createResource(URI uri) { XMIResourceImpl resource = new XMIResourceImpl(uri); @@ -29,13 +30,16 @@ public class BinaryGrammarResourceFactoryImpl implements Factory { // don't do any resolution, since the only external references point to Ecore elements from EPackages in the registry. XMLResource.URIHandler uriHandler = new XMLResource.URIHandler() { + @Override public void setBaseURI(URI uri) { } + @Override public URI resolve(URI uri) { return uri; } + @Override public URI deresolve(URI uri) { return uri; } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/DefaultReferenceDescription.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/DefaultReferenceDescription.java index cb7fea147..e9aed1332 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/DefaultReferenceDescription.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/DefaultReferenceDescription.java @@ -46,22 +46,27 @@ public class DefaultReferenceDescription implements IReferenceDescription { } + @Override public int getIndexInList() { return indexInList; } + @Override public URI getSourceEObjectUri() { return sourceEObjectUri; } + @Override public URI getTargetEObjectUri() { return targetEObjectUri; } + @Override public EReference getEReference() { return eReference; } + @Override public URI getContainerEObjectURI() { return containerEObjectURI; } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/DefaultResourceDescription.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/DefaultResourceDescription.java index 3915d75dc..6f0293e99 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/DefaultResourceDescription.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/DefaultResourceDescription.java @@ -78,6 +78,7 @@ public class DefaultResourceDescription extends AbstractResourceDescription { } final List exportedEObjects = newArrayList(); IAcceptor acceptor = new IAcceptor() { + @Override public void accept(IEObjectDescription eObjectDescription) { exportedEObjects.add(eObjectDescription); } @@ -91,6 +92,7 @@ public class DefaultResourceDescription extends AbstractResourceDescription { return exportedEObjects; } + @Override public Iterable getImportedNames() { EcoreUtil2.resolveLazyCrossReferences(resource, CancelIndicator.NullImpl); ImportedNamesAdapter adapter = ImportedNamesAdapter.find(getResource()); @@ -105,6 +107,7 @@ public class DefaultResourceDescription extends AbstractResourceDescription { return resource; } + @Override public URI getURI() { return uri; } @@ -112,8 +115,10 @@ public class DefaultResourceDescription extends AbstractResourceDescription { private static final String REFERENCE_DESCRIPTIONS_CACHE_KEY = DefaultReferenceDescription.class.getName() + "#getReferenceDescriptions"; + @Override public Iterable getReferenceDescriptions() { return cache.get(REFERENCE_DESCRIPTIONS_CACHE_KEY, getResource(), new Provider>(){ + @Override public List get() { return computeReferenceDescriptions(); }}); @@ -122,6 +127,7 @@ public class DefaultResourceDescription extends AbstractResourceDescription { protected List computeReferenceDescriptions() { final List referenceDescriptions = Lists.newArrayList(); IAcceptor acceptor = new IAcceptor() { + @Override public void accept(IReferenceDescription referenceDescription) { referenceDescriptions.add(referenceDescription); } @@ -165,6 +171,7 @@ public class DefaultResourceDescription extends AbstractResourceDescription { @Override protected EObjectDescriptionLookUp getLookUp() { return cache.get(EOBJECT_LOOKUP_CACHE_KEY, getResource(), new Provider() { + @Override public EObjectDescriptionLookUp get() { if(lookup != null) lookup.setExportedObjects(computeExportedObjects()); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/DefaultResourceDescriptionDelta.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/DefaultResourceDescriptionDelta.java index 5f2ebc543..2a2bf2e0e 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/DefaultResourceDescriptionDelta.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/DefaultResourceDescriptionDelta.java @@ -40,16 +40,19 @@ public class DefaultResourceDescriptionDelta implements IResourceDescription.Del this._new = _new; } + @Override public IResourceDescription getNew() { return _new; } + @Override public IResourceDescription getOld() { return old; } private Boolean hasChanges; + @Override public boolean haveEObjectDescriptionsChanged() { if (hasChanges == null) { hasChanges = internalHasChanges(); @@ -103,6 +106,7 @@ public class DefaultResourceDescriptionDelta implements IResourceDescription.Del return true; } + @Override public URI getUri() { return old == null ? _new.getURI() : old.getURI(); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/DefaultResourceDescriptionManager.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/DefaultResourceDescriptionManager.java index ab3430bb9..5334e0df6 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/DefaultResourceDescriptionManager.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/DefaultResourceDescriptionManager.java @@ -54,14 +54,17 @@ public class DefaultResourceDescriptionManager implements IResourceDescription.M private static final String CACHE_KEY = DefaultResourceDescriptionManager.class.getName() + "#getResourceDescription"; + @Override public IResourceDescription getResourceDescription(final Resource resource) { return cache.get(CACHE_KEY, resource, new Provider() { + @Override public IResourceDescription get() { return internalGetResourceDescription(resource, strategy); } }); } + @Override public Delta createDelta(IResourceDescription oldDescription, IResourceDescription newDescription) { return new DefaultResourceDescriptionDelta(oldDescription, newDescription); } @@ -86,6 +89,7 @@ public class DefaultResourceDescriptionManager implements IResourceDescription.M return cache; } + @Override public boolean isAffected(Delta delta, IResourceDescription candidate) throws IllegalArgumentException { if (!hasChanges(delta, candidate)) return false; @@ -108,7 +112,8 @@ public class DefaultResourceDescriptionManager implements IResourceDescription.M } } - public boolean isAffected(Collection deltas, IResourceDescription candidate, IResourceDescriptions context) { + @Override + public boolean isAffected(Collection deltas, IResourceDescription candidate, IResourceDescriptions context) { Set outgoingReferences = descriptionUtils.collectOutgoingReferences(candidate); if (!outgoingReferences.isEmpty()) { for (IResourceDescription.Delta delta : deltas) diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/DefaultResourceDescriptionStrategy.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/DefaultResourceDescriptionStrategy.java index 938890a7a..7c58b3663 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/DefaultResourceDescriptionStrategy.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/DefaultResourceDescriptionStrategy.java @@ -61,6 +61,7 @@ public class DefaultResourceDescriptionStrategy implements IDefaultResourceDescr return uriEncoder; } + @Override public boolean createEObjectDescriptions(EObject eObject, IAcceptor acceptor) { if (getQualifiedNameProvider() == null) return false; @@ -75,6 +76,7 @@ public class DefaultResourceDescriptionStrategy implements IDefaultResourceDescr return true; } + @Override @SuppressWarnings("unchecked") public boolean createReferenceDescriptions(EObject from, URI exportedContainerURI, IAcceptor acceptor) { diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/DefaultResourceServiceProvider.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/DefaultResourceServiceProvider.java index e7c989bfd..1196253a0 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/DefaultResourceServiceProvider.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/DefaultResourceServiceProvider.java @@ -42,26 +42,32 @@ public class DefaultResourceServiceProvider implements IResourceServiceProvider @Inject private Injector injector; + @Override public org.eclipse.xtext.resource.IContainer.Manager getContainerManager() { return containerManager; } + @Override public IResourceDescription.Manager getResourceDescriptionManager() { return resourceDescriptionManager; } + @Override public IResourceValidator getResourceValidator() { return resourceValidator; } + @Override public boolean canHandle(URI uri) { return fileExtensionProvider.isValid(uri.fileExtension()); } + @Override public IEncodingProvider getEncodingProvider() { return encodingProvider; } + @Override public T get(Class t) { try { return injector.getInstance(t); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/EObjectDescriptionLookUp.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/EObjectDescriptionLookUp.java index bf89592db..5c1c84571 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/EObjectDescriptionLookUp.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/EObjectDescriptionLookUp.java @@ -39,25 +39,30 @@ public class EObjectDescriptionLookUp implements ISelectable { setExportedObjects(allDescriptions); } + @Override public boolean isEmpty() { return allDescriptions.isEmpty(); } + @Override public Iterable getExportedObjectsByType(final EClass type) { if (allDescriptions.isEmpty()) return Collections.emptyList(); return Iterables.filter(allDescriptions, new Predicate() { + @Override public boolean apply(IEObjectDescription input) { return EcoreUtil2.isAssignableFrom(type, input.getEClass()); } }); } + @Override public Iterable getExportedObjectsByObject(final EObject object) { if (allDescriptions.isEmpty()) return Collections.emptyList(); final URI uri = EcoreUtil2.getPlatformResourceOrNormalizedURI(object); return Iterables.filter(allDescriptions, new Predicate() { + @Override public boolean apply(IEObjectDescription input) { if (input.getEObjectOrProxy() == object) return true; @@ -69,6 +74,7 @@ public class EObjectDescriptionLookUp implements ISelectable { }); } + @Override public Iterable getExportedObjects(final EClass type, final QualifiedName name, boolean ignoreCase) { if (allDescriptions.isEmpty()) return Collections.emptyList(); @@ -78,11 +84,13 @@ public class EObjectDescriptionLookUp implements ISelectable { return Collections.emptyList(); Predicate predicate = ignoreCase ? new Predicate() { + @Override public boolean apply(IEObjectDescription input) { return EcoreUtil2.isAssignableFrom(type, input.getEClass()); } } : new Predicate() { + @Override public boolean apply(IEObjectDescription input) { return name.equals(input.getName()) && EcoreUtil2.isAssignableFrom(type, input.getEClass()); } @@ -90,6 +98,7 @@ public class EObjectDescriptionLookUp implements ISelectable { return Iterables.filter(values, predicate); } + @Override public Iterable getExportedObjects() { return allDescriptions; } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/EagerResourceSetBasedResourceDescriptions.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/EagerResourceSetBasedResourceDescriptions.java index 334899a03..2b77a4e9a 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/EagerResourceSetBasedResourceDescriptions.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/EagerResourceSetBasedResourceDescriptions.java @@ -87,6 +87,7 @@ public class EagerResourceSetBasedResourceDescriptions extends AbstractCompoundS return manager.getResourceDescription(resource); } + @Override public Iterable getAllResourceDescriptions() { return Collections.unmodifiableCollection(getDescriptionsMap().values()); } @@ -116,6 +117,7 @@ public class EagerResourceSetBasedResourceDescriptions extends AbstractCompoundS return getDescriptionsMap().containsKey(uri); } + @Override public void setContext(Notifier ctx) { this.resourceSet = EcoreUtil2.getResourceSet(ctx); } @@ -125,6 +127,7 @@ public class EagerResourceSetBasedResourceDescriptions extends AbstractCompoundS return "[" + getClass().getSimpleName() + "\n " + Joiner.on("\n ").join(getAllResourceDescriptions()) + "\n]"; } + @Override public IResourceDescription getResourceDescription(URI uri) { return getDescriptionsMap().get(uri); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/ListBasedDiagnosticConsumer.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/ListBasedDiagnosticConsumer.java index 6a4db5ac2..260258446 100755 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/ListBasedDiagnosticConsumer.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/ListBasedDiagnosticConsumer.java @@ -58,6 +58,7 @@ public class ListBasedDiagnosticConsumer implements IDiagnosticConsumer { private Internal errors; private Internal warnings; + @Override public void consume(Diagnostic diagnostic, Severity severity) { getInternal(severity).consume(diagnostic); } @@ -81,6 +82,7 @@ public class ListBasedDiagnosticConsumer implements IDiagnosticConsumer { } } + @Override public boolean hasConsumedDiagnostics(Severity severity) { if (severity == Severity.ERROR) return errors != null; diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/LiveShadowedResourceDescriptions.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/LiveShadowedResourceDescriptions.java index 401fa6b2c..958d7c5d4 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/LiveShadowedResourceDescriptions.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/LiveShadowedResourceDescriptions.java @@ -66,6 +66,7 @@ public class LiveShadowedResourceDescriptions extends ResourceSetBasedResourceDe @Override public Iterable getAllResourceDescriptions() { Iterable notInLiveResourceSet = Iterables.filter(globalDescriptions.getAllResourceDescriptions(), new Predicate() { + @Override public boolean apply(IResourceDescription input) { return !isExistingOrRenamedResourceURI(input.getURI()); } @@ -110,6 +111,7 @@ public class LiveShadowedResourceDescriptions extends ResourceSetBasedResourceDe @Override public Iterable getExportedObjects() { return Iterables.concat(Iterables.transform(getAllResourceDescriptions(), new Function>() { + @Override public Iterable apply(ISelectable from) { if (from != null) return from.getExportedObjects(); @@ -128,6 +130,7 @@ public class LiveShadowedResourceDescriptions extends ResourceSetBasedResourceDe protected Iterable joinIterables(Iterable liveDescriptions, Iterable persistentDescriptions) { Iterable filteredPersistent = Iterables.filter(persistentDescriptions, new Predicate() { + @Override public boolean apply(IEObjectDescription input) { URI resourceURI = input.getEObjectURI().trimFragment(); if (isExistingOrRenamedResourceURI(resourceURI)) diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/ResourceDescriptionChangeEvent.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/ResourceDescriptionChangeEvent.java index 9e397ce5e..279b440a1 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/ResourceDescriptionChangeEvent.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/ResourceDescriptionChangeEvent.java @@ -26,6 +26,7 @@ public class ResourceDescriptionChangeEvent implements IResourceDescription.Even this.delta = ImmutableList.copyOf(delta); } + @Override public ImmutableList getDeltas() { return delta; } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/ResourceDescriptionsBasedContainer.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/ResourceDescriptionsBasedContainer.java index b69a92aae..b6b2bcdf7 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/ResourceDescriptionsBasedContainer.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/ResourceDescriptionsBasedContainer.java @@ -55,6 +55,7 @@ public class ResourceDescriptionsBasedContainer extends AbstractContainer implem return null; } + @Override public Iterable getResourceDescriptions() { return getUriToDescription().values(); } @@ -116,6 +117,7 @@ public class ResourceDescriptionsBasedContainer extends AbstractContainer implem private class DelegatingPredicate implements Predicate { + @Override public boolean apply(IResourceDescription input) { return contains(input); } @@ -135,6 +137,7 @@ public class ResourceDescriptionsBasedContainer extends AbstractContainer implem return descriptions; } + @Override public void descriptionsChanged(IResourceDescription.Event event) { if (uriToDescription != null) { for(IResourceDescription.Delta delta: event.getDeltas()) { diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/ResourceDescriptionsData.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/ResourceDescriptionsData.java index d8f9b2b4d..5e4aa5630 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/ResourceDescriptionsData.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/ResourceDescriptionsData.java @@ -169,6 +169,7 @@ import com.google.common.collect.Sets; @SuppressWarnings("unchecked") Set casted = (Set) existing; return Iterables.concat(Iterables.transform(casted, new Function>() { + @Override public Iterable apply(IResourceDescription from) { if (from != null) { return from.getExportedObjects(type, qualifiedName, ignoreCase); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/ResourceServiceProviderRegistryImpl.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/ResourceServiceProviderRegistryImpl.java index a68c36a25..f877e83b9 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/ResourceServiceProviderRegistryImpl.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/ResourceServiceProviderRegistryImpl.java @@ -102,24 +102,29 @@ public class ResourceServiceProviderRegistryImpl implements IResourceServiceProv private final InternalData data = new InternalData(); + @Override public IResourceServiceProvider getResourceServiceProvider(URI uri, String contentType) { if (uri == null) return null; return data.getServiceProvider(uri, contentType); } + @Override public Map getContentTypeToFactoryMap() { return data.getContentTypeToFactoryMap(); } + @Override public Map getExtensionToFactoryMap() { return data.getExtensionToFactoryMap(); } + @Override public Map getProtocolToFactoryMap() { return data.getProtocolToFactoryMap(); } + @Override public IResourceServiceProvider getResourceServiceProvider(URI uri) { return getResourceServiceProvider(uri, ContentHandler.UNSPECIFIED_CONTENT_TYPE); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/ResourceSetBasedResourceDescriptions.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/ResourceSetBasedResourceDescriptions.java index 496cb3016..f3a183c8a 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/ResourceSetBasedResourceDescriptions.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/ResourceSetBasedResourceDescriptions.java @@ -53,11 +53,13 @@ public class ResourceSetBasedResourceDescriptions extends AbstractCompoundSelect return resourceSet; } + @Override public Iterable getAllResourceDescriptions() { if (data != null) { return data.getAllResourceDescriptions(); } return Iterables.filter(new Iterable() { + @Override public Iterator iterator() { return new AbstractIterator() { int index = 0; @@ -101,6 +103,7 @@ public class ResourceSetBasedResourceDescriptions extends AbstractCompoundSelect return resource != null; } + @Override public IResourceDescription getResourceDescription(URI uri) { if (data != null) { return data.getResourceDescription(uri); @@ -117,6 +120,7 @@ public class ResourceSetBasedResourceDescriptions extends AbstractCompoundSelect return manager.getResourceDescription(resource); } + @Override public void setContext(Notifier ctx) { this.resourceSet = EcoreUtil2.getResourceSet(ctx); if (resourceSet != null) { diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/SimpleResourceDescriptionsBasedContainerManager.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/SimpleResourceDescriptionsBasedContainerManager.java index 802a3974a..63b14e7ce 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/SimpleResourceDescriptionsBasedContainerManager.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/impl/SimpleResourceDescriptionsBasedContainerManager.java @@ -19,12 +19,14 @@ import org.eclipse.xtext.resource.IResourceDescriptions; */ public class SimpleResourceDescriptionsBasedContainerManager implements IContainer.Manager { + @Override public IContainer getContainer(IResourceDescription desc, IResourceDescriptions resourceDescriptions) { ResourceDescriptionsBasedContainer result = new ResourceDescriptionsBasedContainer(resourceDescriptions); result.setUriToDescriptionCacheEnabled(false); return result; } + @Override public List getVisibleContainers(IResourceDescription desc, IResourceDescriptions resourceDescriptions) { return Collections.singletonList(getContainer(desc, resourceDescriptions)); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/IScope.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/IScope.java index 0c3b09e64..36a626a08 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/IScope.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/IScope.java @@ -100,22 +100,27 @@ public interface IScope { */ public final static IScope NULLSCOPE = new IScope() { + @Override public IEObjectDescription getSingleElement(QualifiedName name) { return null; } + @Override public Iterable getElements(QualifiedName name) { return Collections.emptyList(); } + @Override public IEObjectDescription getSingleElement(EObject object) { return null; } + @Override public Iterable getElements(EObject object) { return Collections.emptyList(); } + @Override public Iterable getAllElements() { return Collections.emptyList(); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/Scopes.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/Scopes.java index 60acaa9e7..270dacab0 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/Scopes.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/Scopes.java @@ -40,6 +40,7 @@ public class Scopes { public static Iterable selectCompatible(Iterable exportedObjects, final EClass clazz) { return Iterables.filter(exportedObjects, new Predicate() { + @Override public boolean apply(IEObjectDescription input) { return EcoreUtil2.isAssignableFrom(clazz,input.getEClass()); } @@ -87,6 +88,7 @@ public class Scopes { final Function nameComputation) { Iterable transformed = Iterables.transform(elements, new Function() { + @Override public IEObjectDescription apply(T from) { final QualifiedName qualifiedName = nameComputation.apply(from); if (qualifiedName != null) @@ -114,6 +116,7 @@ public class Scopes { */ public static Multimap index(Iterable descriptions) { return index(descriptions, new Function() { + @Override public QualifiedName apply(IEObjectDescription from) { return from.getName().toLowerCase(); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/impl/AbstractDeclarativeScopeProvider.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/impl/AbstractDeclarativeScopeProvider.java index 8f8242b93..31615cf0e 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/impl/AbstractDeclarativeScopeProvider.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/impl/AbstractDeclarativeScopeProvider.java @@ -76,6 +76,7 @@ public abstract class AbstractDeclarativeScopeProvider extends AbstractScopeProv this.delegate = delegate; } + @Override public IScopeProvider getDelegate() { return delegate; } @@ -94,6 +95,7 @@ public abstract class AbstractDeclarativeScopeProvider extends AbstractScopeProv return PolymorphicDispatcher.Predicates.forName(methodName, 2); } + @Override public IScope getScope(EObject context, EReference reference) { IScope scope = polymorphicFindScopeForReferenceName(context, reference); if (scope == null) { diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/impl/AbstractGlobalScopeProvider.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/impl/AbstractGlobalScopeProvider.java index 5c026c6ed..52317a2ac 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/impl/AbstractGlobalScopeProvider.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/impl/AbstractGlobalScopeProvider.java @@ -44,6 +44,7 @@ public abstract class AbstractGlobalScopeProvider implements IGlobalScopeProvide return getScope(resource, reference, null); } + @Override public IScope getScope(Resource resource, final EReference reference, Predicate filter) { return getScope(resource, isIgnoreCase(reference), reference.getEReferenceType(), filter); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/impl/AbstractScope.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/impl/AbstractScope.java index 440a3d341..c8900c79f 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/impl/AbstractScope.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/impl/AbstractScope.java @@ -54,6 +54,7 @@ public abstract class AbstractScope implements IScope { this.provider = provider; } + @Override public Iterator iterator() { if (parentElements == null) { parentElements = provider.get(); @@ -63,6 +64,7 @@ public abstract class AbstractScope implements IScope { return filteredIterator; } + @Override public boolean apply(IEObjectDescription input) { return !scope.isShadowed(input); } @@ -98,6 +100,7 @@ public abstract class AbstractScope implements IScope { return ignoreCase; } + @Override public IEObjectDescription getSingleElement(QualifiedName name) { IEObjectDescription result = getSingleLocalElementByName(name); if (result != null) @@ -113,9 +116,11 @@ public abstract class AbstractScope implements IScope { return null; } + @Override public Iterable getAllElements() { Iterable localElements = getAllLocalElements(); Iterable parentElements = getParentElements(new Provider>() { + @Override public Iterable get() { return getParent().getAllElements(); } @@ -124,6 +129,7 @@ public abstract class AbstractScope implements IScope { return result; } + @Override public Iterable getElements(final QualifiedName name) { Iterable localElements = getLocalElementsByName(name); if (localElements instanceof Collection) { @@ -131,6 +137,7 @@ public abstract class AbstractScope implements IScope { return getParent().getElements(name); } Iterable parentElements = getParentElements(new Provider>() { + @Override public Iterable get() { return getParent().getElements(name); } @@ -139,6 +146,7 @@ public abstract class AbstractScope implements IScope { return result; } + @Override public IEObjectDescription getSingleElement(EObject object) { Iterable elements = getElements(object); Iterator iterator = elements.iterator(); @@ -149,10 +157,12 @@ public abstract class AbstractScope implements IScope { return null; } + @Override public Iterable getElements(final EObject object) { final URI uri = EcoreUtil2.getPlatformResourceOrNormalizedURI(object); Iterable localElements = getLocalElementsByEObject(object, uri); Iterable parentElements = getParentElements(new Provider>() { + @Override public Iterable get() { return getParent().getElements(object); } @@ -166,6 +176,7 @@ public abstract class AbstractScope implements IScope { protected Iterable getLocalElementsByName(final QualifiedName name) { Iterable localElements = getAllLocalElements(); Iterable result = Iterables.filter(localElements, new Predicate() { + @Override public boolean apply(IEObjectDescription input) { if (isIgnoreCase()) { QualifiedName lowerCase = name.toLowerCase(); @@ -182,6 +193,7 @@ public abstract class AbstractScope implements IScope { protected Iterable getLocalElementsByEObject(final EObject object, final URI uri) { Iterable localElements = getAllLocalElements(); Iterable result = Iterables.filter(localElements, new Predicate() { + @Override public boolean apply(IEObjectDescription input) { if (input.getEObjectOrProxy() == object) return canBeFoundByName(input); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/impl/CaseInsensitivityHelper.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/impl/CaseInsensitivityHelper.java index 408821606..7fb2a9e45 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/impl/CaseInsensitivityHelper.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/impl/CaseInsensitivityHelper.java @@ -24,6 +24,7 @@ public class CaseInsensitivityHelper implements ICaseInsensitivityHelper { @IgnoreCaseLinking private boolean isIgnoreCase = false; + @Override public boolean isIgnoreCase(EReference reference) { return isIgnoreCase; } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/impl/DelegatingEventSource.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/impl/DelegatingEventSource.java index 6935409d2..1db2a04cf 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/impl/DelegatingEventSource.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/impl/DelegatingEventSource.java @@ -29,10 +29,12 @@ public class DelegatingEventSource extends AbstractResourceDescriptionChangeEven source.addListener(this); } + @Override public void descriptionsChanged(Event event) { notifyListeners(event); } + @Override public void onEvict(CacheAdapter cache) { source.removeListener(this); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/impl/DelegatingScopeProvider.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/impl/DelegatingScopeProvider.java index 3b9f58402..66fb4cb4e 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/impl/DelegatingScopeProvider.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/impl/DelegatingScopeProvider.java @@ -33,6 +33,7 @@ public class DelegatingScopeProvider extends AbstractScopeProvider implements ID @Named(AbstractDeclarativeScopeProvider.NAMED_DELEGATE) private IScopeProvider delegate; + @Override public IScope getScope(EObject context, EReference reference) { return delegateGetScope(context, reference); } @@ -45,6 +46,7 @@ public class DelegatingScopeProvider extends AbstractScopeProvider implements ID this.delegate = delegate; } + @Override public IScopeProvider getDelegate() { return delegate; } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/impl/FilteringScope.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/impl/FilteringScope.java index 8ac814336..44c9255c1 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/impl/FilteringScope.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/impl/FilteringScope.java @@ -33,23 +33,28 @@ public class FilteringScope implements IScope { this.filter = filter; } + @Override public Iterable getAllElements() { return Iterables.filter(delegate.getAllElements(), filter); } + @Override public Iterable getElements(EObject object) { return Iterables.filter(delegate.getElements(object), filter); } + @Override public Iterable getElements(QualifiedName name) { return Iterables.filter(delegate.getElements(name), filter); } + @Override public IEObjectDescription getSingleElement(EObject object) { Iterable elements = getElements(object); return getFirst(elements); } + @Override public IEObjectDescription getSingleElement(QualifiedName name) { Iterable elements = getElements(name); return getFirst(elements); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/impl/ImportScope.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/impl/ImportScope.java index defad8a3d..b00e6be4e 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/impl/ImportScope.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/impl/ImportScope.java @@ -75,6 +75,7 @@ public class ImportScope extends AbstractScope { elements.add(qn); } return concat(aliased, filter(globalElements, new Predicate() { + @Override public boolean apply(IEObjectDescription input) { return !elements.contains(getIgnoreCaseAwareQualifiedName(input)); } @@ -97,6 +98,7 @@ public class ImportScope extends AbstractScope { final Iterable aliasedElements = getAliasedElements(candidates); // make sure that the element is returned when asked by name. return filter(aliasedElements, new Predicate() { + @Override public boolean apply(IEObjectDescription input) { IEObjectDescription description = getSingleLocalElementByName(input.getName()); if (description==null) diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/impl/ImportUriGlobalScopeProvider.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/impl/ImportUriGlobalScopeProvider.java index 9c676d471..04a328575 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/impl/ImportUriGlobalScopeProvider.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/impl/ImportUriGlobalScopeProvider.java @@ -116,6 +116,7 @@ public class ImportUriGlobalScopeProvider extends AbstractGlobalScopeProvider { return uri; } + @Override public void accept(String uriAsString) { if (uriAsString == null) { return; @@ -133,6 +134,7 @@ public class ImportUriGlobalScopeProvider extends AbstractGlobalScopeProvider { protected LinkedHashSet getImportedUris(final Resource resource) { return cache.get(ImportUriGlobalScopeProvider.class.getName(), resource, new Provider>(){ + @Override public LinkedHashSet get() { final LinkedHashSet uniqueImportURIs = new LinkedHashSet(5); IAcceptor collector = createURICollector(resource, uniqueImportURIs); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/impl/ImportUriResolver.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/impl/ImportUriResolver.java index 1754e7f85..fff958da9 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/impl/ImportUriResolver.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/impl/ImportUriResolver.java @@ -51,6 +51,7 @@ public class ImportUriResolver implements Function { return getResolver().getAttribute(object); } + @Override public String apply(EObject from) { return resolve(from); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/impl/ImportedNamespaceAwareLocalScopeProvider.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/impl/ImportedNamespaceAwareLocalScopeProvider.java index 2ca4ff91f..1bb37cac3 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/impl/ImportedNamespaceAwareLocalScopeProvider.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/impl/ImportedNamespaceAwareLocalScopeProvider.java @@ -79,6 +79,7 @@ public class ImportedNamespaceAwareLocalScopeProvider extends AbstractGlobalScop return qualifiedNameProvider; } + @Override public IScope getScope(EObject context, EReference reference) { if (context == null) throw new NullPointerException("context"); @@ -119,6 +120,7 @@ public class ImportedNamespaceAwareLocalScopeProvider extends AbstractGlobalScop protected List getImportedNamespaceResolvers(final EObject context, final boolean ignoreCase) { return cache.get(Tuples.create(context, ignoreCase, "imports"), context.eResource(), new Provider>() { + @Override public List get() { return internalGetImportedNamespaceResolvers(context, ignoreCase); } @@ -216,6 +218,7 @@ public class ImportedNamespaceAwareLocalScopeProvider extends AbstractGlobalScop protected ISelectable getAllDescriptions(final Resource resource) { return cache.get("internalGetAllDescriptions", resource, new Provider() { + @Override public ISelectable get() { return internalGetAllDescriptions(resource); } @@ -224,6 +227,7 @@ public class ImportedNamespaceAwareLocalScopeProvider extends AbstractGlobalScop protected ISelectable internalGetAllDescriptions(final Resource resource) { Iterable allContents = new Iterable(){ + @Override public Iterator iterator() { return EcoreUtil.getAllContents(resource, false); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/impl/LoadOnDemandResourceDescriptions.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/impl/LoadOnDemandResourceDescriptions.java index 1ab87abfb..ee1fa3447 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/impl/LoadOnDemandResourceDescriptions.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/impl/LoadOnDemandResourceDescriptions.java @@ -42,8 +42,10 @@ public class LoadOnDemandResourceDescriptions extends AbstractCompoundSelectable this.context = context; } + @Override public Iterable getAllResourceDescriptions() { return Iterables.filter(Iterables.transform(validUris, new Function() { + @Override public IResourceDescription apply(URI from) { return getResourceDescription(from); } @@ -60,6 +62,7 @@ public class LoadOnDemandResourceDescriptions extends AbstractCompoundSelectable return getAllResourceDescriptions(); } + @Override public IResourceDescription getResourceDescription(URI uri) { IResourceDescription result = delegate.getResourceDescription(uri); if (result == null) { diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/impl/MultimapBasedSelectable.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/impl/MultimapBasedSelectable.java index 4501fb859..799d76fb2 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/impl/MultimapBasedSelectable.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/impl/MultimapBasedSelectable.java @@ -36,25 +36,30 @@ public class MultimapBasedSelectable implements ISelectable { setExportedObjects(allDescriptions); } + @Override public boolean isEmpty() { return allDescriptions.isEmpty(); } + @Override public Iterable getExportedObjectsByType(final EClass type) { if (allDescriptions.isEmpty()) return Collections.emptyList(); return Iterables.filter(allDescriptions, new Predicate() { + @Override public boolean apply(IEObjectDescription input) { return EcoreUtil2.isAssignableFrom(type, input.getEClass()); } }); } + @Override public Iterable getExportedObjectsByObject(final EObject object) { if (allDescriptions.isEmpty()) return Collections.emptyList(); final URI uri = EcoreUtil2.getPlatformResourceOrNormalizedURI(object); return Iterables.filter(allDescriptions, new Predicate() { + @Override public boolean apply(IEObjectDescription input) { if (input.getEObjectOrProxy() == object) return true; @@ -66,6 +71,7 @@ public class MultimapBasedSelectable implements ISelectable { }); } + @Override public Iterable getExportedObjects(final EClass type, final QualifiedName name, boolean ignoreCase) { if (allDescriptions.isEmpty()) return Collections.emptyList(); @@ -73,11 +79,13 @@ public class MultimapBasedSelectable implements ISelectable { if (nameToObjects.containsKey(lowerCase)) { Predicate predicate = ignoreCase ? new Predicate() { + @Override public boolean apply(IEObjectDescription input) { return EcoreUtil2.isAssignableFrom(type, input.getEClass()); } } : new Predicate() { + @Override public boolean apply(IEObjectDescription input) { return name.equals(input.getName()) && EcoreUtil2.isAssignableFrom(type, input.getEClass()); } @@ -87,6 +95,7 @@ public class MultimapBasedSelectable implements ISelectable { return Collections.emptyList(); } + @Override public Iterable getExportedObjects() { return allDescriptions; } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/impl/ResourceSetGlobalScopeProvider.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/impl/ResourceSetGlobalScopeProvider.java index bf3ddfb52..26c077c7f 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/impl/ResourceSetGlobalScopeProvider.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/impl/ResourceSetGlobalScopeProvider.java @@ -58,12 +58,14 @@ public class ResourceSetGlobalScopeProvider extends AbstractGlobalScopeProvider protected IScope createScopeWithQualifiedNames(final IScope parent, final Resource resource, final Predicate filter, ResourceSet resourceSet, EClass type, boolean ignoreCase) { final Iterable resourceDescriptions = Iterables.transform(resourceSet.getResources(), new Function() { + @Override public ISelectable apply(Resource from) { return resourceDecriptionProvider.getResourceDescription(from); } }); ISelectable compound = new ISelectable() { + @Override public boolean isEmpty() { for (ISelectable description: resourceDescriptions) { if (!description.isEmpty()) @@ -72,32 +74,40 @@ public class ResourceSetGlobalScopeProvider extends AbstractGlobalScopeProvider return true; } + @Override public Iterable getExportedObjectsByType(final EClass type) { return Iterables.concat(Iterables.transform(resourceDescriptions, new Function>() { + @Override public Iterable apply(ISelectable from) { return from.getExportedObjectsByType(type); } })); } + @Override public Iterable getExportedObjectsByObject(final EObject object) { return Iterables.concat(Iterables.transform(resourceDescriptions, new Function>() { + @Override public Iterable apply(ISelectable from) { return from.getExportedObjectsByObject(object); } })); } + @Override public Iterable getExportedObjects(final EClass type, final QualifiedName name, final boolean ignoreCase) { return Iterables.concat(Iterables.transform(resourceDescriptions, new Function>() { + @Override public Iterable apply(ISelectable from) { return from.getExportedObjects(type, name, ignoreCase); } })); } + @Override public Iterable getExportedObjects() { return Iterables.concat(Iterables.transform(resourceDescriptions, new Function>() { + @Override public Iterable apply(ISelectable from) { return from.getExportedObjects(); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/impl/ScopeBasedSelectable.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/impl/ScopeBasedSelectable.java index 3864a7357..3025710f3 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/impl/ScopeBasedSelectable.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/impl/ScopeBasedSelectable.java @@ -25,22 +25,27 @@ public class ScopeBasedSelectable implements ISelectable { this.scope = scope; } + @Override public boolean isEmpty() { return false; } + @Override public Iterable getExportedObjects() { return scope.getAllElements(); } + @Override public Iterable getExportedObjects(EClass type, QualifiedName name, boolean ignoreCase) { return scope.getElements(name); } + @Override public Iterable getExportedObjectsByType(EClass type) { return scope.getAllElements(); } + @Override public Iterable getExportedObjectsByObject(EObject object) { return scope.getElements(object); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/impl/SimpleLocalScopeProvider.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/impl/SimpleLocalScopeProvider.java index 9151cbc59..61a60ad77 100755 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/impl/SimpleLocalScopeProvider.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/impl/SimpleLocalScopeProvider.java @@ -50,9 +50,11 @@ public class SimpleLocalScopeProvider extends AbstractGlobalScopeDelegatingScope return qualifiedNameProvider; } + @Override public IScope getScope(final EObject context, final EReference reference) { ISelectable resourceContent = cache.get(Tuples.pair(SimpleLocalScopeProvider.class.getName(), reference), context.eResource(), new Provider() { + @Override public ISelectable get() { return getAllDescriptions(context.eResource()); } @@ -67,6 +69,7 @@ public class SimpleLocalScopeProvider extends AbstractGlobalScopeDelegatingScope protected ISelectable getAllDescriptions(final Resource resource) { Iterable allContents = new Iterable(){ + @Override public Iterator iterator() { return resource.getAllContents(); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/impl/SimpleScope.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/impl/SimpleScope.java index 31ea2be5f..c133b5c1f 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/impl/SimpleScope.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/scoping/impl/SimpleScope.java @@ -56,6 +56,7 @@ public class SimpleScope extends AbstractScope { protected Iterable getLocalElementsByEObject(final EObject object, final URI uri) { Iterable localElements = getAllLocalElements(); Iterable result = Iterables.filter(localElements, new Predicate() { + @Override public boolean apply(IEObjectDescription input) { if (input.getEObjectOrProxy() == object) return canBeFoundByNameAndShadowingKey(input); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/acceptor/DelegatingSequenceAcceptor.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/acceptor/DelegatingSequenceAcceptor.java index 688937a3b..991811c13 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/acceptor/DelegatingSequenceAcceptor.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/acceptor/DelegatingSequenceAcceptor.java @@ -24,98 +24,117 @@ public class DelegatingSequenceAcceptor implements ISequenceAcceptor { this.delegate = delegate; } + @Override public void acceptAssignedCrossRefDatatype(RuleCall rc, String token, EObject value, int index, ICompositeNode node) { if (delegate != null) delegate.acceptAssignedCrossRefDatatype(rc, token, value, index, node); } + @Override public void acceptAssignedCrossRefEnum(RuleCall enumRC, String token, EObject value, int index, ICompositeNode node) { if (delegate != null) delegate.acceptAssignedCrossRefEnum(enumRC, token, value, index, node); } + @Override public void acceptAssignedCrossRefKeyword(Keyword kw, String token, EObject value, int index, ILeafNode node) { if (delegate != null) delegate.acceptAssignedCrossRefKeyword(kw, token, value, index, node); } + @Override public void acceptAssignedCrossRefTerminal(RuleCall rc, String token, EObject value, int index, ILeafNode node) { if (delegate != null) delegate.acceptAssignedCrossRefTerminal(rc, token, value, index, node); } + @Override public void acceptAssignedDatatype(RuleCall datatypeRC, String token, Object value, int index, ICompositeNode node) { if (delegate != null) delegate.acceptAssignedDatatype(datatypeRC, token, value, index, node); } + @Override public void acceptAssignedEnum(RuleCall enumRC, String token, Object value, int index, ICompositeNode node) { if (delegate != null) delegate.acceptAssignedEnum(enumRC, token, value, index, node); } + @Override public void acceptAssignedKeyword(Keyword keyword, String token, Object value, int index, ILeafNode node) { if (delegate != null) delegate.acceptAssignedKeyword(keyword, token, value, index, node); } + @Override public void acceptAssignedTerminal(RuleCall terminalRC, String token, Object value, int index, ILeafNode node) { if (delegate != null) delegate.acceptAssignedTerminal(terminalRC, token, value, index, node); } + @Override public void acceptComment(AbstractRule rule, String token, ILeafNode node) { if (delegate != null) ((ISequenceAcceptor) delegate).acceptComment(rule, token, node); } + @Override public void acceptUnassignedAction(Action action) { if (delegate != null) ((ISyntacticSequenceAcceptor) delegate).acceptUnassignedAction(action); } + @Override public void acceptUnassignedDatatype(RuleCall datatypeRC, String value, ICompositeNode node) { if (delegate != null) ((ISyntacticSequenceAcceptor) delegate).acceptUnassignedDatatype(datatypeRC, value, node); } + @Override public void acceptUnassignedEnum(RuleCall enumRC, String value, ICompositeNode node) { if (delegate != null) ((ISyntacticSequenceAcceptor) delegate).acceptUnassignedEnum(enumRC, value, node); } + @Override public void acceptUnassignedKeyword(Keyword keyword, String token, ILeafNode node) { if (delegate != null) ((ISyntacticSequenceAcceptor) delegate).acceptUnassignedKeyword(keyword, token, node); } + @Override public void acceptUnassignedTerminal(RuleCall terminalRC, String value, ILeafNode node) { if (delegate != null) ((ISyntacticSequenceAcceptor) delegate).acceptUnassignedTerminal(terminalRC, value, node); } + @Override public void acceptWhitespace(AbstractRule rule, String token, ILeafNode node) { if (delegate != null) ((ISequenceAcceptor) delegate).acceptWhitespace(rule, token, node); } + @Override public boolean enterAssignedAction(Action action, EObject semanticChild, ICompositeNode node) { if (delegate != null) return delegate.enterAssignedAction(action, semanticChild, node); return true; } + @Override public boolean enterAssignedParserRuleCall(RuleCall rc, EObject newCurrent, ICompositeNode node) { if (delegate != null) return delegate.enterAssignedParserRuleCall(rc, newCurrent, node); return true; } + @Override public void enterUnassignedParserRuleCall(RuleCall rc) { if (delegate != null) ((ISyntacticSequenceAcceptor) delegate).enterUnassignedParserRuleCall(rc); } + @Override public void finish() { if (delegate != null) delegate.finish(); @@ -125,16 +144,19 @@ public class DelegatingSequenceAcceptor implements ISequenceAcceptor { return delegate; } + @Override public void leaveAssignedAction(Action action, EObject semanticChild) { if (delegate != null) delegate.leaveAssignedAction(action, semanticChild); } + @Override public void leaveAssignedParserRuleCall(RuleCall rc, EObject semanticChild) { if (delegate != null) delegate.leaveAssignedParserRuleCall(rc, semanticChild); } + @Override public void leaveUnssignedParserRuleCall(RuleCall rc) { if (delegate != null) ((ISyntacticSequenceAcceptor) delegate).leaveUnssignedParserRuleCall(rc); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/acceptor/StringBufferSequenceAcceptor.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/acceptor/StringBufferSequenceAcceptor.java index 62f86e2eb..41336375c 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/acceptor/StringBufferSequenceAcceptor.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/acceptor/StringBufferSequenceAcceptor.java @@ -22,87 +22,109 @@ public class StringBufferSequenceAcceptor implements ISequenceAcceptor { protected StringBuilder buf = new StringBuilder(); + @Override public void acceptAssignedCrossRefDatatype(RuleCall datatypeRC, String token, EObject value, int index, ICompositeNode node) { buf.append(token); } + @Override public void acceptAssignedCrossRefEnum(RuleCall enumRC, String token, EObject value, int index, ICompositeNode node) { buf.append(token); } + @Override public void acceptAssignedCrossRefKeyword(Keyword kw, String token, EObject value, int index, ILeafNode node) { buf.append(token); } + @Override public void acceptAssignedCrossRefTerminal(RuleCall terminalRC, String token, EObject value, int index, ILeafNode node) { buf.append(token); } + @Override public void acceptAssignedDatatype(RuleCall datatypeRC, String token, Object value, int index, ICompositeNode node) { buf.append(token); } + @Override public void acceptAssignedEnum(RuleCall enumRC, String token, Object value, int index, ICompositeNode node) { buf.append(token); } + @Override public void acceptAssignedKeyword(Keyword keyword, String token, Object value, int index, ILeafNode node) { buf.append(token); } + @Override public void acceptAssignedTerminal(RuleCall terminalRC, String token, Object value, int index, ILeafNode node) { buf.append(token); } + @Override public void acceptComment(AbstractRule rule, String token, ILeafNode node) { buf.append(token); } + @Override public void acceptUnassignedAction(Action action) { } + @Override public void acceptUnassignedDatatype(RuleCall datatypeRC, String token, ICompositeNode node) { buf.append(token); } + @Override public void acceptUnassignedEnum(RuleCall enumRC, String token, ICompositeNode node) { buf.append(token); } + @Override public void acceptUnassignedKeyword(Keyword keyword, String token, ILeafNode node) { buf.append(token); } + @Override public void acceptUnassignedTerminal(RuleCall terminalRC, String token, ILeafNode node) { buf.append(token); } + @Override public void acceptWhitespace(AbstractRule rule, String token, ILeafNode node) { buf.append(token); } + @Override public boolean enterAssignedAction(Action action, EObject semanticChild, ICompositeNode node) { return true; } + @Override public boolean enterAssignedParserRuleCall(RuleCall rc, EObject semanticChild, ICompositeNode node) { return true; } + @Override public void enterUnassignedParserRuleCall(RuleCall rc) { } + @Override public void finish() { } + @Override public void leaveAssignedAction(Action action, EObject semanticChild) { } + @Override public void leaveAssignedParserRuleCall(RuleCall rc, EObject semanticChild) { } + @Override public void leaveUnssignedParserRuleCall(RuleCall rc) { } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/acceptor/TokenStreamSequenceAdapter.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/acceptor/TokenStreamSequenceAdapter.java index 602a0a52c..fa5bb0dfe 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/acceptor/TokenStreamSequenceAdapter.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/acceptor/TokenStreamSequenceAdapter.java @@ -37,76 +37,95 @@ public class TokenStreamSequenceAdapter implements ISequenceAcceptor { this.errorAcceptor = errorAcceptor; } + @Override public void acceptAssignedCrossRefDatatype(RuleCall rc, String token, EObject value, int index, ICompositeNode node) { writeSemantic(GrammarUtil.containingCrossReference(rc), token); } + @Override public void acceptAssignedCrossRefEnum(RuleCall enumRC, String token, EObject value, int index, ICompositeNode node) { writeSemantic(GrammarUtil.containingCrossReference(enumRC), token); } + @Override public void acceptAssignedCrossRefKeyword(Keyword kw, String token, EObject value, int index, ILeafNode node) { writeSemantic(GrammarUtil.containingCrossReference(kw), token); } + @Override public void acceptAssignedCrossRefTerminal(RuleCall rc, String token, EObject value, int index, ILeafNode node) { writeSemantic(GrammarUtil.containingCrossReference(rc), token); } + @Override public void acceptAssignedDatatype(RuleCall datatypeRC, String token, Object value, int index, ICompositeNode node) { writeSemantic(datatypeRC, token); } + @Override public void acceptAssignedEnum(RuleCall enumRC, String token, Object value, int index, ICompositeNode node) { writeSemantic(enumRC, token); } + @Override public void acceptAssignedKeyword(Keyword keyword, String token, Object value, int index, ILeafNode node) { writeSemantic(keyword, token); } + @Override public void acceptAssignedTerminal(RuleCall terminalRC, String token, Object value, int index, ILeafNode node) { writeSemantic(terminalRC, token); } + @Override public void acceptComment(AbstractRule rule, String token, ILeafNode node) { writeHidden(rule, token); } + @Override public void acceptUnassignedAction(Action action) { } + @Override public void acceptUnassignedDatatype(RuleCall datatypeRC, String token, ICompositeNode node) { writeSemantic(datatypeRC, token); } + @Override public void acceptUnassignedEnum(RuleCall enumRC, String token, ICompositeNode node) { writeSemantic(enumRC, token); } + @Override public void acceptUnassignedKeyword(Keyword keyword, String token, ILeafNode node) { writeSemantic(keyword, token); } + @Override public void acceptUnassignedTerminal(RuleCall terminalRC, String token, ILeafNode node) { writeSemantic(terminalRC, token); } + @Override public void acceptWhitespace(AbstractRule rule, String token, ILeafNode node) { writeHidden(rule, token); } + @Override public boolean enterAssignedAction(Action action, EObject semanticChild, ICompositeNode node) { return true; } + @Override public boolean enterAssignedParserRuleCall(RuleCall rc, EObject newCurrent, ICompositeNode node) { return true; } + @Override public void enterUnassignedParserRuleCall(RuleCall rc) { } + @Override public void finish() { } @@ -125,15 +144,18 @@ public class TokenStreamSequenceAdapter implements ISequenceAcceptor { } } + @Override public void leaveAssignedAction(Action action, EObject semanticChild) { } public void leaveAssignedParserRuleCall(RuleCall rc) { } + @Override public void leaveAssignedParserRuleCall(RuleCall rc, EObject semanticChild) { } + @Override public void leaveUnssignedParserRuleCall(RuleCall rc) { } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/analysis/ActionFilterNFAProvider.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/analysis/ActionFilterNFAProvider.java index 46edfacb7..f90f2cce0 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/analysis/ActionFilterNFAProvider.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/analysis/ActionFilterNFAProvider.java @@ -96,6 +96,7 @@ public class ActionFilterNFAProvider extends AbstractNFAProvider { + @Override public String apply(EObject from) { return getContextName(from); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/analysis/ContextPDAProvider.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/analysis/ContextPDAProvider.java index d7a1b0417..522606dbb 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/analysis/ContextPDAProvider.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/analysis/ContextPDAProvider.java @@ -39,6 +39,7 @@ import com.google.inject.Singleton; public class ContextPDAProvider implements IContextPDAProvider { protected class ExpandRuleCalls implements Function> { + @Override public Pda apply(ISerState input) { if (GrammarUtil.isUnassignedParserRuleCall(input.getGrammarElement())) return getContextPDA((((RuleCall) input.getGrammarElement()).getRule())); @@ -195,6 +196,7 @@ public class ContextPDAProvider implements IContextPDAProvider { return pdaUtil.filterOrphans(pda, new SerializerPDACloneFactory()); } + @Override public Pda getContextPDA(EObject context) { Pda result = cache.get(context); if (result == null) diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/analysis/ContextProvider.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/analysis/ContextProvider.java index a3a78a48d..8e8fe76ed 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/analysis/ContextProvider.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/analysis/ContextProvider.java @@ -59,6 +59,7 @@ public class ContextProvider implements IContextProvider { collectTypesForContext(t.getTarget(), types, true, hasAssignment, visited); } + @Override public List getAllContexts(Grammar grammar) { List result = Lists.newArrayList(); for (ParserRule pr : GrammarUtil.allParserRules(grammar)) @@ -71,6 +72,7 @@ public class ContextProvider implements IContextProvider { return result; } + @Override public Set getTypesForContext(EObject context) { Set result = Sets.newHashSet(); if (context instanceof AbstractElement) { diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/analysis/ContextTypePDAProvider.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/analysis/ContextTypePDAProvider.java index 7d9e247ce..54963601d 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/analysis/ContextTypePDAProvider.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/analysis/ContextTypePDAProvider.java @@ -119,6 +119,7 @@ public class ContextTypePDAProvider implements IContextTypePDAProvider { this.type = type; } + @Override public FilterState enter(Pda pda, ISerState state, FilterState previous) { switch (state.getType()) { case ELEMENT: @@ -156,6 +157,7 @@ public class ContextTypePDAProvider implements IContextTypePDAProvider { return null; } + @Override public boolean isSolution(FilterState result) { return true; } @@ -181,6 +183,7 @@ public class ContextTypePDAProvider implements IContextTypePDAProvider { return contextTypePda; } + @Override public Pda getContextTypePDA(EObject context, EClass type) { Pair key = Tuples.create(context, type); Pda result = cache.get(key); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/analysis/GrammarAlias.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/analysis/GrammarAlias.java index 455f72941..0c4e9b29d 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/analysis/GrammarAlias.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/analysis/GrammarAlias.java @@ -130,34 +130,42 @@ public class GrammarAlias { this.root = root; } + @Override public Iterable getAlternativeChildren(AbstractElementAlias ele) { return ele instanceof AlternativeAlias ? ((AlternativeAlias) ele).getChildren() : null; } + @Override public AbstractElementAlias getParent(AbstractElementAlias ele) { return ele.getParent(); } + @Override public Iterable getSequentialChildren(AbstractElementAlias ele) { return ele instanceof GroupAlias ? ((GroupAlias) ele).getChildren() : null; } + @Override public AbstractElement getToken(AbstractElementAlias owner) { return owner instanceof TokenAlias ? ((TokenAlias) owner).getToken() : null; } + @Override public Iterable getUnorderedChildren(AbstractElementAlias ele) { return ele instanceof UnorderedGroupAlias ? ((UnorderedGroupAlias) ele).getChildren() : null; } + @Override public boolean isMany(AbstractElementAlias ele) { return ele.isMany(); } + @Override public boolean isOptional(AbstractElementAlias ele) { return ele.isOptional(); } + @Override public AbstractElementAlias getRoot() { return root; } @@ -165,20 +173,24 @@ public class GrammarAlias { public static class GrammarAliasFactory implements ProductionFactory { + @Override public AbstractElementAlias createForAlternativeChildren(boolean many, boolean optional, Iterable children) { return new AlternativeAlias(many, optional, children); } + @Override public AbstractElementAlias createForSequentialChildren(boolean many, boolean optional, Iterable children) { return new GroupAlias(many, optional, children); } + @Override public AbstractElementAlias createForToken(boolean many, boolean optional, AbstractElement token) { return new TokenAlias(many, optional, token); } + @Override public AbstractElementAlias createForUnordertedChildren(boolean many, boolean optional, Iterable children) { return new UnorderedGroupAlias(many, optional, children); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/analysis/GrammarConstraintProvider.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/analysis/GrammarConstraintProvider.java index da2bfe2d4..ab2877fae 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/analysis/GrammarConstraintProvider.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/analysis/GrammarConstraintProvider.java @@ -72,16 +72,19 @@ public class GrammarConstraintProvider implements IGrammarConstraintProvider { constraints.add(constraint); } + @Override public List getConstraints() { return constraints; } + @Override public String getName() { return name; } protected void initConstraints() { Collections.sort(constraints, new Comparator() { + @Override public int compare(IConstraint o1, IConstraint o2) { return o1.getName().compareTo(o2.getName()); } @@ -93,6 +96,7 @@ public class GrammarConstraintProvider implements IGrammarConstraintProvider { @Override public String toString() { Iterable constraintNames = Iterables.transform(constraints, new Function() { + @Override public String apply(IConstraint from) { return from.getName(); } @@ -126,10 +130,12 @@ public class GrammarConstraintProvider implements IGrammarConstraintProvider { this.action = action; } + @Override public EClass getCommonType() { return (EClass) action.getType().getClassifier(); } + @Override public EObject getContext() { return action; } @@ -199,6 +205,7 @@ public class GrammarConstraintProvider implements IGrammarConstraintProvider { } } + @Override public int compareTo(IConstraint o) { return getName().compareTo(o.getName()); } @@ -218,10 +225,12 @@ public class GrammarConstraintProvider implements IGrammarConstraintProvider { return (body == null && c.body == null) || (body != null && body.equals(c.body)); } + @Override public IConstraintElement[] getAssignments() { return assignments; } + @Override public IConstraintElement getBody() { return body; } @@ -230,10 +239,12 @@ public class GrammarConstraintProvider implements IGrammarConstraintProvider { return Tuples.create(body.getContext(), type); } + @Override public IConstraintElement[] getElements() { return elements; } + @Override public IFeatureInfo[] getFeatures() { return features; } @@ -258,6 +269,7 @@ public class GrammarConstraintProvider implements IGrammarConstraintProvider { } } + @Override public Iterable getMultiAssignementFeatures() { List result = Lists.newArrayList(); for (IFeatureInfo info : features) @@ -266,14 +278,17 @@ public class GrammarConstraintProvider implements IGrammarConstraintProvider { return result; } + @Override public String getName() { return name + "_" + (type == null ? "null" : type.getName()); } + @Override public String getSimpleName() { return name; } + @Override public Iterable getSingleAssignementFeatures() { List result = Lists.newArrayList(); for (IFeatureInfo info : features) @@ -282,6 +297,7 @@ public class GrammarConstraintProvider implements IGrammarConstraintProvider { return result; } + @Override public EClass getType() { return type; } @@ -521,10 +537,12 @@ public class GrammarConstraintProvider implements IGrammarConstraintProvider { return result; } + @Override public Action getAction() { return element instanceof Action ? (Action) element : null; } + @Override public int getAssignmentID() { return this.assignmentId; } @@ -538,6 +556,7 @@ public class GrammarConstraintProvider implements IGrammarConstraintProvider { return null; } + @Override public EObject getCallContext() { switch (type) { case ASSIGNED_ACTION_CALL: @@ -549,14 +568,17 @@ public class GrammarConstraintProvider implements IGrammarConstraintProvider { } } + @Override public String getCardinality() { return isMany() ? (isOptional() ? "*" : "+") : (isOptional() ? "?" : ""); } + @Override public List getChildren() { return children; } + @Override public List getContainedAssignments() { if (containedAssignments == null) { containedAssignments = Lists.newArrayList(); @@ -569,10 +591,12 @@ public class GrammarConstraintProvider implements IGrammarConstraintProvider { return containedAssignments; } + @Override public IConstraintElement getContainer() { return container; } + @Override public IConstraint getContainingConstraint() { if (containingConstraint == null) containingConstraint = getContainer().getContainingConstraint(); @@ -583,12 +607,14 @@ public class GrammarConstraintProvider implements IGrammarConstraintProvider { return context; } + @Override public CrossReference getCrossReference() { if (element == null) return null; return GrammarUtil.containingCrossReference(element); } + @Override public EClass getCrossReferenceType() { if (element == null) return null; @@ -598,6 +624,7 @@ public class GrammarConstraintProvider implements IGrammarConstraintProvider { return (EClass) cr.getType().getClassifier(); } + @Override public List> getDependingAssignment() { if (assignmentId < 0) return null; @@ -608,18 +635,22 @@ public class GrammarConstraintProvider implements IGrammarConstraintProvider { return dependingAssignments; } + @Override public int getElementID() { return elementId; } + @Override public EStructuralFeature getFeature() { return getFeatureInfo().getFeature(); } + @Override public int getFeatureAssignmentID() { return featureAssignmentId; } + @Override public IFeatureInfo getFeatureInfo() { return featureInfo; } @@ -638,18 +669,22 @@ public class GrammarConstraintProvider implements IGrammarConstraintProvider { // this.children.add(0, child); // } + @Override public AbstractElement getGrammarElement() { return element; } + @Override public Keyword getKeyword() { return element instanceof Keyword ? (Keyword) element : null; } + @Override public RuleCall getRuleCall() { return element instanceof RuleCall ? (RuleCall) element : null; } + @Override public ConstraintElementType getType() { return type; } @@ -682,6 +717,7 @@ public class GrammarConstraintProvider implements IGrammarConstraintProvider { } } + @Override public boolean isCardinalityOneAmongAssignments(List assignments) { if (assignments.size() < 2) return false; @@ -690,18 +726,22 @@ public class GrammarConstraintProvider implements IGrammarConstraintProvider { && !isOptionalRecursive(commonContainer) && !isManyRecursive(commonContainer); } + @Override public boolean isMany() { return many; } + @Override public boolean isManyRecursive(IConstraintElement root) { return isMany() || (container != null && container != root && container.isManyRecursive(root)); } + @Override public boolean isOptional() { return optional && !typeMatch; } + @Override public boolean isOptionalRecursive(IConstraintElement root) { if (isOptional()) return true; @@ -714,6 +754,7 @@ public class GrammarConstraintProvider implements IGrammarConstraintProvider { return false; } + @Override public boolean isRoot() { return container == null; } @@ -814,14 +855,17 @@ public class GrammarConstraintProvider implements IGrammarConstraintProvider { return assignments.length; } + @Override public IConstraintElement[] getAssignments() { return assignments; } + @Override public IConstraint getContainingConstraint() { return constraint; } + @Override public List> getDependingFeatures() { if (dependingFeatures == null) { dependingFeatures = Lists.newArrayList(); @@ -831,10 +875,12 @@ public class GrammarConstraintProvider implements IGrammarConstraintProvider { return dependingFeatures; } + @Override public EStructuralFeature getFeature() { return feature; } + @Override public int getLowerBound() { int result = 0; for (IConstraintElement ass : getAssignments()) @@ -856,6 +902,7 @@ public class GrammarConstraintProvider implements IGrammarConstraintProvider { return r; } + @Override public int getUpperBound() { for (IConstraintElement ass : getAssignments()) if (ass.isManyRecursive(null)) @@ -863,6 +910,7 @@ public class GrammarConstraintProvider implements IGrammarConstraintProvider { return getAssignmentCount(); // TODO: consider assignments excluding each other } + @Override public boolean isContentValidationNeeded() { if (contentValidationNeeded != null) return contentValidationNeeded; @@ -903,6 +951,7 @@ public class GrammarConstraintProvider implements IGrammarConstraintProvider { return b.toString(); } + @Override public List getCalledContexts() { List result = Lists.newArrayList(); for (IConstraintElement ass : getAssignments()) { @@ -923,10 +972,12 @@ public class GrammarConstraintProvider implements IGrammarConstraintProvider { this.rule = rule; } + @Override public EClass getCommonType() { return (EClass) rule.getType().getClassifier(); } + @Override public EObject getContext() { return rule; } @@ -1396,6 +1447,7 @@ public class GrammarConstraintProvider implements IGrammarConstraintProvider { return result; } + @Override public List getConstraints(Grammar context) { List result = cache.get(context); if (result == null) { diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/analysis/IGrammarConstraintProvider.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/analysis/IGrammarConstraintProvider.java index c09acc322..e5dafd2e9 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/analysis/IGrammarConstraintProvider.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/analysis/IGrammarConstraintProvider.java @@ -140,40 +140,48 @@ public interface IGrammarConstraintProvider { this.root = root; } + @Override public Iterable getAlternativeChildren(IConstraintElement ele) { if (ele.getType() == ConstraintElementType.ALTERNATIVE) return ele.getChildren(); return null; } + @Override public Iterable getSequentialChildren(IConstraintElement ele) { if (ele.getType() == ConstraintElementType.GROUP) return ele.getChildren(); return null; } + @Override public AbstractElement getToken(IConstraintElement ele) { if (ele.getType() != ConstraintElementType.ALTERNATIVE && ele.getType() != ConstraintElementType.GROUP) return ele.getGrammarElement(); return null; } + @Override public Iterable getUnorderedChildren(IConstraintElement ele) { return null; } + @Override public boolean isMany(IConstraintElement ele) { return ele.isMany(); } + @Override public boolean isOptional(IConstraintElement ele) { return ele.isOptional(); } + @Override public IConstraintElement getParent(IConstraintElement ele) { return ele.getContainer(); } + @Override public IConstraintElement getRoot() { return root.getBody(); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/analysis/ISyntacticSequencerPDAProvider.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/analysis/ISyntacticSequencerPDAProvider.java index c5fe89a3a..ac99f5623 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/analysis/ISyntacticSequencerPDAProvider.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/analysis/ISyntacticSequencerPDAProvider.java @@ -33,6 +33,7 @@ import com.google.inject.ImplementedBy; public interface ISyntacticSequencerPDAProvider { public class GetGrammarElement implements Function { + @Override public AbstractElement apply(ISynState from) { return from.getGrammarElement(); } @@ -104,20 +105,24 @@ public interface ISyntacticSequencerPDAProvider { super(); this.start = start; this.stop = new NfaUtil().find(this, new Predicate() { + @Override public boolean apply(ISynAbsorberState input) { return input.getType().isStop(); } }); } + @Override public Iterable getFollowers(ISynAbsorberState node) { return node.getOutAbsorbers(); } + @Override public ISynAbsorberState getStart() { return start; } + @Override public ISynAbsorberState getStop() { return stop; } @@ -127,6 +132,7 @@ public interface ISyntacticSequencerPDAProvider { public class SynPredicates { public static Predicate absorber() { return new Predicate() { + @Override public boolean apply(ISynState input) { return input instanceof ISynAbsorberState; } @@ -135,6 +141,7 @@ public interface ISyntacticSequencerPDAProvider { public static Predicate absorber(final AbstractElement ele) { return new Predicate() { + @Override public boolean apply(ISynState input) { return input.getGrammarElement() == ele && input instanceof ISynAbsorberState; } @@ -143,6 +150,7 @@ public interface ISyntacticSequencerPDAProvider { public static Predicate element(final AbstractElement ele) { return new Predicate() { + @Override public boolean apply(ISynState input) { return input.getGrammarElement() == ele; } @@ -151,6 +159,7 @@ public interface ISyntacticSequencerPDAProvider { public static Predicate emitter(final AbstractElement ele) { return new Predicate() { + @Override public boolean apply(ISynState input) { return input.getGrammarElement() == ele && input instanceof ISynEmitterState; } @@ -159,6 +168,7 @@ public interface ISyntacticSequencerPDAProvider { public static Predicate ruleCallEnter(final RuleCall ele) { return new Predicate() { + @Override public boolean apply(ISynState input) { return input.getGrammarElement() == ele && input.getType().isRuleCallEnter(); } @@ -167,6 +177,7 @@ public interface ISyntacticSequencerPDAProvider { public static Predicate ruleCallExit(final RuleCall ele) { return new Predicate() { + @Override public boolean apply(ISynState input) { return input.getGrammarElement() == ele && input.getType().isRuleCallExit(); } @@ -175,6 +186,7 @@ public interface ISyntacticSequencerPDAProvider { public static Predicate ruleCallExits() { return new Predicate() { + @Override public boolean apply(ISynState input) { return input.getType().isRuleCallExit(); } @@ -183,6 +195,7 @@ public interface ISyntacticSequencerPDAProvider { public static Predicate ruleCallExitsOrAbsorber() { return new Predicate() { + @Override public boolean apply(ISynState input) { return input.getType().isRuleCallExit() || input instanceof ISynAbsorberState; } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/analysis/SemanticSequencerNfaProvider.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/analysis/SemanticSequencerNfaProvider.java index 8a0aa6587..6d70c0ef4 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/analysis/SemanticSequencerNfaProvider.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/analysis/SemanticSequencerNfaProvider.java @@ -62,14 +62,17 @@ public class SemanticSequencerNfaProvider implements ISemanticSequencerNfaProvid this.stop = stops; } + @Override public List getFollowers(ISemState node) { return node.getFollowers(); } + @Override public ISemState getStart() { return start; } + @Override public ISemState getStop() { return stop; } @@ -94,36 +97,43 @@ public class SemanticSequencerNfaProvider implements ISemanticSequencerNfaProvid this.assignedGrammarElement = assignedGrammarElement; } + @Override public BitSet getAllFollowerFeatures() { if (allFollowerFeatures == null) allFollowerFeatures = new BitSet(); return allFollowerFeatures; } + @Override public AbstractElement getAssignedGrammarElement() { return assignedGrammarElement; } + @Override public EStructuralFeature getFeature() { if (feature == null && assignedGrammarElement != null) feature = FeatureFinderUtil.getFeature(assignedGrammarElement, type); return feature; } + @Override public int getFeatureID() { if (featureID < -1) featureID = getFeature() != null ? type.getFeatureID(getFeature()) : -1; return featureID; } + @Override public List getFollowers() { return followers == null ? Collections. emptyList() : followers; } + @Override public int getOrderID() { return orderID; } + @Override public List getToBeValidatedAssignedElements() { return contentValidationNeeded; } @@ -135,6 +145,7 @@ public class SemanticSequencerNfaProvider implements ISemanticSequencerNfaProvid return new GrammarElementTitleSwitch().showQualified().showAssignments().apply(assignedGrammarElement); } + @Override public boolean isBooleanAssignment() { if (booleanAssignment == null) { Assignment assignment = GrammarUtil.containingAssignment(assignedGrammarElement); @@ -146,16 +157,19 @@ public class SemanticSequencerNfaProvider implements ISemanticSequencerNfaProvid protected static class SemStateFactory implements NfaFactory { + @Override public SemNfa create(ISynAbsorberState start, ISynAbsorberState stop) { SemState starts = new SemState(stop.getEClass(), stop.getGrammarElement()); SemState stops = new SemState(start.getEClass(), start.getGrammarElement()); return new SemNfa(starts, stops); } + @Override public ISemState createState(SemNfa nfa, ISynAbsorberState token) { return new SemState(token.getEClass(), token.getGrammarElement()); } + @Override public void setFollowers(SemNfa nfa, ISemState owner, Iterable followers) { ((SemState) owner).followers = Lists.newArrayList(followers); } @@ -193,6 +207,7 @@ public class SemanticSequencerNfaProvider implements ISemanticSequencerNfaProvid return elementIDCache.get(ele); } + @Override public Nfa getNFA(EObject context, EClass type) { Pair key = Tuples.create(context, type); Nfa nfa = resultCache.get(key); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/analysis/SerializerPDA.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/analysis/SerializerPDA.java index dfaf54347..3662644e7 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/analysis/SerializerPDA.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/analysis/SerializerPDA.java @@ -26,24 +26,29 @@ public class SerializerPDA implements Pda { public static class SerializerPDACloneFactory implements PdaFactory { + @Override public SerializerPDA create(ISerState start, ISerState stop) { SerializerPDA.SerializerPDAState s1 = new SerializerPDAState(start.getGrammarElement(), SerStateType.START); SerializerPDA.SerializerPDAState s2 = new SerializerPDAState(stop.getGrammarElement(), SerStateType.STOP); return new SerializerPDA(s1, s2); } + @Override public ISerState createPop(SerializerPDA pda, ISerState token) { return new SerializerPDAState(token.getGrammarElement(), SerStateType.POP); } + @Override public ISerState createPush(SerializerPDA pda, ISerState token) { return new SerializerPDAState(token.getGrammarElement(), SerStateType.PUSH); } + @Override public ISerState createState(SerializerPDA nfa, ISerState token) { return new SerializerPDAState(token.getGrammarElement(), SerStateType.ELEMENT); } + @Override public void setFollowers(SerializerPDA nfa, ISerState owner, Iterable followers) { ((SerializerPDA.SerializerPDAState) owner).followers = Lists.newArrayList(followers); } @@ -52,24 +57,29 @@ public class SerializerPDA implements Pda { public static class SerializerPDAElementFactory implements PdaFactory { + @Override public SerializerPDA create(AbstractElement start, AbstractElement stop) { SerializerPDA.SerializerPDAState s1 = new SerializerPDAState(start, SerStateType.START); SerializerPDA.SerializerPDAState s2 = new SerializerPDAState(stop, SerStateType.STOP); return new SerializerPDA(s1, s2); } + @Override public ISerState createPop(SerializerPDA pda, AbstractElement token) { return new SerializerPDAState(token, SerStateType.POP); } + @Override public ISerState createPush(SerializerPDA pda, AbstractElement token) { return new SerializerPDAState(token, SerStateType.PUSH); } + @Override public ISerState createState(SerializerPDA nfa, AbstractElement token) { return new SerializerPDAState(token, SerStateType.ELEMENT); } + @Override public void setFollowers(SerializerPDA nfa, ISerState owner, Iterable followers) { ((SerializerPDA.SerializerPDAState) owner).followers = Lists.newArrayList(followers); } @@ -77,6 +87,7 @@ public class SerializerPDA implements Pda { public static class SerializerPDAGetToken implements Function { + @Override public AbstractElement apply(ISerState input) { return input.getGrammarElement(); } @@ -102,14 +113,17 @@ public class SerializerPDA implements Pda { return grammarElement == s.grammarElement && type == s.type; } + @Override public List getFollowers() { return followers; } + @Override public AbstractElement getGrammarElement() { return grammarElement; } + @Override public SerStateType getType() { return type; } @@ -155,24 +169,29 @@ public class SerializerPDA implements Pda { return new NfaUtil().equalsIgnoreOrder(this, (SerializerPDA) obj); } + @Override public Iterable getFollowers(ISerState state) { return ((SerializerPDA.SerializerPDAState) state).followers; } + @Override public RuleCall getPop(ISerState state) { SerializerPDA.SerializerPDAState s = (SerializerPDA.SerializerPDAState) state; return s.type == SerStateType.POP ? (RuleCall) s.grammarElement : null; } + @Override public RuleCall getPush(ISerState state) { SerializerPDA.SerializerPDAState s = (SerializerPDA.SerializerPDAState) state; return s.type == SerStateType.PUSH ? (RuleCall) s.grammarElement : null; } + @Override public ISerState getStart() { return start; } + @Override public ISerState getStop() { return stop; } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/analysis/SyntacticSequencerPDAProvider.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/analysis/SyntacticSequencerPDAProvider.java index 058882c82..215226812 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/analysis/SyntacticSequencerPDAProvider.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/analysis/SyntacticSequencerPDAProvider.java @@ -65,10 +65,12 @@ public class SyntacticSequencerPDAProvider implements ISyntacticSequencerPDAProv this.navigable = navigable; } + @Override public ISynState getStop() { return navigable.getTarget(); } + @Override public Iterable getFollowers(ISynState node) { if (node instanceof ISynAbsorberState) { if (navigable instanceof ISynTransition && ((ISynTransition) navigable).getSource() == node) @@ -78,16 +80,19 @@ public class SyntacticSequencerPDAProvider implements ISyntacticSequencerPDAProv return node.getFollowers(); } + @Override public RuleCall getPop(ISynState state) { return state.getType() == SynStateType.UNASSIGNED_PARSER_RULE_EXIT ? (RuleCall) state.getGrammarElement() : null; } + @Override public RuleCall getPush(ISynState state) { return state.getType() == SynStateType.UNASSIGNED_PARSER_RULE_ENTER ? (RuleCall) state.getGrammarElement() : null; } + @Override public ISynState getStart() { if (navigable instanceof ISynTransition) return ((ISynTransition) navigable).getSource(); @@ -130,24 +135,29 @@ public class SyntacticSequencerPDAProvider implements ISyntacticSequencerPDAProv } + @Override public EObject getContext() { return context; } + @Override public EClass getEClass() { return eClass; } + @Override public List getOutTransitions() { List result = Lists.newArrayList(); result.addAll(outTransitionsByElement.values()); return result; } + @Override public Map getOutTransitionsByElement() { return outTransitionsByElement; } + @Override public List getOutAbsorbers() { return outAbsorber; } @@ -183,26 +193,32 @@ public class SyntacticSequencerPDAProvider implements ISyntacticSequencerPDAProv this.target = target; } + @Override public EObject getContext() { return target.getContext(); } + @Override public EClass getEClass() { return target.getEClass(); } + @Override public Pda getPathToTarget() { return new NavigablePDA(this); } + @Override public List getShortestPathTo(final AbstractElement ele, RuleCallStack stack) { return shortestPathTo(stack.iterator(), new Predicate() { + @Override public boolean apply(ISynState input) { return input.getGrammarElement() == ele; } }, true); } + @Override public List getShortestPathToAbsorber(RuleCallStack stack) { if (involvesRuleExit()) return shortestPathTo(stack.iterator(), Predicates. equalTo(getTarget()), false); @@ -212,14 +228,17 @@ public class SyntacticSequencerPDAProvider implements ISyntacticSequencerPDAProv return shortestPathToAbsorber; } + @Override public List getShortestStackpruningPathTo(final AbstractElement ele, RuleCallStack stack) { return shortestStackpruningPathTo(stack.iterator(), new Predicate() { + @Override public boolean apply(ISynState input) { return input.getGrammarElement() == ele; } }, true); } + @Override public List getShortestStackpruningPathToAbsorber(RuleCallStack stack) { if (involvesRuleExit()) return shortestStackpruningPathTo(stack.iterator(), Predicates. equalTo(getTarget()), false); @@ -229,10 +248,12 @@ public class SyntacticSequencerPDAProvider implements ISyntacticSequencerPDAProv return shortestPathToAbsorber; } + @Override public ISynAbsorberState getTarget() { return target; } + @Override public boolean hasEmitters() { if (getFollowers().size() == 1 && getFollowers().get(0) instanceof ISynAbsorberState) return false; @@ -264,6 +285,7 @@ public class SyntacticSequencerPDAProvider implements ISyntacticSequencerPDAProv return involvesRuleExit; } + @Override public boolean involvesUnassignedTokenRuleCalls() { if (involvesUnassignedTokenRuleCalls == null) involvesUnassignedTokenRuleCalls = involves(EnumSet.of(SynStateType.UNASSIGNED_DATATYPE_RULE_CALL, @@ -271,6 +293,7 @@ public class SyntacticSequencerPDAProvider implements ISyntacticSequencerPDAProv return involvesUnassignedTokenRuleCalls; } + @Override public boolean isSyntacticallyAmbiguous() { if (syntacticallyAmbiguous == null) syntacticallyAmbiguous = isSyntacticallyAmbiguous(followers); @@ -370,14 +393,17 @@ public class SyntacticSequencerPDAProvider implements ISyntacticSequencerPDAProv followers.addAll(follower); } + @Override public List getFollowers() { return followers; } + @Override public AbstractElement getGrammarElement() { return element; } + @Override public SynStateType getType() { return type; } @@ -391,6 +417,7 @@ public class SyntacticSequencerPDAProvider implements ISyntacticSequencerPDAProv return toString(new GrammarElementTitleSwitch().showAssignments().showQualified()); } + @Override public String toString(Function elementFormatter) { if (type == null) return "(type is null)"; @@ -414,6 +441,7 @@ public class SyntacticSequencerPDAProvider implements ISyntacticSequencerPDAProv protected static class SynTransition extends SynNavigable implements ISynTransition { private final static class Filter implements Predicate { + @Override public boolean apply(ISynState input) { AbstractElement ge = input.getGrammarElement(); return ge instanceof Keyword || GrammarUtil.isDatatypeRuleCall(ge) || GrammarUtil.isEnumRuleCall(ge) @@ -434,6 +462,7 @@ public class SyntacticSequencerPDAProvider implements ISyntacticSequencerPDAProv this.source = source; } + @Override public AbstractElementAlias getAmbiguousSyntax() { if (ambiguousSyntax != UNINITIALIZED) return ambiguousSyntax; @@ -459,6 +488,7 @@ public class SyntacticSequencerPDAProvider implements ISyntacticSequencerPDAProv return ambiguousSyntax; } + @Override public List getAmbiguousSyntaxes() { if (ambiguousSyntaxes != null) return ambiguousSyntaxes; @@ -484,6 +514,7 @@ public class SyntacticSequencerPDAProvider implements ISyntacticSequencerPDAProv return new NfaToProduction().nfaToGrammar(path, new GetGrammarElement(), new GrammarAliasFactory()); } + @Override public ISynAbsorberState getSource() { return source; } @@ -594,6 +625,7 @@ public class SyntacticSequencerPDAProvider implements ISyntacticSequencerPDAProv return new SynTransition(source, target); } + @Override public ISynAbsorberState getPDA(EObject context, EClass type) { // SequencerPDAContext ctx = new SequencerPDAContext(context, type); Pair key = Tuples.create(context, type); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/analysis/TypeFinderNFAProvider.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/analysis/TypeFinderNFAProvider.java index 22b83d6e9..0a779c3a2 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/analysis/TypeFinderNFAProvider.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/analysis/TypeFinderNFAProvider.java @@ -67,6 +67,7 @@ public class TypeFinderNFAProvider extends AbstractNFAProvider { + @Override public AbstractElement apply(ISemState from) { return from.getAssignedGrammarElement(); } @@ -52,6 +53,7 @@ public class SequencerDiagnosticProvider implements ISemanticSequencerDiagnostic public static class NamedElement2Name implements Function { + @Override public String apply(ENamedElement from) { return from == null ? "null" : from.getName(); } @@ -69,11 +71,13 @@ public class SequencerDiagnosticProvider implements ISemanticSequencerDiagnostic @Inject protected IContextFinder contextFinder; + @Override public ISerializationDiagnostic createFeatureValueMissing(EObject semanticObject, EStructuralFeature feature) { String msg = "A value for feature '" + feature.getName() + "' is missing but required."; return new SerializationDiagnostic(FEATURE_VALUE_MISSING, semanticObject, msg); } + @Override public ISerializationDiagnostic createInvalidContextOrTypeDiagnostic(EObject semanticObject, EObject context) { Set contexts = Sets.newHashSet(contextFinder.findContextsByContentsAndContainer(semanticObject, null)); List validTypes = getValidTypes(context); @@ -121,6 +125,7 @@ public class SequencerDiagnosticProvider implements ISemanticSequencerDiagnostic return Collections.emptyList(); } + @Override public ISerializationDiagnostic createBacktrackingFailedDiagnostic(SerializableObject semanticObject, EObject context, Nfa nfa) { GrammarElementTitleSwitch ele2str = new GrammarElementTitleSwitch().showAssignments().setValueForNull(null); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/diagnostic/SerializationDiagnostic.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/diagnostic/SerializationDiagnostic.java index 9f2083e57..d61a4d15a 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/diagnostic/SerializationDiagnostic.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/diagnostic/SerializationDiagnostic.java @@ -52,26 +52,32 @@ public class SerializationDiagnostic implements ISerializationDiagnostic { this(id, semanticObject, (EStructuralFeature) null, message); } + @Override public boolean breaksSyntax() { return true; } + @Override public Throwable getException() { return null; } + @Override public String getMessage() { return message; } + @Override public EObject getSemanticObject() { return semanticObject; } + @Override public EObject getContext() { return context; } + @Override public String getId() { return id; } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/diagnostic/SyntacticSequencerDiagnosticProvider.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/diagnostic/SyntacticSequencerDiagnosticProvider.java index 8592665b4..62b0440bb 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/diagnostic/SyntacticSequencerDiagnosticProvider.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/diagnostic/SyntacticSequencerDiagnosticProvider.java @@ -27,6 +27,7 @@ import com.google.common.collect.Lists; */ public class SyntacticSequencerDiagnosticProvider implements ISyntacticSequencerDiagnosticProvider { + @Override public ISerializationDiagnostic createInvalidFollowingAbsorberDiagnostic(EObject context, EObject semanticObject, ISynAbsorberState from, AbstractElement to) { GrammarElementTitleSwitch fmt = new GrammarElementTitleSwitch().showAssignments().showQualified(); @@ -44,11 +45,13 @@ public class SyntacticSequencerDiagnosticProvider implements ISyntacticSequencer return new SerializationDiagnostic(INVALID_FOLLOWING_ABSORBER, semanticObject, context, msg.toString()); } + @Override public ISerializationDiagnostic createUnexpectedEmitterDiagnostic(ISynNavigable currentState, AbstractElement target, RuleCallStack stack) { return null; } + @Override public ISerializationDiagnostic createUnexpectedStackStateDiagnostic(EObject semanticObject, RuleCallStack stack, RuleCall popped, ISynState toConsume) { String poppedStr = popped == null ? "null" : new GrammarElementTitleSwitch().showAssignments().doSwitch(popped); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/diagnostic/TokenDiagnosticProvider.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/diagnostic/TokenDiagnosticProvider.java index 22bedbaac..aac684223 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/diagnostic/TokenDiagnosticProvider.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/diagnostic/TokenDiagnosticProvider.java @@ -35,6 +35,7 @@ public class TokenDiagnosticProvider implements ITokenDiagnosticProvider { return clazz + "." + ref.getName(); } + @Override public ISerializationDiagnostic getInvalidEnumValueDiagnostic(EObject semanticObject, RuleCall rc, Object value) { List valid = Lists.newArrayList(); for (EnumLiteralDeclaration eld : org.eclipse.xtext.EcoreUtil2.getAllContentsOfType(rc.getRule(), @@ -46,6 +47,7 @@ public class TokenDiagnosticProvider implements ITokenDiagnosticProvider { return new SerializationDiagnostic(INVALID_ENUM_VALUE, semanticObject, rc, msg.toString()); } + @Override public ISerializationDiagnostic getNoEObjectDescriptionFoundDiagnostic(EObject semanticObject, CrossReference element, EObject target, IScope scope) { String msg = "No EObjectDescription could be found in Scope " + getFullReferenceName(semanticObject, element) @@ -53,16 +55,19 @@ public class TokenDiagnosticProvider implements ITokenDiagnosticProvider { return new SerializationDiagnostic(NO_EOBJECT_DESCRIPTION_FOUND, semanticObject, element, msg); } + @Override public ISerializationDiagnostic getNoScopeFoundDiagnostic(EObject semanticObject, CrossReference element, EObject target) { String msg = "Could not create Scope for EReference " + getFullReferenceName(semanticObject, element); return new SerializationDiagnostic(NO_SCOPE_FOUND, semanticObject, element, msg); } + @Override public ISerializationDiagnostic getNullNotAllowedDiagnostic(EObject semanticObject, AbstractElement ele) { return new SerializationDiagnostic(NULL_NOT_ALLOWED, semanticObject, ele, "Must not be null"); } + @Override public ISerializationDiagnostic getValueConversionExceptionDiagnostic(EObject semanticObject, AbstractElement element, Object value, Throwable exception) { return new SerializationDiagnostic(VALUE_CONVERSION_EXCEPTION, semanticObject, element, exception.getMessage()); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/impl/Serializer.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/impl/Serializer.java index 1c557e13e..e4c9cf2b8 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/impl/Serializer.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/impl/Serializer.java @@ -47,6 +47,7 @@ import com.google.inject.Provider; */ public class Serializer implements ISerializer { + @Override public String serialize(EObject obj) { return serialize(obj, SaveOptions.defaultOptions()); } @@ -116,6 +117,7 @@ public class Serializer implements ISerializer { return contexts.next(); } + @Override public String serialize(EObject obj, SaveOptions options) { TokenStringBuffer tokenStringBuffer = new TokenStringBuffer(); try { @@ -126,10 +128,12 @@ public class Serializer implements ISerializer { return tokenStringBuffer.toString(); } + @Override public void serialize(EObject obj, Writer writer, SaveOptions options) throws IOException { serialize(obj, new WriterTokenStream(writer), options); } + @Override public ReplaceRegion serializeReplacement(EObject obj, SaveOptions options) { ICompositeNode node = NodeModelUtils.findActualNodeFor(obj); if (node == null) { diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/sequencer/AbstractSemanticSequencer.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/sequencer/AbstractSemanticSequencer.java index aba1fd736..30d2b97a5 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/sequencer/AbstractSemanticSequencer.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/sequencer/AbstractSemanticSequencer.java @@ -55,10 +55,12 @@ public abstract class AbstractSemanticSequencer implements ISemanticSequencer { errorAcceptor); } + @Override public void init(ISemanticSequenceAcceptor sequenceAcceptor, Acceptor errorAcceptor) { init(this, sequenceAcceptor, errorAcceptor); } + @Override public void init(ISemanticSequencer sequencer, ISemanticSequenceAcceptor sequenceAcceptor, ISerializationDiagnostic.Acceptor errorAcceptor) { this.masterSequencer = sequencer; diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/sequencer/AbstractSyntacticSequencer.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/sequencer/AbstractSyntacticSequencer.java index f01daa262..cf95dd4cf 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/sequencer/AbstractSyntacticSequencer.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/sequencer/AbstractSyntacticSequencer.java @@ -166,28 +166,33 @@ public abstract class AbstractSyntacticSequencer implements ISyntacticSequencer, throw new RuntimeException("invalid state for emitting: " + emitter + " (" + emitter.getType() + ")"); } + @Override public void acceptAssignedCrossRefDatatype(RuleCall datatypeRC, String token, EObject value, int index, ICompositeNode node) { navigateToAbsorber(datatypeRC, node); delegate.acceptAssignedCrossRefDatatype(datatypeRC, token, value, index, node); } + @Override public void acceptAssignedCrossRefEnum(RuleCall enumRC, String token, EObject value, int index, ICompositeNode node) { navigateToAbsorber(enumRC, node); delegate.acceptAssignedCrossRefEnum(enumRC, token, value, index, node); } + @Override public void acceptAssignedCrossRefKeyword(Keyword kw, String token, EObject value, int index, ILeafNode node) { navigateToAbsorber(kw, node); delegate.acceptAssignedCrossRefKeyword(kw, token, value, index, node); } + @Override public void acceptAssignedCrossRefTerminal(RuleCall terminalRC, String token, EObject value, int index, ILeafNode node) { navigateToAbsorber(terminalRC, node); delegate.acceptAssignedCrossRefTerminal(terminalRC, token, value, index, node); } + @Override public void acceptAssignedDatatype(RuleCall datatypeRC, String token, Object value, int index, ICompositeNode node) { navigateToAbsorber(datatypeRC, node); if (token == null) @@ -195,16 +200,19 @@ public abstract class AbstractSyntacticSequencer implements ISyntacticSequencer, delegate.acceptAssignedDatatype(datatypeRC, token, value, index, node); } + @Override public void acceptAssignedEnum(RuleCall enumRC, String token, Object value, int index, ICompositeNode node) { navigateToAbsorber(enumRC, node); delegate.acceptAssignedEnum(enumRC, token, value, index, node); } + @Override public void acceptAssignedKeyword(Keyword keyword, String token, Object value, int index, ILeafNode node) { navigateToAbsorber(keyword, node); delegate.acceptAssignedKeyword(keyword, token, value, index, node); } + @Override public void acceptAssignedTerminal(RuleCall terminalRC, String token, Object value, int index, ILeafNode node) { navigateToAbsorber(terminalRC, node); if (token == null) @@ -306,6 +314,7 @@ public abstract class AbstractSyntacticSequencer implements ISyntacticSequencer, protected abstract void emitUnassignedTokens(EObject semanticObject, ISynTransition transition, INode fromNode, INode toNode); + @Override public boolean enterAssignedAction(Action action, EObject semanticChild, ICompositeNode node) { navigateToAbsorber(action, node); boolean shouldEnter = delegate.enterAssignedAction(action, semanticChild, node); @@ -317,6 +326,7 @@ public abstract class AbstractSyntacticSequencer implements ISyntacticSequencer, return shouldEnter; } + @Override public boolean enterAssignedParserRuleCall(RuleCall rc, EObject semanticChild, ICompositeNode node) { navigateToAbsorber(rc, node); boolean shouldEnter = delegate.enterAssignedParserRuleCall(rc, semanticChild, node); @@ -346,6 +356,7 @@ public abstract class AbstractSyntacticSequencer implements ISyntacticSequencer, return null; } + @Override public void finish() { navigateToAbsorber(null, contexts.peek().rootNode); delegate.finish(); @@ -390,6 +401,7 @@ public abstract class AbstractSyntacticSequencer implements ISyntacticSequencer, return getUnassignedRuleCallToken(contexts.peek().semanticObject, ruleCall, node); } + @Override public void init(EObject context, EObject semanticObject, ISyntacticSequenceAcceptor sequenceAcceptor, Acceptor errorAcceptor) { INode node = NodeModelUtils.findActualNodeFor(semanticObject); @@ -400,11 +412,13 @@ public abstract class AbstractSyntacticSequencer implements ISyntacticSequencer, this.errorAcceptor = errorAcceptor; } + @Override public void leaveAssignedAction(Action action, EObject semanticChild) { contexts.pop(); delegate.leaveAssignedAction(action, semanticChild); } + @Override public void leaveAssignedParserRuleCall(RuleCall rc, EObject semanticChild) { contexts.pop(); delegate.leaveAssignedParserRuleCall(rc, semanticChild); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/sequencer/AssignmentFinder.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/sequencer/AssignmentFinder.java index 87efbdaa8..c7e8b92e1 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/sequencer/AssignmentFinder.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/sequencer/AssignmentFinder.java @@ -55,6 +55,7 @@ public class AssignmentFinder implements IAssignmentFinder { @Inject protected IValueSerializer valueSerializer; + @Override public Iterable findAssignmentsByValue(EObject semanticObj, Iterable assignedElements, Object value, INode node) { EStructuralFeature feature = FeatureFinderUtil.getFeature(assignedElements.iterator().next(), diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/sequencer/BacktrackingSemanticSequencer.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/sequencer/BacktrackingSemanticSequencer.java index e3d2ef766..71e301836 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/sequencer/BacktrackingSemanticSequencer.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/sequencer/BacktrackingSemanticSequencer.java @@ -58,6 +58,7 @@ public class BacktrackingSemanticSequencer extends AbstractSemanticSequencer { this.nodeModelEle = nodeModelEle; } + @Override public int compare(ISemState o1, ISemState o2) { if (nodeModelEle != null) { if (o1.getAssignedGrammarElement() == nodeModelEle) @@ -416,12 +417,14 @@ public class BacktrackingSemanticSequencer extends AbstractSemanticSequencer { return new FollowerSorter(obj, nodeModelEle); } + @Override public void createSequence(EObject context, final EObject obj) { INodesForEObjectProvider nodes = nodeProvider.getNodesForSemanticObject(obj, null); Nfa nfa = nfaProvider.getNFA(context, obj.eClass()); final SerializableObject object = new SerializableObject(obj, nodes); TraceItem co = new TraceItem(object); List trace = new NfaUtil().backtrack(nfa, co, new NfaUtil.BacktrackHandler() { + @Override public TraceItem handle(ISemState state, TraceItem previous) { if (!previous.canEnter(state)) return null; @@ -431,10 +434,12 @@ public class BacktrackingSemanticSequencer extends AbstractSemanticSequencer { return previous.clone(state); } + @Override public boolean isSolution(TraceItem result) { return result.isConsumed(); } + @Override public Iterable sortFollowers(TraceItem result, Iterable followers) { AbstractElement next = result.getNextGrammarElement(); List r = Lists.newArrayList(followers); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/sequencer/ContextFinder.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/sequencer/ContextFinder.java index 601f874c8..44a314a26 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/sequencer/ContextFinder.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/sequencer/ContextFinder.java @@ -139,6 +139,7 @@ public class ContextFinder implements IContextFinder { return result; } + @Override public Iterable findContextsByContents(EObject semanticObject, Iterable contextCandidates) { if (semanticObject == null) throw new NullPointerException(); @@ -170,6 +171,7 @@ public class ContextFinder implements IContextFinder { return Iterables.concat(constraints.values()); } + @Override public Iterable findContextsByContentsAndContainer(EObject semanticObject, Iterable contextCandidates) { initConstraints(); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/sequencer/EmitterNodeIterator.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/sequencer/EmitterNodeIterator.java index bd8c020ad..fd06b5c12 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/sequencer/EmitterNodeIterator.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/sequencer/EmitterNodeIterator.java @@ -50,6 +50,7 @@ public class EmitterNodeIterator implements Iterator { } } + @Override public boolean hasNext() { return !next.isEmpty(); } @@ -71,6 +72,7 @@ public class EmitterNodeIterator implements Iterator { return node.getGrammarElement() != null && GrammarUtil.isAssigned(node.getGrammarElement()); } + @Override public INode next() { INode result; if (!next.isEmpty()) { @@ -107,6 +109,7 @@ public class EmitterNodeIterator implements Iterator { return result; } + @Override public void remove() { throw new UnsupportedOperationException(); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/sequencer/GenericSemanticSequencer.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/sequencer/GenericSemanticSequencer.java index 27e12a744..f70361088 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/sequencer/GenericSemanticSequencer.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/sequencer/GenericSemanticSequencer.java @@ -577,6 +577,7 @@ public class GenericSemanticSequencer extends AbstractSemanticSequencer { return false; } + @Override public void createSequence(EObject context, EObject semanticObject) { initConstraints(); IConstraint constraint = getConstraint(context, semanticObject.eClass()); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/sequencer/HiddenTokenSequencer.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/sequencer/HiddenTokenSequencer.java index b26d989e4..d2ce5860e 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/sequencer/HiddenTokenSequencer.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/sequencer/HiddenTokenSequencer.java @@ -61,76 +61,89 @@ public class HiddenTokenSequencer implements IHiddenTokenSequencer, ISyntacticSe @Inject protected TokenUtil tokenUtil; + @Override public void acceptAssignedCrossRefDatatype(RuleCall rc, String tkn, EObject val, int index, ICompositeNode node) { emitHiddenTokens(getHiddenNodesBetween(lastNode, node)); lastNode = getLastLeaf(node); delegate.acceptAssignedCrossRefDatatype(rc, tkn, val, index, node); } + @Override public void acceptAssignedCrossRefEnum(RuleCall rc, String token, EObject value, int index, ICompositeNode node) { emitHiddenTokens(getHiddenNodesBetween(lastNode, node)); lastNode = getLastLeaf(node); delegate.acceptAssignedCrossRefEnum(rc, token, value, index, node); } + @Override public void acceptAssignedCrossRefKeyword(Keyword kw, String token, EObject value, int index, ILeafNode node) { emitHiddenTokens(getHiddenNodesBetween(lastNode, node)); lastNode = node; delegate.acceptAssignedCrossRefKeyword(kw, token, value, index, node); } + @Override public void acceptAssignedCrossRefTerminal(RuleCall rc, String token, EObject value, int index, ILeafNode node) { emitHiddenTokens(getHiddenNodesBetween(lastNode, node)); lastNode = node; delegate.acceptAssignedCrossRefTerminal(rc, token, value, index, node); } + @Override public void acceptAssignedDatatype(RuleCall rc, String token, Object value, int index, ICompositeNode node) { emitHiddenTokens(getHiddenNodesBetween(lastNode, node)); lastNode = getLastLeaf(node); delegate.acceptAssignedDatatype(rc, token, value, index, node); } + @Override public void acceptAssignedEnum(RuleCall enumRC, String token, Object value, int index, ICompositeNode node) { emitHiddenTokens(getHiddenNodesBetween(lastNode, node)); lastNode = getLastLeaf(node); delegate.acceptAssignedEnum(enumRC, token, value, index, node); } + @Override public void acceptAssignedKeyword(Keyword keyword, String token, Object value, int index, ILeafNode node) { emitHiddenTokens(getHiddenNodesBetween(lastNode, node)); lastNode = node; delegate.acceptAssignedKeyword(keyword, token, value, index, node); } + @Override public void acceptAssignedTerminal(RuleCall terminalRC, String token, Object value, int index, ILeafNode node) { emitHiddenTokens(getHiddenNodesBetween(lastNode, node)); lastNode = node; delegate.acceptAssignedTerminal(terminalRC, token, value, index, node); } + @Override public void acceptUnassignedAction(Action action) { delegate.acceptUnassignedAction(action); } + @Override public void acceptUnassignedDatatype(RuleCall datatypeRC, String token, ICompositeNode node) { emitHiddenTokens(getHiddenNodesBetween(lastNode, node)); lastNode = getLastLeaf(node); delegate.acceptUnassignedDatatype(datatypeRC, token, node); } + @Override public void acceptUnassignedEnum(RuleCall enumRC, String token, ICompositeNode node) { emitHiddenTokens(getHiddenNodesBetween(lastNode, node)); lastNode = getLastLeaf(node); delegate.acceptUnassignedEnum(enumRC, token, node); } + @Override public void acceptUnassignedKeyword(Keyword keyword, String token, ILeafNode node) { emitHiddenTokens(getHiddenNodesBetween(lastNode, node)); lastNode = node; delegate.acceptUnassignedKeyword(keyword, token, node); } + @Override public void acceptUnassignedTerminal(RuleCall terminalRC, String token, ILeafNode node) { emitHiddenTokens(getHiddenNodesBetween(lastNode, node)); lastNode = node; @@ -158,18 +171,22 @@ public class HiddenTokenSequencer implements IHiddenTokenSequencer, ISyntacticSe delegate.acceptWhitespace(hiddenTokenHelper.getWhitespaceRuleFor(null, ""), "", null); } + @Override public boolean enterAssignedAction(Action action, EObject semanticChild, ICompositeNode node) { return delegate.enterAssignedAction(action, semanticChild, node); } + @Override public boolean enterAssignedParserRuleCall(RuleCall rc, EObject semanticChild, ICompositeNode node) { return delegate.enterAssignedParserRuleCall(rc, semanticChild, node); } + @Override public void enterUnassignedParserRuleCall(RuleCall rc) { delegate.enterUnassignedParserRuleCall(rc); } + @Override public void finish() { if (rootNode != null && rootNode == rootNode.getRootNode()) { List hidden = getRemainingHiddenNodesInContainer(lastNode, rootNode); @@ -409,6 +426,7 @@ public class HiddenTokenSequencer implements IHiddenTokenSequencer, ISyntacticSe return out; } + @Override public void init(EObject context, EObject semanticObject, ISequenceAcceptor sequenceAcceptor, Acceptor errorAcceptor) { this.delegate = sequenceAcceptor; this.lastNode = NodeModelUtils.findActualNodeFor(semanticObject); @@ -419,14 +437,17 @@ public class HiddenTokenSequencer implements IHiddenTokenSequencer, ISyntacticSe } } + @Override public void leaveAssignedAction(Action action, EObject semanticChild) { delegate.leaveAssignedAction(action, semanticChild); } + @Override public void leaveAssignedParserRuleCall(RuleCall rc, EObject semanticChild) { delegate.leaveAssignedParserRuleCall(rc, semanticChild); } + @Override public void leaveUnssignedParserRuleCall(RuleCall rc) { delegate.leaveUnssignedParserRuleCall(rc); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/sequencer/ISemanticNodeProvider.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/sequencer/ISemanticNodeProvider.java index 5030f9aa4..0a5bf3165 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/sequencer/ISemanticNodeProvider.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/sequencer/ISemanticNodeProvider.java @@ -27,11 +27,13 @@ public interface ISemanticNodeProvider { } public class NullNodesForEObjectProvider implements INodesForEObjectProvider { + @Override public INode getNodeForMultiValue(EStructuralFeature feature, int indexInFeature, int indexAmongNonTransient, Object value) { return null; } + @Override public INode getNodeForSingelValue(EStructuralFeature feature, Object value) { return null; } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/sequencer/NodeModelSemanticSequencer.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/sequencer/NodeModelSemanticSequencer.java index 007615f13..afac3558e 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/sequencer/NodeModelSemanticSequencer.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/sequencer/NodeModelSemanticSequencer.java @@ -31,6 +31,7 @@ public class NodeModelSemanticSequencer extends AbstractSemanticSequencer { @Inject protected IValueConverterService valueConverter; + @Override public void createSequence(EObject context, EObject semanticObject) { SemanticNodeIterator ni = new SemanticNodeIterator(semanticObject); while (ni.hasNext()) { diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/sequencer/SemanticNodeIterator.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/sequencer/SemanticNodeIterator.java index 741beafe4..892938601 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/sequencer/SemanticNodeIterator.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/serializer/sequencer/SemanticNodeIterator.java @@ -77,6 +77,7 @@ public class SemanticNodeIterator implements Iterator next() { Triple oldNext = next; if (next != null) @@ -127,6 +129,7 @@ public class SemanticNodeIterator implements Iterator implements Provider { @Ui private T uiBinding; + @Override public T get() { return uiBinding != null ? uiBinding : runtimeBinding; } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/service/MethodBasedModule.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/service/MethodBasedModule.java index 26483ab9c..155f074bc 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/service/MethodBasedModule.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/service/MethodBasedModule.java @@ -42,6 +42,7 @@ public abstract class MethodBasedModule implements Module { return owner; } + @Override @SuppressWarnings("unchecked") public void configure(Binder binder) { Type key = getKeyType(); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/AbstractDeclarativeValidator.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/AbstractDeclarativeValidator.java index 6971253f4..fa3679941 100755 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/AbstractDeclarativeValidator.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/AbstractDeclarativeValidator.java @@ -245,6 +245,7 @@ public abstract class AbstractDeclarativeValidator extends AbstractInjectableVal private final SimpleCache, List> methodsForType = new SimpleCache, List>( new Function, List>() { + @Override public List apply(Class param) { List result = new ArrayList(); for (MethodWrapper mw : checkMethods) { @@ -547,6 +548,7 @@ public abstract class AbstractDeclarativeValidator extends AbstractInjectableVal // Implementation of the Validation message acceptor below ////////////////////////////////////////////////////////// + @Override public void acceptError(String message, EObject object, EStructuralFeature feature, int index, String code, String... issueData) { checkIsFromCurrentlyCheckedResource(object); @@ -572,29 +574,34 @@ public abstract class AbstractDeclarativeValidator extends AbstractInjectableVal } } + @Override public void acceptWarning(String message, EObject object, EStructuralFeature feature, int index, String code, String... issueData) { checkIsFromCurrentlyCheckedResource(object); state.get().chain.add(createDiagnostic(Severity.WARNING, message, object, feature, index, code, issueData)); } + @Override public void acceptInfo(String message, EObject object, EStructuralFeature feature, int index, String code, String... issueData) { checkIsFromCurrentlyCheckedResource(object); state.get().chain.add(createDiagnostic(Severity.INFO, message, object, feature, index, code, issueData)); } + @Override public void acceptError(String message, EObject object, int offset, int length, String code, String... issueData) { checkIsFromCurrentlyCheckedResource(object); this.state.get().hasErrors = true; state.get().chain.add(createDiagnostic(Severity.ERROR, message, object, offset, length, code, issueData)); } + @Override public void acceptWarning(String message, EObject object, int offset, int length, String code, String... issueData) { checkIsFromCurrentlyCheckedResource(object); state.get().chain.add(createDiagnostic(Severity.WARNING, message, object, offset, length, code, issueData)); } + @Override public void acceptInfo(String message, EObject object, int offset, int length, String code, String... issueData) { checkIsFromCurrentlyCheckedResource(object); state.get().chain.add(createDiagnostic(Severity.INFO, message, object, offset, length, code, issueData)); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/AbstractInjectableValidator.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/AbstractInjectableValidator.java index be2b779e0..ed164e97b 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/AbstractInjectableValidator.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/AbstractInjectableValidator.java @@ -54,14 +54,17 @@ public abstract class AbstractInjectableValidator implements EValidator { throw new UnsupportedOperationException("please overwrite"); } + @Override public boolean validate(EDataType eDataType, Object value, DiagnosticChain diagnostics, Map context) { return true; } + @Override final public boolean validate(EObject eObject, DiagnosticChain diagnostics, Map context) { return validate(eObject.eClass(), eObject, diagnostics, context); } + @Override final public boolean validate(EClass eClass, EObject eObject, DiagnosticChain diagnostics, Map context) { return (isResponsible(context, eObject)) ? internalValidate(eObject.eClass(), eObject, diagnostics, context) : true; } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/AbstractValidationDiagnostic.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/AbstractValidationDiagnostic.java index 43751bac8..b0c792f53 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/AbstractValidationDiagnostic.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/AbstractValidationDiagnostic.java @@ -42,6 +42,7 @@ public abstract class AbstractValidationDiagnostic implements Diagnostic { this.issueData = issueData; } + @Override public List getChildren() { return Collections.emptyList(); } @@ -49,10 +50,12 @@ public abstract class AbstractValidationDiagnostic implements Diagnostic { // it turns out, the EMF Diagnostic works well with 0, // look at getIssueCode() to retrieve the string-based // code + @Override public int getCode() { return 0; } + @Override public String getSource() { return source == null ? "" : source.toString(); } @@ -61,14 +64,17 @@ public abstract class AbstractValidationDiagnostic implements Diagnostic { return source; } + @Override public Throwable getException() { return null; } + @Override public String getMessage() { return message; } + @Override public int getSeverity() { return severity; } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/AbstractValidationMessageAcceptor.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/AbstractValidationMessageAcceptor.java index 927b4cdba..f01724e1d 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/AbstractValidationMessageAcceptor.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/AbstractValidationMessageAcceptor.java @@ -15,16 +15,22 @@ import org.eclipse.emf.ecore.EStructuralFeature; */ public abstract class AbstractValidationMessageAcceptor implements ValidationMessageAcceptor { + @Override public void acceptError(String message, EObject object, EStructuralFeature feature, int index, String code, String... issueData) { } + @Override public void acceptError(String message, EObject object, int offset, int length, String code, String... issueData) { } + @Override public void acceptWarning(String message, EObject object, EStructuralFeature feature, int index, String code, String... issueData) { } + @Override public void acceptWarning(String message, EObject object, int offset, int length, String code, String... issueData) { } + @Override public void acceptInfo(String message, EObject object, EStructuralFeature feature, int index, String code, String... issueData) { } + @Override public void acceptInfo(String message, EObject object, int offset, int length, String code, String... issueData) { } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/CompositeEValidator.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/CompositeEValidator.java index 803893fff..d786e74c1 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/CompositeEValidator.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/CompositeEValidator.java @@ -106,6 +106,7 @@ public class CompositeEValidator implements EValidator { } } + @Override public boolean validate(EObject eObject, DiagnosticChain diagnostics, Map context) { boolean result = true; for (int i = 0; i < getContents().size(); i++) { @@ -127,6 +128,7 @@ public class CompositeEValidator implements EValidator { return result; } + @Override public boolean validate(EClass eClass, EObject eObject, DiagnosticChain diagnostics, Map context) { boolean result = true; for (int i = 0; i < getContents().size(); i++) { @@ -148,6 +150,7 @@ public class CompositeEValidator implements EValidator { return result; } + @Override public boolean validate(EDataType eDataType, Object value, DiagnosticChain diagnostics, Map context) { boolean result = true; for (int i = 0; i < getContents().size(); i++) { diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/DiagnosticConverterImpl.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/DiagnosticConverterImpl.java index 3fe383913..6d3b93602 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/DiagnosticConverterImpl.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/DiagnosticConverterImpl.java @@ -40,6 +40,7 @@ public class DiagnosticConverterImpl implements IDiagnosticConverter { public Integer length; } + @Override public void convertResourceDiagnostic(Diagnostic diagnostic, Severity severity, IAcceptor acceptor) { IssueImpl issue = new Issue.IssueImpl(); issue.setSyntaxError(diagnostic instanceof XtextSyntaxDiagnostic); @@ -62,6 +63,7 @@ public class DiagnosticConverterImpl implements IDiagnosticConverter { acceptor.accept(issue); } + @Override public void convertValidatorDiagnostic(org.eclipse.emf.common.util.Diagnostic diagnostic, IAcceptor acceptor) { Severity severity = getSeverity(diagnostic); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/EObjectDiagnosticImpl.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/EObjectDiagnosticImpl.java index 9a152f18c..2a6ab0760 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/EObjectDiagnosticImpl.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/EObjectDiagnosticImpl.java @@ -44,6 +44,7 @@ public class EObjectDiagnosticImpl extends AbstractDiagnostic { this.data = data; } + @Override public String getMessage() { return message; } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/FeatureBasedDiagnostic.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/FeatureBasedDiagnostic.java index 2c2baa831..c3ac187ba 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/FeatureBasedDiagnostic.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/FeatureBasedDiagnostic.java @@ -37,6 +37,7 @@ public class FeatureBasedDiagnostic extends AbstractValidationDiagnostic { this.index = index; } + @Override public List getData() { List result = Lists.newArrayListWithExpectedSize(3); result.add(getSourceEObject()); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/IConcreteSyntaxValidator.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/IConcreteSyntaxValidator.java index 7177fcdfc..01c14692c 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/IConcreteSyntaxValidator.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/IConcreteSyntaxValidator.java @@ -28,6 +28,7 @@ public interface IConcreteSyntaxValidator { this.chain = chain; } + @Override public void accept(IConcreteSyntaxDiagnostic diag) { chain.add(diag); } @@ -42,6 +43,7 @@ public interface IConcreteSyntaxValidator { this.chain = chain; } + @Override public void accept(IConcreteSyntaxDiagnostic diag) { chain.add(diag); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/IResourceValidator.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/IResourceValidator.java index b78bbac0f..59c388f8c 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/IResourceValidator.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/IResourceValidator.java @@ -27,6 +27,7 @@ public interface IResourceValidator { List validate(Resource resource, CheckMode mode, CancelIndicator indicator); IResourceValidator NULL = new IResourceValidator() { + @Override public List validate(Resource resource, CheckMode mode, CancelIndicator indicator) { return Collections.emptyList(); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/Issue.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/Issue.java index 4ee0010e8..72160e896 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/Issue.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/Issue.java @@ -55,6 +55,7 @@ public interface Issue { private CheckType type; private String[] data; + @Override public Integer getLength() { return length; } @@ -68,6 +69,7 @@ public interface Issue { } } + @Override public Integer getLineNumber() { return lineNumber; } @@ -76,6 +78,7 @@ public interface Issue { this.lineNumber = lineNumber; } + @Override public Integer getOffset() { return offset; } @@ -84,6 +87,7 @@ public interface Issue { this.offset = offset; } + @Override public String getMessage() { return message; } @@ -92,6 +96,7 @@ public interface Issue { this.message = message; } + @Override public URI getUriToProblem() { return uriToProblem; } @@ -100,6 +105,7 @@ public interface Issue { this.uriToProblem = uriToProblem; } + @Override public Severity getSeverity() { return severity == null ? Severity.ERROR : severity; } @@ -108,6 +114,7 @@ public interface Issue { this.severity = severity; } + @Override public String getCode() { return code; } @@ -116,6 +123,7 @@ public interface Issue { this.code = code; } + @Override public String[] getData() { return data; } @@ -124,6 +132,7 @@ public interface Issue { this.data = data; } + @Override public CheckType getType() { return type; } @@ -136,6 +145,7 @@ public interface Issue { this.isSyntaxError = isSyntaxError; } + @Override public boolean isSyntaxError() { return isSyntaxError; } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/NamesAreUniqueValidationHelper.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/NamesAreUniqueValidationHelper.java index 4eec0dc0e..e1066c076 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/NamesAreUniqueValidationHelper.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/NamesAreUniqueValidationHelper.java @@ -49,6 +49,7 @@ public class NamesAreUniqueValidationHelper implements INamesAreUniqueValidation return ImmutableSet.of(EcorePackage.Literals.EOBJECT); } + @Override public void checkUniqueNames(Iterable descriptions, ValidationMessageAcceptor acceptor) { checkUniqueNames(descriptions, null, acceptor); @@ -61,6 +62,7 @@ public class NamesAreUniqueValidationHelper implements INamesAreUniqueValidation * The cancel indicator will be queried everytime a description has been processed. * It should provide a fast answer about its canceled state. */ + @Override public void checkUniqueNames(Iterable descriptions, CancelIndicator cancelIndicator, ValidationMessageAcceptor acceptor) { diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/RangeBasedDiagnostic.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/RangeBasedDiagnostic.java index 041eb010f..5c367bbd3 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/RangeBasedDiagnostic.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/RangeBasedDiagnostic.java @@ -29,6 +29,7 @@ public class RangeBasedDiagnostic extends AbstractValidationDiagnostic { this.length = length; } + @Override public List getData() { if (getIssueData() == null) return ImmutableList.of(getSourceEObject(), offset, length); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/ResourceValidatorImpl.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/ResourceValidatorImpl.java index 62dcbcb7e..02802689b 100755 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/ResourceValidatorImpl.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/ResourceValidatorImpl.java @@ -47,6 +47,7 @@ public class ResourceValidatorImpl implements IResourceValidator { this.result = result; } + @Override public void accept(Issue issue) { if (issue != null) result.add(issue); @@ -64,6 +65,7 @@ public class ResourceValidatorImpl implements IResourceValidator { @Inject private OperationCanceledManager operationCanceledManager; + @Override public List validate(Resource resource, final CheckMode mode, CancelIndicator mon) { StoppedTask task = Stopwatches.forTask("ResourceValidatorImpl.validation"); try { diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/impl/AssignmentQuantityAllocator.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/impl/AssignmentQuantityAllocator.java index 6971d3346..574e0297b 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/impl/AssignmentQuantityAllocator.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/impl/AssignmentQuantityAllocator.java @@ -51,28 +51,34 @@ public class AssignmentQuantityAllocator implements IAssignmentQuantityAllocator this.delegate = delegate; } + @Override public Map getAssignmentQuantities() { return assignmentQuants; } + @Override public Integer getAssignmentQuantity(ISyntaxConstraint assignement) { Integer i = assignmentQuants.get(assignement); return i == null || i < 0 ? -1 : i; } + @Override public EObject getEObject() { return delegate; } + @Override public Map getFeatureQuantities() { return featureQuants; } + @Override public Integer getFeatureQuantity(EStructuralFeature feat) { Integer i = featureQuants.get(feat); return i == null || i < 0 ? -1 : i; } + @Override public Map> groupByFeature() { Multimap map = HashMultimap.create(); for (ISyntaxConstraint e : assignmentQuants.keySet()) @@ -157,6 +163,7 @@ public class AssignmentQuantityAllocator implements IAssignmentQuantityAllocator return new Quantities(obj); } + @Override public IQuantities getAssignmentQuantities(EObject obj, ISyntaxConstraint rule, List acceptor) { Multimap assignments = HashMultimap.create(); @@ -206,6 +213,7 @@ public class AssignmentQuantityAllocator implements IAssignmentQuantityAllocator // TODO: implement an algorithm to handle multipleAssignments. For details, see https://bugs.eclipse.org/bugs/show_bug.cgi?id=310454 } + @Override public int getFeatureQuantity(EObject obj, EStructuralFeature feat) { if (feat.isMany()) { int count = 0, max = ((List) obj.eGet(feat)).size(); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/impl/AssignmentQuantityIntervalProvider.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/impl/AssignmentQuantityIntervalProvider.java index c2a5606fb..437ec8de6 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/impl/AssignmentQuantityIntervalProvider.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/impl/AssignmentQuantityIntervalProvider.java @@ -46,6 +46,7 @@ public class AssignmentQuantityIntervalProvider implements IAssignmentQuantityIn } } + @Override public int getMax(IQuantities ctx, ISyntaxConstraint ass, Set involved, String excludeFeature) { int c = ass.isRoot() ? 1 : getMaxByParent(ctx, ass.getContainer(), ass, excludeFeature, involved); return ass.isMultiple() && c > 0 ? MAX : c; @@ -121,6 +122,7 @@ public class AssignmentQuantityIntervalProvider implements IAssignmentQuantityIn } } + @Override public int getMin(IQuantities ctx, ISyntaxConstraint assignment, Set involved) { if (assignment.isOptional()) return 0; diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/impl/ConcreteSyntaxConstraintProvider.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/impl/ConcreteSyntaxConstraintProvider.java index 50564c980..a65edf6f7 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/impl/ConcreteSyntaxConstraintProvider.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/impl/ConcreteSyntaxConstraintProvider.java @@ -94,6 +94,7 @@ public class ConcreteSyntaxConstraintProvider implements IConcreteSyntaxConstrai return false; } + @Override public boolean dependsOn(ISyntaxConstraint ele) { ISyntaxConstraint cnt = findCommonContainer(ele); while (ele != cnt) { @@ -111,6 +112,7 @@ public class ConcreteSyntaxConstraintProvider implements IConcreteSyntaxConstrai return false; } + @Override public ISyntaxConstraint findCommonContainer(ISyntaxConstraint obj1) { ISyntaxConstraint cnt1 = obj1; while (cnt1 != null) { @@ -161,6 +163,7 @@ public class ConcreteSyntaxConstraintProvider implements IConcreteSyntaxConstrai return Tuples.create(mandatory, optional); } + @Override public EStructuralFeature getAssignmentFeature(EClass clazz) { String name = getAssignmentName(); EStructuralFeature f = clazz.getEStructuralFeature(name); @@ -169,24 +172,29 @@ public class ConcreteSyntaxConstraintProvider implements IConcreteSyntaxConstrai return f; } + @Override public String getAssignmentName() { if (type != ConstraintType.ASSIGNMENT) throw new RuntimeException("Constraint '" + this + "' is not an assignment, but a " + getType()); return ((Assignment) element).getFeature(); } + @Override public String getCardinality() { return optional ? (multiple ? "*" : "?") : (multiple ? "+" : ""); } + @Override public ISyntaxConstraint getContainer() { return container; } + @Override public List getContents() { return contents; } + @Override public AbstractElement getGrammarElement() { return element; } @@ -206,11 +214,13 @@ public class ConcreteSyntaxConstraintProvider implements IConcreteSyntaxConstrai return ((SyntaxConstraintNode) getContainer()).getSemanticTypeByParent(exclude); } + @Override public Set getSemanticTypes() { Pair, Set> types = getAllSemanticTypesPairs(null); return !types.getFirst().isEmpty() ? types.getFirst() : types.getSecond(); } + @Override public Set getSemanticTypesToCheck() { if (semanticTypes == UNINITIALIZED) { semanticTypes = getSemanticTypes(); @@ -222,6 +232,7 @@ public class ConcreteSyntaxConstraintProvider implements IConcreteSyntaxConstrai return semanticTypes; } + @Override public ConstraintType getType() { return type; } @@ -231,14 +242,17 @@ public class ConcreteSyntaxConstraintProvider implements IConcreteSyntaxConstrai return element.hashCode(); } + @Override public boolean isMultiple() { return multiple; } + @Override public boolean isOptional() { return optional; } + @Override public boolean isRoot() { return container == null; } @@ -248,10 +262,12 @@ public class ConcreteSyntaxConstraintProvider implements IConcreteSyntaxConstrai return toString(null); } + @Override public String toString(final Map postfix) { // String t = getSemanticTypes() == null ? "" : getSemanticTypes().getName() + ":"; String p = postfix != null && postfix.containsKey(this) ? postfix.get(this) : ""; Iterable contents = Iterables.transform(getContents(), new Function() { + @Override public String apply(ISyntaxConstraint from) { return from.toString(postfix); } @@ -443,6 +459,7 @@ public class ConcreteSyntaxConstraintProvider implements IConcreteSyntaxConstrai return result; } + @Override public ISyntaxConstraint getConstraint(ParserRule rule) { ISyntaxConstraint e = rule2element.get(rule); if (e == null) { @@ -455,6 +472,7 @@ public class ConcreteSyntaxConstraintProvider implements IConcreteSyntaxConstrai return e != INVALID_RULE ? e : null; } + @Override public Collection getConstraints(EClass cls) { List eles = type2Elements.get(cls); if (eles != null) diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/impl/ConcreteSyntaxDiagnosticProvider.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/impl/ConcreteSyntaxDiagnosticProvider.java index 5030874f7..492f53dee 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/impl/ConcreteSyntaxDiagnosticProvider.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/impl/ConcreteSyntaxDiagnosticProvider.java @@ -62,6 +62,7 @@ public class ConcreteSyntaxDiagnosticProvider implements IConcreteSyntaxDiagnost } } + @Override public List getChildren() { return Collections.emptyList(); } @@ -110,10 +111,12 @@ public class ConcreteSyntaxDiagnosticProvider implements IConcreteSyntaxDiagnost return ""; } + @Override public List getData() { return Arrays.asList(source); } + @Override public Throwable getException() { return null; } @@ -133,10 +136,12 @@ public class ConcreteSyntaxDiagnosticProvider implements IConcreteSyntaxDiagnost return GrammarUtil.containingParserRule(rule.getGrammarElement()); } + @Override public int getSeverity() { return Diagnostic.ERROR; } + @Override public String getSource() { return EmfFormatter.objPath(source); } @@ -147,6 +152,7 @@ public class ConcreteSyntaxDiagnosticProvider implements IConcreteSyntaxDiagnost if (a.getType() == ConstraintType.ASSIGNMENT) feats.add(a.getAssignmentFeature(source.eClass())); return Joiner.on(", ").join(Iterables.transform(feats, new Function() { + @Override public String apply(EStructuralFeature from) { return from.getName() + ":" + quantityAllocator.getFeatureQuantity(source, from); } @@ -179,12 +185,14 @@ public class ConcreteSyntaxDiagnosticProvider implements IConcreteSyntaxDiagnost collectAssignments(e, matcher, types); } + @Override public int getCode() { if (requiredTypes.isEmpty()) return ERROR_ASSIGNMENT_MISSING; return ERROR_ASSIGNMENT_PROHIBITED; } + @Override public String getMessage() { StringBuffer msg = new StringBuffer(); msg.append("The feature "); @@ -205,6 +213,7 @@ public class ConcreteSyntaxDiagnosticProvider implements IConcreteSyntaxDiagnost msg.append(" is not allowed to contain non-transient values. "); msg.append("The object needs to be of type "); msg.append(Joiner.on(" or ").join(Iterables.transform(requiredTypes, new Function() { + @Override public String apply(EClass from) { return from.getName(); } @@ -234,6 +243,7 @@ public class ConcreteSyntaxDiagnosticProvider implements IConcreteSyntaxDiagnost return actual; } + @Override public int getCode() { if (feature == null) return ERROR_FEATURE_MISSING; @@ -266,6 +276,7 @@ public class ConcreteSyntaxDiagnosticProvider implements IConcreteSyntaxDiagnost return max; } + @Override public String getMessage() { StringBuffer msg = new StringBuffer(); msg.append("Feature "); @@ -321,10 +332,12 @@ public class ConcreteSyntaxDiagnosticProvider implements IConcreteSyntaxDiagnost this.element = element; } + @Override public int getCode() { return ERROR_FEATURE_MISSING; } + @Override public String getMessage() { StringBuffer msg = new StringBuffer(); msg.append("A feature named '"); @@ -344,14 +357,17 @@ public class ConcreteSyntaxDiagnosticProvider implements IConcreteSyntaxDiagnost super(rule, source, involved); } + @Override public int getCode() { return ERROR_WRONG_TYPE; } + @Override public String getMessage() { StringBuffer msg = new StringBuffer(); msg.append("An object of type "); msg.append(Joiner.on(" or ").join(Iterables.transform(getSemanticTypes(), new Function() { + @Override public String apply(EClass from) { return from.getName(); } @@ -377,21 +393,25 @@ public class ConcreteSyntaxDiagnosticProvider implements IConcreteSyntaxDiagnost @Inject protected IAssignmentQuantityAllocator quantityAllocator; + @Override public IConcreteSyntaxDiagnostic createAssignmentMissingDiagnostic(ISyntaxConstraint rule, EObject source, EStructuralFeature feature, Set involved) { return new ConcreteSyntaxAssignmentMissingDiagnostic(rule, source, feature, involved); } + @Override public IConcreteSyntaxDiagnostic createFeatureMissingDiagnostic(ISyntaxConstraint rule, EObject source, ISyntaxConstraint element, Set involved) { return new ConcreteSyntaxFeatureMissingDiagnostic(rule, source, element, involved); } + @Override public IConcreteSyntaxDiagnostic createFeatureQuantityDiagnostic(ISyntaxConstraint rule, IQuantities source, EStructuralFeature feature, int actual, int min, int max, Set involved) { return new ConcreteSyntaxFeatureDiagnostic(rule, source, feature, actual, min, max, involved); } + @Override public IConcreteSyntaxDiagnostic createUnexpectedTypeDiagnostic(ISyntaxConstraint rule, EObject source, Set involved) { return new ConcreteSyntaxObjectDiagnostic(rule, source, involved); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/impl/ConcreteSyntaxValidator.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/impl/ConcreteSyntaxValidator.java index c005b9c95..d40a18671 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/impl/ConcreteSyntaxValidator.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/validation/impl/ConcreteSyntaxValidator.java @@ -97,6 +97,7 @@ public class ConcreteSyntaxValidator implements IConcreteSyntaxValidator { return false; } + @Override public boolean validateObject(EObject obj, IDiagnosticAcceptor acceptor, Map context) { if (isEObjectTransient(obj)) return true; @@ -141,6 +142,7 @@ public class ConcreteSyntaxValidator implements IConcreteSyntaxValidator { return diag; } + @Override public boolean validateRecursive(EObject obj, IDiagnosticAcceptor acceptor, Map context) { boolean r = true; r &= validateObject(obj, acceptor, context); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/xtext/GrammarResource.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/xtext/GrammarResource.java index 11632259d..954b36b53 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/xtext/GrammarResource.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/xtext/GrammarResource.java @@ -68,6 +68,7 @@ public class GrammarResource extends DerivedStateAwareResource { */ public static class LinkingTrigger implements IDerivedStateComputer { + @Override public void installDerivedState(DerivedStateAwareResource resource, boolean preLinkingPhase) { if (preLinkingPhase) return; @@ -75,6 +76,7 @@ public class GrammarResource extends DerivedStateAwareResource { castedResource.superDoLinking(); } + @Override public void discardDerivedState(DerivedStateAwareResource resource) { } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/xtext/GrammarWithoutLeftRecursionInspector.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/xtext/GrammarWithoutLeftRecursionInspector.java index c48eb83b3..27ca4ee9f 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/xtext/GrammarWithoutLeftRecursionInspector.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/xtext/GrammarWithoutLeftRecursionInspector.java @@ -187,29 +187,35 @@ public class GrammarWithoutLeftRecursionInspector extends XtextSwitch i throw new UnsupportedOperationException(); } + @Override public void acceptError(String message, EObject object, EStructuralFeature feature, int index, String code, String... issueData) { throw new UnsupportedOperationException(); } + @Override public void acceptError(String message, EObject object, int offset, int length, String code, String... issueData) { throw new UnsupportedOperationException(); } + @Override public void acceptWarning(String message, EObject object, EStructuralFeature feature, int index, String code, String... issueData) { throw new UnsupportedOperationException(); } + @Override public void acceptWarning(String message, EObject object, int offset, int length, String code, String... issueData) { throw new UnsupportedOperationException(); } + @Override public void acceptInfo(String message, EObject object, EStructuralFeature feature, int index, String code, String... issueData) { throw new UnsupportedOperationException(); } + @Override public void acceptInfo(String message, EObject object, int offset, int length, String code, String... issueData) { throw new UnsupportedOperationException(); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/xtext/PredicateUsesUnorderedGroupInspector.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/xtext/PredicateUsesUnorderedGroupInspector.java index 614d36895..399f2854c 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/xtext/PredicateUsesUnorderedGroupInspector.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/xtext/PredicateUsesUnorderedGroupInspector.java @@ -178,28 +178,34 @@ public class PredicateUsesUnorderedGroupInspector extends XtextSwitch i } } + @Override public void acceptError(String message, EObject object, EStructuralFeature feature, int index, String code, String... issueData) { if (erroneousElements.add(object) && EcoreUtil.isAncestor(inspectedGrammar, object)) validationMessageAcceptor.acceptError(message, object, feature, index, code, issueData); } + @Override public void acceptWarning(String message, EObject object, EStructuralFeature feature, int index, String code, String... issueData) { throw new UnsupportedOperationException(); } + @Override public void acceptError(String message, EObject object, int offset, int length, String code, String... issueData) { throw new UnsupportedOperationException(); } + @Override public void acceptWarning(String message, EObject object, int offset, int length, String code, String... issueData) { throw new UnsupportedOperationException(); } + @Override public void acceptInfo(String message, EObject object, EStructuralFeature feature, int index, String code, String... issueData) { throw new UnsupportedOperationException(); } + @Override public void acceptInfo(String message, EObject object, int offset, int length, String code, String... issueData) { throw new UnsupportedOperationException(); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/xtext/XtextConfigurableIssueCodes.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/xtext/XtextConfigurableIssueCodes.java index bd82b00a3..ef853a1fa 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/xtext/XtextConfigurableIssueCodes.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/xtext/XtextConfigurableIssueCodes.java @@ -47,6 +47,7 @@ public class XtextConfigurableIssueCodes extends ConfigurableIssueCodesProvider public XtextConfigurableIssueCodes() { final Map map = Maps.newLinkedHashMap(); initialize(new IAcceptor() { + @Override public void accept(PreferenceKey prefKey) { map.put(prefKey.getId(), prefKey); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/xtext/XtextFragmentProvider.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/xtext/XtextFragmentProvider.java index f3eddc203..07926064d 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/xtext/XtextFragmentProvider.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/xtext/XtextFragmentProvider.java @@ -25,6 +25,7 @@ import com.google.inject.Singleton; @Singleton public class XtextFragmentProvider implements IFragmentProvider { + @Override public EObject getEObject(Resource resource, String fragment, IFragmentProvider.Fallback fallback) { if (!fragment.startsWith(PREFIX)) return fallback.getEObject(fragment); @@ -53,6 +54,7 @@ public class XtextFragmentProvider implements IFragmentProvider { } } + @Override public String getFragment(EObject obj, IFragmentProvider.Fallback fallback) { if (obj instanceof Grammar) { return caseGrammar((Grammar)obj); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/xtext/XtextLinkingService.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/xtext/XtextLinkingService.java index 1600da3d3..1f2d427ae 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/xtext/XtextLinkingService.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/xtext/XtextLinkingService.java @@ -175,6 +175,7 @@ public class XtextLinkingService extends DefaultLinkingService { private EPackage findPackageInScope(EObject context, QualifiedName packageNsURI) { IScope scopedPackages = scopeProvider.getScope(context.eResource(), XtextPackage.Literals.ABSTRACT_METAMODEL_DECLARATION__EPACKAGE, new Predicate() { + @Override public boolean apply(IEObjectDescription input) { return isNsUriIndexEntry(input); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/xtext/XtextMetamodelReferenceHelper.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/xtext/XtextMetamodelReferenceHelper.java index 57d6dade4..aa81938cb 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/xtext/XtextMetamodelReferenceHelper.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/xtext/XtextMetamodelReferenceHelper.java @@ -89,6 +89,7 @@ class XtextMetamodelReferenceHelper { final List exactMatches) { Iterables.addAll(exactMatches, Iterables.filter(importedMetamodels, new Predicate() { + @Override public boolean apply(AbstractMetamodelDeclaration param) { return alias.equals(param.getAlias()); } @@ -99,10 +100,12 @@ class XtextMetamodelReferenceHelper { final List generatedMetamodels, final List importedMetamodels) { Iterable all = Iterables.filter(Iterables.transform(scope.getAllElements(), new Function() { + @Override public AbstractMetamodelDeclaration apply(IEObjectDescription param) { return (AbstractMetamodelDeclaration) param.getEObjectOrProxy(); } }), new Predicate() { + @Override public boolean apply(AbstractMetamodelDeclaration param) { return metamodelAliasMatches(param, alias); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/xtext/XtextReferableElementsUnloader.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/xtext/XtextReferableElementsUnloader.java index 4d789f6d3..279855dd3 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/xtext/XtextReferableElementsUnloader.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/xtext/XtextReferableElementsUnloader.java @@ -28,6 +28,7 @@ import com.google.inject.Singleton; @Singleton public class XtextReferableElementsUnloader implements IReferableElementsUnloader { + @Override public void unloadRoot(EObject root) { if (root instanceof Grammar) caseGrammar((Grammar) root); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/xtext/XtextScopeProvider.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/xtext/XtextScopeProvider.java index 0185778cb..5bc0a1a9c 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/xtext/XtextScopeProvider.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/xtext/XtextScopeProvider.java @@ -54,6 +54,7 @@ public class XtextScopeProvider extends AbstractScopeProvider { @Inject private GlobalResourceDescriptionProvider resourceDecriptionProvider; + @Override public IScope getScope(EObject context, EReference reference) { if (reference == XtextPackage.eINSTANCE.getTypeRef_Classifier()) { if (context instanceof TypeRef) { @@ -84,6 +85,7 @@ public class XtextScopeProvider extends AbstractScopeProvider { protected IScope createEnumLiteralsScope(EEnum eEnum) { return new SimpleScope(IScope.NULLSCOPE,Iterables.transform(eEnum.getELiterals(), new Function() { + @Override public IEObjectDescription apply(EEnumLiteral param) { return EObjectDescription.create(QualifiedName.create(param.getName()), param); } @@ -93,6 +95,7 @@ public class XtextScopeProvider extends AbstractScopeProvider { protected IScope createClassifierScope(Iterable classifiers) { return new SimpleScope( IScope.NULLSCOPE,Iterables.transform(classifiers, new Function() { + @Override public IEObjectDescription apply(EClassifier param) { return EObjectDescription.create(QualifiedName.create(param.getName()), param); } @@ -124,6 +127,7 @@ public class XtextScopeProvider extends AbstractScopeProvider { } else if (AbstractMetamodelDeclaration.class.isAssignableFrom(type.getInstanceClass())) { return new SimpleScope(IScope.NULLSCOPE,Iterables.transform(grammar.getMetamodelDeclarations(), new Function(){ + @Override public IEObjectDescription apply(AbstractMetamodelDeclaration from) { String name = from.getAlias() != null ? from.getAlias() : ""; return EObjectDescription.create(QualifiedName.create(name), from); @@ -160,10 +164,12 @@ public class XtextScopeProvider extends AbstractScopeProvider { protected IScope createEPackageScope(final Grammar grammar, IScope parent) { return new SimpleScope(parent,Iterables.transform(Iterables.filter(grammar.getMetamodelDeclarations(), new Predicate() { + @Override public boolean apply(AbstractMetamodelDeclaration input) { return input.getEPackage() != null; } }), new Function() { + @Override public IEObjectDescription apply(AbstractMetamodelDeclaration from) { return EObjectDescription.create(QualifiedName.create(from.getEPackage().getNsURI()), from.getEPackage()); } @@ -173,6 +179,7 @@ public class XtextScopeProvider extends AbstractScopeProvider { protected IScope createEPackageScope(final Grammar grammar) { final List allGrammars = getAllGrammars(grammar); IScope current = new SimpleScope(IScope.NULLSCOPE, Iterables.transform(EPackage.Registry.INSTANCE.keySet(), new Function() { + @Override public IEObjectDescription apply(String from) { InternalEObject proxyPackage = (InternalEObject) EcoreFactory.eINSTANCE.createEPackage(); proxyPackage.eSetProxyURI(URI.createURI(from)); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/xtext/XtextValidator.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/xtext/XtextValidator.java index eedc1e5c8..cd552569f 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/xtext/XtextValidator.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/xtext/XtextValidator.java @@ -547,6 +547,7 @@ public class XtextValidator extends AbstractDeclarativeValidator { Grammar grammar = GrammarUtil.getGrammar(declaration); Iterable nsUris = Iterables.transform(grammar.getMetamodelDeclarations(), new Function() { + @Override public String apply(AbstractMetamodelDeclaration param) { if (param.getEPackage() != null) return param.getEPackage().getNsURI(); @@ -554,6 +555,7 @@ public class XtextValidator extends AbstractDeclarativeValidator { } }); int count = Iterables.size(Iterables.filter(nsUris, new Predicate() { + @Override public boolean apply(String param) { return declaration.getEPackage().getNsURI().equals(param); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/xtext/ecoreInference/DatatypeRuleUtil.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/xtext/ecoreInference/DatatypeRuleUtil.java index de53992a3..81a77bd26 100755 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/xtext/ecoreInference/DatatypeRuleUtil.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/xtext/ecoreInference/DatatypeRuleUtil.java @@ -122,6 +122,7 @@ abstract class DatatypeRuleUtil extends XtextSwitch{ return true; Iterator contents = EcoreUtil.getAllContents(object.getAlternatives(), true); return !Iterators.filter(contents, new Predicate() { + @Override public boolean apply(Object input) { return input instanceof Assignment || input instanceof Action; } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/xtext/ecoreInference/ElementTypeCalculator.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/xtext/ecoreInference/ElementTypeCalculator.java index 84d98dad6..0067d6390 100755 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/xtext/ecoreInference/ElementTypeCalculator.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/xtext/ecoreInference/ElementTypeCalculator.java @@ -104,6 +104,7 @@ final class ElementTypeCalculator extends XtextSwitch implements Fu return doSwitch(object.getType()); } + @Override public EClassifier apply(AbstractElement param) { return doSwitch(param); } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/xtext/ecoreInference/TransformationDiagnostic.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/xtext/ecoreInference/TransformationDiagnostic.java index 05a1aa9a6..87edffb76 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/xtext/ecoreInference/TransformationDiagnostic.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/xtext/ecoreInference/TransformationDiagnostic.java @@ -42,6 +42,7 @@ public class TransformationDiagnostic extends AbstractDiagnostic { return null; } + @Override public String getMessage() { return message; } diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/xtext/ecoreInference/TransformationDiagnosticsProducer.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/xtext/ecoreInference/TransformationDiagnosticsProducer.java index ca6ce91e2..46eb14c91 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/xtext/ecoreInference/TransformationDiagnosticsProducer.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/xtext/ecoreInference/TransformationDiagnosticsProducer.java @@ -33,6 +33,7 @@ public class TransformationDiagnosticsProducer extends AbstractDiagnosticProduce return new TransformationDiagnostic(getNode(), message.getMessage(), lastError); } + @Override public void acceptError(TransformationErrorCode errorCode, String message, EObject element) { setTarget(element, null); lastError = errorCode; diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/xtext/ecoreInference/XtendXtext2EcorePostProcessor.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/xtext/ecoreInference/XtendXtext2EcorePostProcessor.java index e3769caaf..b183cc1b5 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/xtext/ecoreInference/XtendXtext2EcorePostProcessor.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/xtext/ecoreInference/XtendXtext2EcorePostProcessor.java @@ -45,6 +45,7 @@ public class XtendXtext2EcorePostProcessor implements IXtext2EcorePostProcessor private ExecutionContext executionContext; private Resource xtendFile; + @Override public void process(GeneratedMetamodel metamodel) { Resource xtendFile = loadXtendFile(metamodel); if (xtendFile != null) { diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/xtext/ecoreInference/Xtext2EcoreTransformer.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/xtext/ecoreInference/Xtext2EcoreTransformer.java index b192c33d8..d937c9f8a 100755 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/xtext/ecoreInference/Xtext2EcoreTransformer.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/xtext/ecoreInference/Xtext2EcoreTransformer.java @@ -95,6 +95,7 @@ public class Xtext2EcoreTransformer { } public static class NullErrorAcceptor implements ErrorAcceptor { + @Override public void acceptError(TransformationErrorCode errorCode, String arg0, EObject arg1) { // do nothing } @@ -120,6 +121,7 @@ public class Xtext2EcoreTransformer { Iterables.addAll(result, Iterables.filter(Iterables.transform( Iterables.filter(grammar.getMetamodelDeclarations(), GeneratedMetamodel.class), new Function() { + @Override public EPackage apply(AbstractMetamodelDeclaration param) { EPackage pack = (EPackage) param.eGet(XtextPackage.Literals.ABSTRACT_METAMODEL_DECLARATION__EPACKAGE, false); if (pack != null && !pack.eIsProxy()) { @@ -185,6 +187,7 @@ public class Xtext2EcoreTransformer { private static List getPackagesSortedByName(Collection packages) { final ArrayList result = new ArrayList(packages); Collections.sort(result, new Comparator() { + @Override public int compare(EPackage o1, EPackage o2) { return o1.getName().compareTo(o2.getName()); } @@ -821,6 +824,7 @@ public class Xtext2EcoreTransformer { private Set getGeneratedEPackageURIs() { List list = EcoreUtil2.typeSelect(grammar.getMetamodelDeclarations(), GeneratedMetamodel.class); return Sets.newLinkedHashSet(Iterables.transform(list, new Function() { + @Override public String apply(GeneratedMetamodel from) { return from.getEPackage()!=null?from.getEPackage().getNsURI() : null; } diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/AllContentsPerformanceTest.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/AllContentsPerformanceTest.java index de8b3d6d5..fa2ca72f3 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/AllContentsPerformanceTest.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/AllContentsPerformanceTest.java @@ -78,6 +78,7 @@ public class AllContentsPerformanceTest extends AbstractXtextTests { private void doTestUoW(EObject object) throws Exception { final int callCount[] = new int[]{0}; IUnitOfWork uow = new IUnitOfWork(){ + @Override public Boolean exec(EObject state) throws Exception { callCount[0]++; return false; diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/concurrent/ReadWriteAccessTest.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/concurrent/ReadWriteAccessTest.java index 9fd080817..d590133cd 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/concurrent/ReadWriteAccessTest.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/concurrent/ReadWriteAccessTest.java @@ -37,6 +37,7 @@ public class ReadWriteAccessTest extends Assert { }; final List exceptions = new ArrayList(); UncaughtExceptionHandler eh = new UncaughtExceptionHandler(){ + @Override public void uncaughtException(Thread t, Throwable e) { exceptions.add(e); } @@ -64,8 +65,10 @@ public class ReadWriteAccessTest extends Assert { private Runnable changer(final AbstractReadWriteAcces access, final int n) { return new Runnable() { + @Override public void run() { access.modify(new IUnitOfWork() { + @Override public Object exec(Foo state) throws Exception { state.val = "foo-" + n; return null; @@ -77,10 +80,12 @@ public class ReadWriteAccessTest extends Assert { private Runnable reader(final AbstractReadWriteAcces access) { return new Runnable() { + @Override public void run() { access.readOnly(new IUnitOfWork() { // iterate 20 times { checking the state remains, wait 50 ms} + @Override public Object exec(Foo state) throws Exception { String val = state.val; for (int i = 0; i < 10; i++) { diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/conversion/impl/DeclarativeValueConverterServiceTest.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/conversion/impl/DeclarativeValueConverterServiceTest.java index 1d7c5d6f7..ed13ae15f 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/conversion/impl/DeclarativeValueConverterServiceTest.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/conversion/impl/DeclarativeValueConverterServiceTest.java @@ -35,11 +35,13 @@ public class DeclarativeValueConverterServiceTest extends AbstractXtextTests { this.test = test; } + @Override public T toValue(String string, INode node) throws ValueConverterException { test.announceToValue(ident); return null; } + @Override public String toString(T value) throws ValueConverterException { test.announceToString(ident); return null; diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/generator/JavaIoFileSystemAccessTest.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/generator/JavaIoFileSystemAccessTest.java index ecfd32919..a5fa460b8 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/generator/JavaIoFileSystemAccessTest.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/generator/JavaIoFileSystemAccessTest.java @@ -101,6 +101,7 @@ public class JavaIoFileSystemAccessTest extends Assert { try { JavaIoFileSystemAccess fileSystemAccess = new JavaIoFileSystemAccess( IResourceServiceProvider.Registry.INSTANCE, new IEncodingProvider() { + @Override public String getEncoding(URI uri) { return "ISO-8859-1"; } diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/generator/grammarAccess/ElementFinderTest.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/generator/grammarAccess/ElementFinderTest.java index a18adcddc..65d1b002b 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/generator/grammarAccess/ElementFinderTest.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/generator/grammarAccess/ElementFinderTest.java @@ -36,6 +36,7 @@ public class ElementFinderTest extends AbstractXtextTests { rs.setClasspathURIContext(getClass()); final Resource r = rs.getResource(URI.createURI(file), true); return new AbstractGrammarElementFinder() { + @Override public Grammar getGrammar() { return (Grammar) r.getContents().get(0); } diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/grammarinheritance/InheritanceTest.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/grammarinheritance/InheritanceTest.java index 69e1f22e0..e6261b3c3 100755 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/grammarinheritance/InheritanceTest.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/grammarinheritance/InheritanceTest.java @@ -61,6 +61,7 @@ public class InheritanceTest extends AbstractXtextTests { assertEquals(2, clazz.getESuperTypes().size()); Set expectedNames = new HashSet(Arrays.asList(new String[]{"AType", "RootRule"})); Iterator iter = Iterables.transform(clazz.getESuperTypes(), new Function(){ + @Override public String apply(EClass param) { return param.getName(); } diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/linking/Bug266082Test.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/linking/Bug266082Test.java index 3fdc8143c..c7f27e3f9 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/linking/Bug266082Test.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/linking/Bug266082Test.java @@ -72,58 +72,72 @@ public class Bug266082Test extends AbstractXtextTests { final URIConverter converter = resourceSet.getURIConverter(); resourceSet.setURIConverter(new URIConverter() { + @Override public Map contentDescription(URI uri, Map options) throws IOException { return converter.contentDescription(uri, options); } + @Override public InputStream createInputStream(URI uri) throws IOException { return new StringInputStream(modelAsString); } + @Override public InputStream createInputStream(URI uri, Map options) throws IOException { return new StringInputStream(modelAsString); } + @Override public OutputStream createOutputStream(URI uri) throws IOException { return converter.createOutputStream(uri); } + @Override public OutputStream createOutputStream(URI uri, Map options) throws IOException { return converter.createOutputStream(uri, options); } + @Override public void delete(URI uri, Map options) throws IOException { converter.delete(uri, options); } + @Override public boolean exists(URI uri, Map options) { return true; } + @Override public Map getAttributes(URI uri, Map options) { return converter.getAttributes(uri, options); } + @Override public EList getContentHandlers() { return converter.getContentHandlers(); } + @Override public URIHandler getURIHandler(URI uri) { return converter.getURIHandler(uri); } + @Override public EList getURIHandlers() { return converter.getURIHandlers(); } + @Override public Map getURIMap() { return converter.getURIMap(); } + @Override public URI normalize(URI uri) { return converter.normalize(uri); } + @Override public void setAttributes(URI uri, Map attributes, Map options) throws IOException { converter.setAttributes(uri, attributes, options); } diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/linking/CrossRefTest.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/linking/CrossRefTest.java index db2bdc623..3c915803b 100755 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/linking/CrossRefTest.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/linking/CrossRefTest.java @@ -147,6 +147,7 @@ public class CrossRefTest extends AbstractXtextTests { final XtextResource r = CrossRefTest.this.getResourceFromStringAndExpect("type TypeA {} type TypeB { TypeA TypeC TypeB p1; }", 1); int number = LoggingTester.countErrorLogging(LazyLinkingResource.class, new Runnable() { + @Override public void run() { Model model = (Model) r.getContents().get(0); assertEquals(2, model.getTypes().size()); diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/linking/IgnoreCaseNamespacesTestLanguageRuntimeModule.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/linking/IgnoreCaseNamespacesTestLanguageRuntimeModule.java index e43c28c21..84f7c8120 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/linking/IgnoreCaseNamespacesTestLanguageRuntimeModule.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/linking/IgnoreCaseNamespacesTestLanguageRuntimeModule.java @@ -20,6 +20,7 @@ public class IgnoreCaseNamespacesTestLanguageRuntimeModule extends org.eclipse.x public ICaseInsensitivityHelper bindCaseInsensitivityHelper() { return new ICaseInsensitivityHelper() { + @Override public boolean isIgnoreCase(EReference reference) { return true; } diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/linking/LinkingWarningsTest.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/linking/LinkingWarningsTest.java index 5c7224774..f5dabfac6 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/linking/LinkingWarningsTest.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/linking/LinkingWarningsTest.java @@ -45,6 +45,7 @@ public class LinkingWarningsTest extends AbstractXtextTests implements ILinkingD }); } + @Override public DiagnosticMessage getUnresolvedProxyMessage(ILinkingDiagnosticContext context) { return new DiagnosticMessage(expected, Severity.WARNING, Diagnostic.LINKING_DIAGNOSTIC); } diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/linking/PartialLinkingTest.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/linking/PartialLinkingTest.java index 7bc762825..eb24be691 100755 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/linking/PartialLinkingTest.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/linking/PartialLinkingTest.java @@ -67,12 +67,14 @@ public class PartialLinkingTest extends AbstractXtextTests implements IScopeProv globalScopeProvider.setCache(IResourceScopeCache.NullImpl.INSTANCE); final ResourceDescriptionsProvider provider = new ResourceDescriptionsProvider(); provider.setResourceDescriptions(new Provider() { + @Override public IResourceDescriptions get() { return new IResourceDescriptions.NullImpl(); } }); globalScopeProvider.setResourceDescriptionsProvider(provider); globalScopeProvider.setLoadOnDemandDescriptions(new Provider() { + @Override public LoadOnDemandResourceDescriptions get() { return PartialLinkingTest.this.get(LoadOnDemandResourceDescriptions.class); } @@ -105,6 +107,7 @@ public class PartialLinkingTest extends AbstractXtextTests implements IScopeProv /** * We try to emulate a changed scope after a partial parsing so we mock the ScopeService. */ + @Override public IScope getScope(EObject context, EReference reference) { if (doFakeScope && context == this.context && reference == this.reference) return IScope.NULLSCOPE; diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/linking/converter/Bug362902ValueConverters.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/linking/converter/Bug362902ValueConverters.java index ea077715c..5abb2d685 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/linking/converter/Bug362902ValueConverters.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/linking/converter/Bug362902ValueConverters.java @@ -22,6 +22,7 @@ public class Bug362902ValueConverters extends DefaultTerminalConverters { public IValueConverter ID() { return new IValueConverter() { + @Override public String toValue(String string, INode node) throws ValueConverterException { if (string != null && string.length() > 3) { throw new ValueConverterException("ID too long", node, null); @@ -29,6 +30,7 @@ public class Bug362902ValueConverters extends DefaultTerminalConverters { return string; } + @Override public String toString(String value) throws ValueConverterException { return value; } diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/linking/lazy/Bug281990Test.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/linking/lazy/Bug281990Test.java index fed85a0c8..8999f9f6a 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/linking/lazy/Bug281990Test.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/linking/lazy/Bug281990Test.java @@ -44,6 +44,7 @@ public class Bug281990Test extends AbstractXtextTests { @Test public void testRecursionErrorMessage() throws Exception { int loggings = LoggingTester.countErrorLogging(LazyLinkingResource.class, new Runnable() { + @Override public void run() { try { EObject model = getModelAndExpect("type Foo extends Foo.bar { Foo foo; }", 2); diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/linking/lazy/LazyLinkerTest.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/linking/lazy/LazyLinkerTest.java index dc5bdae7c..40744fbbd 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/linking/lazy/LazyLinkerTest.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/linking/lazy/LazyLinkerTest.java @@ -60,18 +60,22 @@ public class LazyLinkerTest extends AbstractXtextTests { protected void configure() { bind(EPackage.Registry.class).toInstance(EPackage.Registry.INSTANCE); bind(IGrammarAccess.class).toInstance(new IGrammarAccess() { + @Override public List> findKeywordPairs(String leftKw, String rightKw) { return Collections.emptyList(); } + @Override public List findKeywords(String... keywords) { return Collections.emptyList(); } + @Override public List findRuleCalls(AbstractRule... rules) { return Collections.emptyList(); } + @Override public Grammar getGrammar() { return XtextFactory.eINSTANCE.createGrammar(); } diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/linking/lazy/LazyLinkingResourceTest.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/linking/lazy/LazyLinkingResourceTest.java index c873c688b..cb62cef63 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/linking/lazy/LazyLinkingResourceTest.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/linking/lazy/LazyLinkingResourceTest.java @@ -91,7 +91,8 @@ public class LazyLinkingResourceTest extends AbstractXtextTests { } }); res.setLinkingService(new ILinkingService() { - public List getLinkedObjects(EObject context, EReference reference, INode node) + @Override + public List getLinkedObjects(EObject context, EReference reference, INode node) throws IllegalNodeException { return Lists.newArrayList(referencedObject); } @@ -116,7 +117,8 @@ public class LazyLinkingResourceTest extends AbstractXtextTests { } }); res.setLinkingService(new ILinkingService() { - public List getLinkedObjects(EObject context, EReference reference, INode node) + @Override + public List getLinkedObjects(EObject context, EReference reference, INode node) throws IllegalNodeException { return Collections.emptyList(); } @@ -180,6 +182,7 @@ public class LazyLinkingResourceTest extends AbstractXtextTests { res1.eAdapters().add(notificationAlert); Entity e = (Entity) find(EcoreUtil2.eAllContents(res1.getContents().get(0)),new Predicate() { + @Override public boolean apply(EObject input) { return input instanceof Entity; } @@ -216,7 +219,8 @@ public class LazyLinkingResourceTest extends AbstractXtextTests { + "}"), null); res1.eAdapters().add(notificationAlert); Entity e = (Entity) find(EcoreUtil2.eAllContents(res1.getContents().get(0)),new Predicate() { - public boolean apply(EObject input) { + @Override + public boolean apply(EObject input) { return input instanceof Entity; } }); diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/linking/lazy/LazyLinkingTestLanguageScopeProvider.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/linking/lazy/LazyLinkingTestLanguageScopeProvider.java index 94dc97cae..7a2bbdd29 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/linking/lazy/LazyLinkingTestLanguageScopeProvider.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/linking/lazy/LazyLinkingTestLanguageScopeProvider.java @@ -29,6 +29,7 @@ public class LazyLinkingTestLanguageScopeProvider extends AbstractDeclarativeSco public IScope scope_Property(Type t, EReference ref) { return new SimpleScope(IScope.NULLSCOPE, Iterables.transform(t.getExtends().getProperties(), new Function(){ + @Override public IEObjectDescription apply(Property param) { return EObjectDescription.create(QualifiedName.create(param.getName()), param); } diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/mwe/AbstractReaderTest.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/mwe/AbstractReaderTest.java index 2c09f6a06..c556cbf7a 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/mwe/AbstractReaderTest.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/mwe/AbstractReaderTest.java @@ -43,6 +43,7 @@ public abstract class AbstractReaderTest extends AbstractXtextTests { reader.addLoad(entry); reader.setUriFilter(new UriFilter() { + @Override public boolean matches(URI uri) { return false; } @@ -65,6 +66,7 @@ public abstract class AbstractReaderTest extends AbstractXtextTests { reader.addLoad(entry); reader.setUriFilter(new UriFilter() { + @Override public boolean matches(URI uri) { return true; } diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/mwe/PathTraverserTest.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/mwe/PathTraverserTest.java index 05360d798..07f6dea6a 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/mwe/PathTraverserTest.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/mwe/PathTraverserTest.java @@ -21,6 +21,7 @@ import com.google.common.base.Predicate; public class PathTraverserTest extends Assert { public static Predicate everythingButDummy = new Predicate() { + @Override public boolean apply(URI input) { return !input.fileExtension().equals("dummy"); } diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/mwe/ReaderTest.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/mwe/ReaderTest.java index 8257b59a6..2e7434582 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/mwe/ReaderTest.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/mwe/ReaderTest.java @@ -152,6 +152,7 @@ public class ReaderTest extends AbstractReaderTest { protected Predicate getPredicate(final String uriContains) { return new Predicate() { + @Override public boolean apply(EObject input) { return input.eResource().getURI().toString().contains("folder%20"+uriContains); } diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/naming/QualifiedNameTest.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/naming/QualifiedNameTest.java index 29d41af0d..479eb11af 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/naming/QualifiedNameTest.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/naming/QualifiedNameTest.java @@ -185,6 +185,7 @@ public class QualifiedNameTest extends Assert { @Test public void testWrapper() throws Exception { Function identity = new Function() { + @Override public String apply(String from) { return from; } diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/nodemodel/CompositeNodeTest.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/nodemodel/CompositeNodeTest.java index 14b38ddcd..807df225b 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/nodemodel/CompositeNodeTest.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/nodemodel/CompositeNodeTest.java @@ -109,6 +109,7 @@ public class CompositeNodeTest extends AbstractCompositeNodeTest { protected Iterable getReverseLeafNodes(final AbstractNode node) { return Iterables.filter(new Iterable() { + @Override public Iterator iterator() { return new AbstractIterator() { diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/parseerrorhandling/ParseErrorHandlingTest.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/parseerrorhandling/ParseErrorHandlingTest.java index 4d1bfc024..79cf7d98c 100755 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/parseerrorhandling/ParseErrorHandlingTest.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/parseerrorhandling/ParseErrorHandlingTest.java @@ -140,8 +140,10 @@ public class ParseErrorHandlingTest extends AbstractXtextTests { protected Iterable allSyntaxErrors(final ICompositeNode node) { return new Iterable() { + @Override public Iterator iterator() { return Iterators.filter(node.getAsTreeIterable().iterator(), new Predicate() { + @Override public boolean apply(INode input) { return input.getSyntaxErrorMessage() != null; } diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/parser/AbstractPartialParserCrossContainmentTest.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/parser/AbstractPartialParserCrossContainmentTest.java index d2f95cc6e..444a5eea7 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/parser/AbstractPartialParserCrossContainmentTest.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/parser/AbstractPartialParserCrossContainmentTest.java @@ -83,6 +83,7 @@ public abstract class AbstractPartialParserCrossContainmentTest extends Abstract protected void replaceAndReparse(String model, int offset, int length, String inserted, boolean expectSameRoot) throws Exception { final XtextResource resource = getResourceFromString(model); resource.setUnloader(new IReferableElementsUnloader() { + @Override public void unloadRoot(EObject root) { InternalEObject internalEObject = (InternalEObject) root; internalEObject.eSetProxyURI(resource.getURI().appendFragment(resource.getURIFragment(internalEObject))); diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/parser/AbstractPartialParserReplaceTest.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/parser/AbstractPartialParserReplaceTest.java index 9b271cec1..50051077a 100755 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/parser/AbstractPartialParserReplaceTest.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/parser/AbstractPartialParserReplaceTest.java @@ -30,6 +30,7 @@ public abstract class AbstractPartialParserReplaceTest extends AbstractPartialPa assertEquals(expectedReparseRegion, reparseRegion); final Wrapper unloaded = Wrapper.wrap(Boolean.FALSE); getPartialParser().setUnloader(new IReferableElementsUnloader() { + @Override public void unloadRoot(EObject root) { unloaded.set(Boolean.TRUE); } diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/parser/DefaultEcoreElementFactoryTest.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/parser/DefaultEcoreElementFactoryTest.java index cf1584cc7..27230bfc8 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/parser/DefaultEcoreElementFactoryTest.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/parser/DefaultEcoreElementFactoryTest.java @@ -30,6 +30,7 @@ public class DefaultEcoreElementFactoryTest extends Assert { EClass eClass = EcoreFactory.eINSTANCE.createEClass(); Function2 toValueImpl = new Function2() { + @Override public Object apply(String lexerRule, INode node) { if ("foo".equals(lexerRule) ) { return "FOO"; @@ -51,6 +52,7 @@ public class DefaultEcoreElementFactoryTest extends Assert { Function2 toValueImpl = new Function2() { + @Override public Object apply(String lexerRule, INode nodeParam) { if ("foo".equals(lexerRule) && nodeParam.equals(node)) { return null; @@ -80,6 +82,7 @@ public class DefaultEcoreElementFactoryTest extends Assert { Function2 toValueImpl = new Function2() { + @Override public Object apply(String lexerRule, INode nodeParam) { if ("foo".equals(lexerRule) && node.equals(nodeParam)) { throw expected; @@ -109,10 +112,12 @@ public class DefaultEcoreElementFactoryTest extends Assert { this.toValueFunction = toValueFunction; } + @Override public Object toValue(String string, String lexerRule, INode nodeParam) throws ValueConverterException { return toValueFunction.apply(lexerRule, nodeParam); } + @Override public String toString(Object value, String lexerRule) { return null; } diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/parser/TokenRegionProviderTest.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/parser/TokenRegionProviderTest.java index 78c937774..68ddddc1c 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/parser/TokenRegionProviderTest.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/parser/TokenRegionProviderTest.java @@ -93,6 +93,7 @@ public class TokenRegionProviderTest extends AbstractXtextTests { protected CommonToken findTokenStartingAt(final int offset, List tokens) { return find(tokens, new Predicate() { + @Override public boolean apply(CommonToken token) { return token.getStartIndex() == offset; } @@ -102,6 +103,7 @@ public class TokenRegionProviderTest extends AbstractXtextTests { protected CommonToken findTokenStopingAt(final int offset, List tokens) throws Exception { try { return find(tokens, new Predicate() { + @Override public boolean apply(CommonToken token) { return token.getStopIndex() == offset; } diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/parser/antlr/Bug299237Test.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/parser/antlr/Bug299237Test.java index 6e88fa474..6a79b45ae 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/parser/antlr/Bug299237Test.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/parser/antlr/Bug299237Test.java @@ -86,6 +86,7 @@ public class Bug299237Test extends AbstractXtextTests implements ISyntaxErrorMes Model model = (Model) getModelAndExpect("model a", 1); ICompositeNode node = NodeModelUtils.getNode(model); List syntaxErrors = Lists.newArrayList(Iterators.filter(node.getAsTreeIterable().iterator(), new Predicate() { + @Override public boolean apply(INode input) { return input.getSyntaxErrorMessage() != null; } @@ -95,6 +96,7 @@ public class Bug299237Test extends AbstractXtextTests implements ISyntaxErrorMes assertEquals(expectedMessage, error.getSyntaxErrorMessage().getMessage()); } + @Override public SyntaxErrorMessage getSyntaxErrorMessage(IParserErrorContext context) { for(String tokenName: context.getTokenNames()) { assertFalse(tokenName.startsWith("KEYWORD")); @@ -104,6 +106,7 @@ public class Bug299237Test extends AbstractXtextTests implements ISyntaxErrorMes return syntaxErrorProvider.getSyntaxErrorMessage(context); } + @Override public SyntaxErrorMessage getSyntaxErrorMessage(IValueConverterErrorContext context) { fail("Unexpected Invocation"); return null; diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/parser/antlr/XtextTokenStreamTest.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/parser/antlr/XtextTokenStreamTest.java index 6b68fbd2c..eb5cbedd8 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/parser/antlr/XtextTokenStreamTest.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/parser/antlr/XtextTokenStreamTest.java @@ -76,12 +76,14 @@ public class XtextTokenStreamTest extends Assert implements TokenSource { } } + @Override public Token nextToken() { if (tokenCount == 0) return Token.EOF_TOKEN; return new CommonToken(tokenCount--, "Text"); } + @Override public String getSourceName() { return null; } diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/parser/bug419429/Bug419429Test.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/parser/bug419429/Bug419429Test.java index 18818259f..e91c6d0c9 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/parser/bug419429/Bug419429Test.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/parser/bug419429/Bug419429Test.java @@ -59,6 +59,7 @@ public class Bug419429Test extends AbstractPartialParserTest { assertEquals(expectedReparseRegion, reparseRegion); final Wrapper unloaded = Wrapper.wrap(Boolean.FALSE); getPartialParser().setUnloader(new IReferableElementsUnloader() { + @Override public void unloadRoot(EObject root) { unloaded.set(Boolean.TRUE); } diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/parser/unorderedGroups/ErrorMessagesTest.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/parser/unorderedGroups/ErrorMessagesTest.java index f96e36e4d..b54c7b331 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/parser/unorderedGroups/ErrorMessagesTest.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/parser/unorderedGroups/ErrorMessagesTest.java @@ -50,6 +50,7 @@ public class ErrorMessagesTest extends AbstractXtextTests implements ISyntaxErro grammarAccess = get(SimpleUnorderedGroupsTestLanguageGrammarAccess.class); } + @Override public SyntaxErrorMessage getSyntaxErrorMessage(IParserErrorContext context) { if (expectation != null) { assertTrue(context instanceof IUnorderedGroupErrorContext); @@ -60,6 +61,7 @@ public class ErrorMessagesTest extends AbstractXtextTests implements ISyntaxErro return delegate.getSyntaxErrorMessage(context); } + @Override public SyntaxErrorMessage getSyntaxErrorMessage(IValueConverterErrorContext context) { return delegate.getSyntaxErrorMessage(context); } diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/parsetree/InvalidTokenTest.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/parsetree/InvalidTokenTest.java index fed09302d..18fc6ef51 100755 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/parsetree/InvalidTokenTest.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/parsetree/InvalidTokenTest.java @@ -29,6 +29,7 @@ public class InvalidTokenTest extends AbstractXtextTests { with(OptionalEmptyTestLanguageStandaloneSetup.class); ICompositeNode rootNode = getRootNodeAndExpect("/*", 1); List allErrorNodes = Lists.newArrayList(Iterators.filter(rootNode.getAsTreeIterable().iterator(), new Predicate() { + @Override public boolean apply(INode input) { return input.getSyntaxErrorMessage() != null; } diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/parsetree/formatter/ElementMatcherTest.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/parsetree/formatter/ElementMatcherTest.java index fa7b16842..254cd9071 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/parsetree/formatter/ElementMatcherTest.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/parsetree/formatter/ElementMatcherTest.java @@ -48,6 +48,7 @@ public class ElementMatcherTest extends AbstractXtextTests { public void after(final String name, final AbstractElement ele) { patterns.add(new IAfterElement() { + @Override public AbstractElement matchAfter() { return ele; } @@ -65,6 +66,7 @@ public class ElementMatcherTest extends AbstractXtextTests { public void before(final String name, final AbstractElement ele) { patterns.add(new IBeforeElement() { + @Override public AbstractElement matchBefore() { return ele; } @@ -82,6 +84,7 @@ public class ElementMatcherTest extends AbstractXtextTests { public void between(final String name, final AbstractElement first, final AbstractElement second) { patterns.add(new IBetweenElements() { + @Override public Pair matchBetween() { return Tuples.create(first, second); } diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/parsetree/formatter/FormatterTestLineSeparatorInformation.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/parsetree/formatter/FormatterTestLineSeparatorInformation.java index e503bfaa4..63af2b98b 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/parsetree/formatter/FormatterTestLineSeparatorInformation.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/parsetree/formatter/FormatterTestLineSeparatorInformation.java @@ -23,6 +23,7 @@ public class FormatterTestLineSeparatorInformation implements ILineSeparatorInfo this.lineSeparator = lineSeparator; } + @Override public String getLineSeparator() { return lineSeparator; } diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/ConcurrentAccessTest.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/ConcurrentAccessTest.java index 87d2f5ab4..1a35af69b 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/ConcurrentAccessTest.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/ConcurrentAccessTest.java @@ -257,6 +257,7 @@ public class ConcurrentAccessTest extends Assert { @Override public void run() { boolean failed = stateAccess.readOnly(new IUnitOfWork() { + @Override public Boolean exec(EPackage state) throws Exception { return doResolveAllSupertypes(pack); } diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/DerivedStateAwareResourceTest.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/DerivedStateAwareResourceTest.java index 7a9306e2b..eb5bdb6e6 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/DerivedStateAwareResourceTest.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/DerivedStateAwareResourceTest.java @@ -31,10 +31,12 @@ public class DerivedStateAwareResourceTest extends AbstractXtextTests { TestedResource resource = new TestedResource(); assertTrue(resource.getContents().isEmpty()); resource.setDerivedStateComputer(new IDerivedStateComputer() { + @Override public void installDerivedState(DerivedStateAwareResource resource, boolean resolve) { fail("shouldn't be called after initialization"); } + @Override public void discardDerivedState(DerivedStateAwareResource resource) { fail("shouldn't be called after initialization"); } @@ -50,10 +52,12 @@ public class DerivedStateAwareResourceTest extends AbstractXtextTests { }); resource.setDerivedStateComputer(new IDerivedStateComputer() { + @Override public void installDerivedState(DerivedStateAwareResource resource, boolean resolve) { resource.getContents().add(EcoreFactory.eINSTANCE.createEObject()); } + @Override public void discardDerivedState(DerivedStateAwareResource resource) { resource.getContents().clear(); } diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/ExternalContentSupportTest.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/ExternalContentSupportTest.java index ae1067e86..0df66cad7 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/ExternalContentSupportTest.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/ExternalContentSupportTest.java @@ -47,14 +47,17 @@ public class ExternalContentSupportTest extends AbstractXtextTests implements IE super.tearDown(); } + @Override public String getContent(URI uri) { return uriToContent.get(uri); } + @Override public boolean hasContent(URI uri) { return uriToContent.containsKey(uri); } + @Override public IExternalContentProvider getActualContentProvider() { return this; } diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/LiveContainerBuilderIntegerationTestLanguageInjectorProvider.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/LiveContainerBuilderIntegerationTestLanguageInjectorProvider.java index 2dd8d4c33..8a1b62de5 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/LiveContainerBuilderIntegerationTestLanguageInjectorProvider.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/LiveContainerBuilderIntegerationTestLanguageInjectorProvider.java @@ -21,6 +21,7 @@ public class LiveContainerBuilderIntegerationTestLanguageInjectorProvider implem GlobalRegistries.initializeDefaults(); } + @Override public Injector getInjector() { if (injector == null) { stateBeforeInjectorCreation = GlobalRegistries.makeCopyOfGlobalState(); @@ -31,10 +32,12 @@ public class LiveContainerBuilderIntegerationTestLanguageInjectorProvider implem return injector; } + @Override public void restoreRegistry() { stateBeforeInjectorCreation.restoreGlobalState(); } + @Override public void setupRegistry() { getInjector(); stateAfterInjectorCreation.restoreGlobalState(); diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/LiveContainerTestLanguageInjectorProvider.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/LiveContainerTestLanguageInjectorProvider.java index e6757e447..a04b1ed5e 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/LiveContainerTestLanguageInjectorProvider.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/LiveContainerTestLanguageInjectorProvider.java @@ -20,6 +20,7 @@ public class LiveContainerTestLanguageInjectorProvider implements IInjectorProvi GlobalRegistries.initializeDefaults(); } + @Override public Injector getInjector() { if (injector == null) { stateBeforeInjectorCreation = GlobalRegistries.makeCopyOfGlobalState(); @@ -29,10 +30,12 @@ public class LiveContainerTestLanguageInjectorProvider implements IInjectorProvi return injector; } + @Override public void restoreRegistry() { stateBeforeInjectorCreation.restoreGlobalState(); } + @Override public void setupRegistry() { getInjector(); stateAfterInjectorCreation.restoreGlobalState(); diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/ResourceServiceProvideRegistryTest.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/ResourceServiceProvideRegistryTest.java index 1778c705d..689e4fb68 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/ResourceServiceProvideRegistryTest.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/ResourceServiceProvideRegistryTest.java @@ -21,6 +21,7 @@ public class ResourceServiceProvideRegistryTest { @Test public void testUninstallBadProvider() { final IResourceServiceProvider.Provider provider = new IResourceServiceProvider.Provider() { + @Override public IResourceServiceProvider get(URI uri, String contentType) { throw new NullPointerException(); } diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/ResourceServiceProviderProviderTest.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/ResourceServiceProviderProviderTest.java index 3b85587d8..366c7086f 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/ResourceServiceProviderProviderTest.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/ResourceServiceProviderProviderTest.java @@ -21,6 +21,7 @@ import org.junit.Test; public class ResourceServiceProviderProviderTest { public static class TestResourceServiceProviderExecutableExtensionFactory implements IExecutableExtensionFactory { + @Override public Object create() throws CoreException { return new TestResourceServiceProviderProvider(); } @@ -38,6 +39,7 @@ public class ResourceServiceProviderProviderTest { } public static class TestResourceServiceProviderProvider implements IResourceServiceProvider.Provider { + @Override public IResourceServiceProvider get(URI uri, String contentType) { return new TestResourceServiceProvider(uri, contentType); } diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/XtextResourceTest.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/XtextResourceTest.java index 22f62f72e..2bbd21014 100755 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/XtextResourceTest.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/XtextResourceTest.java @@ -110,6 +110,7 @@ public class XtextResourceTest extends AbstractXtextTests { resource.reparse(simpleModel); final Wrapper unloaded = Wrapper.wrap(Boolean.FALSE); resource.setUnloader(new IReferableElementsUnloader() { + @Override public void unloadRoot(EObject root) { unloaded.set(Boolean.TRUE); } diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/containers/StateBasedContainerTest.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/containers/StateBasedContainerTest.java index e4cc359db..98e057650 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/containers/StateBasedContainerTest.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/containers/StateBasedContainerTest.java @@ -45,12 +45,14 @@ public class StateBasedContainerTest extends ResourceDescriptionsBasedContainerT return new StateBasedContainer(this, this); } + @Override public Collection getContents() { if (simulateEmpty) return Collections.emptyList(); return Collections.singleton(uri); } + @Override public boolean contains(URI uri) { if (simulateEmpty) return false; diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/ecore/EcoreResourceDescriptionManagerTest.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/ecore/EcoreResourceDescriptionManagerTest.java index 615aefcee..b44c9e561 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/ecore/EcoreResourceDescriptionManagerTest.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/ecore/EcoreResourceDescriptionManagerTest.java @@ -140,6 +140,7 @@ public class EcoreResourceDescriptionManagerTest extends Assert { checkEntry(index, EcorePackage.Literals.ECLASS__ABSTRACT, isNsURI, ePackageName, "EClass", "abstract"); checkEntry(index, EcorePackage.Literals.ECLASS__ESUPER_TYPES, isNsURI, ePackageName, "EClass", "eSuperTypes"); EOperation isSuperTypeOf = find(EcorePackage.Literals.ECLASS.getEOperations(), new Predicate() { + @Override public boolean apply(EOperation input) { return input.getName().equals("isSuperTypeOf"); } diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/ignorecase/DefaultResourceDescriptionManagerTest.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/ignorecase/DefaultResourceDescriptionManagerTest.java index 5766a5941..ab0fb4fed 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/ignorecase/DefaultResourceDescriptionManagerTest.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/ignorecase/DefaultResourceDescriptionManagerTest.java @@ -42,6 +42,7 @@ public class DefaultResourceDescriptionManagerTest extends Assert { resource = new ResourceImpl(); resource.getContents().add(copy); IQualifiedNameProvider nameProvider = new IQualifiedNameProvider.AbstractImpl() { + @Override public QualifiedName getFullyQualifiedName(EObject obj) { if (obj instanceof ENamedElement) return QualifiedName.create(((ENamedElement) obj).getName()); diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/impl/DefaultReferenceDescriptionTest.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/impl/DefaultReferenceDescriptionTest.java index 2fc4c2536..56297edf1 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/impl/DefaultReferenceDescriptionTest.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/impl/DefaultReferenceDescriptionTest.java @@ -290,6 +290,7 @@ public class DefaultReferenceDescriptionTest extends AbstractXtextTests { protected IResourceDescription createResourceDescription(Resource testResource) { DefaultResourceDescriptionStrategy strategy = new DefaultResourceDescriptionStrategy(); strategy.setQualifiedNameProvider(new IQualifiedNameProvider.AbstractImpl() { + @Override public QualifiedName getFullyQualifiedName(EObject obj) { String name = SimpleAttributeResolver.NAME_RESOLVER.apply(obj); return (name != null) ? QualifiedName.create(name) : null; diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/impl/DefaultResourceDescription2Test.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/impl/DefaultResourceDescription2Test.java index c388e62e2..e4160ccd2 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/impl/DefaultResourceDescription2Test.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/impl/DefaultResourceDescription2Test.java @@ -92,6 +92,7 @@ public class DefaultResourceDescription2Test extends AbstractXtextTests { protected IResourceDescription createResourceDescription(Resource testResource) { DefaultResourceDescriptionStrategy strategy = new DefaultResourceDescriptionStrategy(); strategy.setQualifiedNameProvider(new IQualifiedNameProvider.AbstractImpl() { + @Override public QualifiedName getFullyQualifiedName(EObject obj) { String name = SimpleAttributeResolver.NAME_RESOLVER.apply(obj); return (name != null) ? QualifiedName.create(name) : null; diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/impl/DefaultResourceDescriptionDeltaTest.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/impl/DefaultResourceDescriptionDeltaTest.java index 0ae599c8e..7c05fb584 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/impl/DefaultResourceDescriptionDeltaTest.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/impl/DefaultResourceDescriptionDeltaTest.java @@ -50,14 +50,17 @@ public class DefaultResourceDescriptionDeltaTest extends Assert { public Set imported = Sets.newHashSet(); + @Override public Iterable getImportedNames() { return imported; } + @Override public URI getURI() { return URI.createURI("foo://test"); } + @Override public Iterable getReferenceDescriptions() { return Collections.emptyList(); } diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/impl/DefaultResourceDescriptionTest.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/impl/DefaultResourceDescriptionTest.java index d0a762aaf..2e1ada90a 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/impl/DefaultResourceDescriptionTest.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/impl/DefaultResourceDescriptionTest.java @@ -49,6 +49,7 @@ public class DefaultResourceDescriptionTest extends Assert { resource = new XMLResourceImpl(); resource.setURI(URI.createURI("foo:/test")); nameProvider = new IQualifiedNameProvider.AbstractImpl() { + @Override public QualifiedName getFullyQualifiedName(EObject obj) { if (obj instanceof ENamedElement) return QualifiedName.create(((ENamedElement) obj).getName()); @@ -73,6 +74,7 @@ public class DefaultResourceDescriptionTest extends Assert { @Test public void testGetExportedObject_1() throws Exception { strategy.setQualifiedNameProvider(new IQualifiedNameProvider.AbstractImpl() { + @Override public QualifiedName getFullyQualifiedName(EObject obj) { if (obj instanceof EPackage) return QualifiedName.create(((EPackage) obj).getName()); @@ -89,6 +91,7 @@ public class DefaultResourceDescriptionTest extends Assert { @Test public void testGetExportedObject_2() throws Exception { strategy.setQualifiedNameProvider(new IQualifiedNameProvider.AbstractImpl() { + @Override public QualifiedName getFullyQualifiedName(EObject obj) { if (obj instanceof EClassifier) return QualifiedName.create(((EClassifier) obj).getName()); diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/impl/ResourceDescriptionsBasedContainerTest.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/impl/ResourceDescriptionsBasedContainerTest.java index 9cd151617..9f225e79c 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/impl/ResourceDescriptionsBasedContainerTest.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/impl/ResourceDescriptionsBasedContainerTest.java @@ -57,15 +57,18 @@ public class ResourceDescriptionsBasedContainerTest extends Assert implements IR return Collections.emptyList(); } + @Override public Iterable getImportedNames() { fail("unexpected"); return null; } + @Override public URI getURI() { return uri; } + @Override public Iterable getReferenceDescriptions() { return Collections.emptyList(); } @@ -146,32 +149,39 @@ public class ResourceDescriptionsBasedContainerTest extends Assert implements IR assertNull(container.getResourceDescription(uri)); } + @Override public Iterable getAllResourceDescriptions() { return Collections.singletonList(resourceDescription); } + @Override public IResourceDescription getResourceDescription(URI uri) { if (uri == this.uri) return resourceDescription; return null; } + @Override public boolean isEmpty() { return false; } + @Override public Iterable getExportedObjects() { return selectableDelegate.getExportedObjects(); } + @Override public Iterable getExportedObjects(EClass type, QualifiedName name, boolean ignoreCase) { return selectableDelegate.getExportedObjects(type, name, ignoreCase); } + @Override public Iterable getExportedObjectsByType(EClass type) { return selectableDelegate.getExportedObjectsByType(type); } + @Override public Iterable getExportedObjectsByObject(EObject object) { return selectableDelegate.getExportedObjectsByObject(object); } diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/impl/ResourceSetBasedResourceDescriptionsTest.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/impl/ResourceSetBasedResourceDescriptionsTest.java index a19d29df4..4f5733b62 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/impl/ResourceSetBasedResourceDescriptionsTest.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/impl/ResourceSetBasedResourceDescriptionsTest.java @@ -58,6 +58,7 @@ public class ResourceSetBasedResourceDescriptionsTest extends Assert implements resourceSet = new ResourceSetImpl(); IQualifiedNameProvider qualifiedNameProvider = new IQualifiedNameProvider.AbstractImpl() { + @Override public QualifiedName getFullyQualifiedName(EObject obj) { return QualifiedName.create(((ENamedElement) obj).getName()); } @@ -79,6 +80,7 @@ public class ResourceSetBasedResourceDescriptionsTest extends Assert implements container = new ResourceDescriptionsBasedContainer(resDescs); } + @Override public IResourceServiceProvider getResourceServiceProvider(URI uri, String contentType) { return new DefaultResourceServiceProvider() { @Override @@ -201,22 +203,27 @@ public class ResourceSetBasedResourceDescriptionsTest extends Assert implements return resource; } + @Override public EObject apply(IEObjectDescription from) { return from.getEObjectOrProxy(); } + @Override public Map getContentTypeToFactoryMap() { return null; } + @Override public Map getExtensionToFactoryMap() { return null; } + @Override public Map getProtocolToFactoryMap() { return null; } + @Override public IResourceServiceProvider getResourceServiceProvider(URI uri) { return getResourceServiceProvider(uri, ContentHandler.UNSPECIFIED_CONTENT_TYPE); } diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/uriHell/URIHandlerTestInjectorProvider.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/uriHell/URIHandlerTestInjectorProvider.java index 3d366c0e3..59701beac 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/uriHell/URIHandlerTestInjectorProvider.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/uriHell/URIHandlerTestInjectorProvider.java @@ -29,6 +29,7 @@ public class URIHandlerTestInjectorProvider implements IInjectorProvider, IRegis GlobalRegistries.initializeDefaults(); } + @Override public Injector getInjector() { if (injector == null) { @@ -48,10 +49,12 @@ public class URIHandlerTestInjectorProvider implements IInjectorProvider, IRegis }); } + @Override public void restoreRegistry() { stateBeforeInjectorCreation.restoreGlobalState(); } + @Override public void setupRegistry() { getInjector(); stateAfterInjectorCreation.restoreGlobalState(); diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/scoping/impl/ImportedNamespaceAwareLocalScopeProviderTest.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/scoping/impl/ImportedNamespaceAwareLocalScopeProviderTest.java index 18dee6eda..748a09180 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/scoping/impl/ImportedNamespaceAwareLocalScopeProviderTest.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/scoping/impl/ImportedNamespaceAwareLocalScopeProviderTest.java @@ -174,6 +174,7 @@ public class ImportedNamespaceAwareLocalScopeProviderTest extends AbstractXtextT + "}"), URI .createURI("relative.indextestlanguage")); Iterable allContents = new Iterable() { + @Override public Iterator iterator() { return resource.getAllContents(); } @@ -197,6 +198,7 @@ public class ImportedNamespaceAwareLocalScopeProviderTest extends AbstractXtextT + "}"), URI .createURI("relative.indextestlanguage")); Iterable allContents = new Iterable() { + @Override public Iterator iterator() { return resource.getAllContents(); } @@ -222,6 +224,7 @@ public class ImportedNamespaceAwareLocalScopeProviderTest extends AbstractXtextT + "}"), URI .createURI("testReexports2.indextestlanguage")); Iterable allContents = new Iterable() { + @Override public Iterator iterator() { return resource.getAllContents(); } @@ -245,6 +248,7 @@ public class ImportedNamespaceAwareLocalScopeProviderTest extends AbstractXtextT + " datatype Context" + "}"), URI.createURI("foo23.indextestlanguage")); Iterable allContents = new Iterable() { + @Override public Iterator iterator() { return resource.getAllContents(); } @@ -266,6 +270,7 @@ public class ImportedNamespaceAwareLocalScopeProviderTest extends AbstractXtextT + "}"), URI .createURI("withoutwildcard.indextestlanguage")); Iterable allContents = new Iterable() { + @Override public Iterator iterator() { return resource.getAllContents(); } @@ -294,11 +299,13 @@ public class ImportedNamespaceAwareLocalScopeProviderTest extends AbstractXtextT + "}"), URI .createURI("withoutwildcard.indextestlanguage")); Iterable allContents = new Iterable() { + @Override public Iterator iterator() { return resource.getAllContents(); } }; Entity foo = find(Iterables.filter(allContents, Entity.class), new Predicate(){ + @Override public boolean apply(Entity input) { return input.getName().equals("Baz"); }}); @@ -309,6 +316,7 @@ public class ImportedNamespaceAwareLocalScopeProviderTest extends AbstractXtextT ArrayList list = newArrayList(scope.getAllElements()); assertEquals(7,list.size()); assertTrue(any(list, new Predicate() { + @Override public boolean apply(IEObjectDescription input) { return input.getName().equals(QualifiedName.create("Foo")); } @@ -331,11 +339,13 @@ public class ImportedNamespaceAwareLocalScopeProviderTest extends AbstractXtextT + "}"), URI .createURI("withoutwildcard.indextestlanguage")); Iterable allContents = new Iterable() { + @Override public Iterator iterator() { return resource.getAllContents(); } }; Entity foo = find(Iterables.filter(allContents, Entity.class), new Predicate(){ + @Override public boolean apply(Entity input) { return input.getName().equals("Baz"); }}); @@ -346,6 +356,7 @@ public class ImportedNamespaceAwareLocalScopeProviderTest extends AbstractXtextT ArrayList list = newArrayList(scope.getAllElements()); assertEquals(6,list.size()); assertFalse(any(list, new Predicate() { + @Override public boolean apply(IEObjectDescription input) { return input.getName().equals(QualifiedName.create("Foo")); } @@ -367,11 +378,13 @@ public class ImportedNamespaceAwareLocalScopeProviderTest extends AbstractXtextT + "}"), URI .createURI("withoutwildcard.indextestlanguage")); Iterable allContents = new Iterable() { + @Override public Iterator iterator() { return resource.getAllContents(); } }; Entity foo = find(Iterables.filter(allContents, Entity.class), new Predicate(){ + @Override public boolean apply(Entity input) { return input.getName().equals("Baz"); }}); @@ -382,6 +395,7 @@ public class ImportedNamespaceAwareLocalScopeProviderTest extends AbstractXtextT ArrayList list = newArrayList(scope.getAllElements()); assertEquals(6,list.size()); assertFalse(any(list, new Predicate() { + @Override public boolean apply(IEObjectDescription input) { return input.getName().equals(QualifiedName.create("Foo")); } @@ -403,11 +417,13 @@ public class ImportedNamespaceAwareLocalScopeProviderTest extends AbstractXtextT + "}"), URI .createURI("withoutwildcard.indextestlanguage")); Iterable allContents = new Iterable() { + @Override public Iterator iterator() { return resource.getAllContents(); } }; Entity foo = find(Iterables.filter(allContents, Entity.class), new Predicate(){ + @Override public boolean apply(Entity input) { return input.getName().equals("Baz"); }}); @@ -418,6 +434,7 @@ public class ImportedNamespaceAwareLocalScopeProviderTest extends AbstractXtextT ArrayList list = newArrayList(scope.getAllElements()); assertEquals(5,list.size()); assertFalse(any(list, new Predicate() { + @Override public boolean apply(IEObjectDescription input) { return input.getName().equals(QualifiedName.create("Foo")); } @@ -432,6 +449,7 @@ public class ImportedNamespaceAwareLocalScopeProviderTest extends AbstractXtextT res2.load(new StringInputStream("bar {" + " entity Bar{}" + "}"), null); Iterable allContents = new Iterable() { + @Override public Iterator iterator() { return res1.getAllContents(); } @@ -462,6 +480,7 @@ public class ImportedNamespaceAwareLocalScopeProviderTest extends AbstractXtextT + "}"), null); Iterable allContents = new Iterable() { + @Override public Iterator iterator() { return res1.getAllContents(); } @@ -499,6 +518,7 @@ public class ImportedNamespaceAwareLocalScopeProviderTest extends AbstractXtextT protected Entity getEntityByName(final Resource res2, String name) { Iterable allContents = new Iterable() { + @Override public Iterator iterator() { return res2.getAllContents(); } diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/scoping/impl/ScopeTest.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/scoping/impl/ScopeTest.java index 829b028d0..bd40ea20b 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/scoping/impl/ScopeTest.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/scoping/impl/ScopeTest.java @@ -83,6 +83,7 @@ public class ScopeTest extends Assert { @Override protected Iterable getAllLocalElements() { return new Iterable() { + @Override public Iterator iterator() { numberOfCalls++; return singleton( diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/serializer/AssignmentFinderTestLanguageRuntimeModule.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/serializer/AssignmentFinderTestLanguageRuntimeModule.java index dfb031f67..d71e19254 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/serializer/AssignmentFinderTestLanguageRuntimeModule.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/serializer/AssignmentFinderTestLanguageRuntimeModule.java @@ -21,6 +21,7 @@ public class AssignmentFinderTestLanguageRuntimeModule extends AbstractAssignmen public IValueConverter DatEnum() { return new IValueConverter() { + @Override public TestEnum toValue(String string, INode node) throws ValueConverterException { if ("lit3".equals(string)) return TestEnum.LIT3; @@ -28,6 +29,7 @@ public class AssignmentFinderTestLanguageRuntimeModule extends AbstractAssignmen throw new ValueConverterException(null, null, null); } + @Override public String toString(TestEnum value) throws ValueConverterException { if (value == TestEnum.LIT3) return TestEnum.LIT3.getName(); diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/serializer/ContextPDAProviderTest.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/serializer/ContextPDAProviderTest.java index 4673d461d..5d47dc0d5 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/serializer/ContextPDAProviderTest.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/serializer/ContextPDAProviderTest.java @@ -40,6 +40,7 @@ public class ContextPDAProviderTest extends AbstractXtextTests { private Function ts = new GrammarElementTitleSwitch().showAssignments() .hideCardinality().showQualified(); + @Override public String apply(ISerState from) { switch (from.getType()) { case START: @@ -63,6 +64,7 @@ public class ContextPDAProviderTest extends AbstractXtextTests { for (EObject ctx : contextProvider.getAllContexts(grammar)) result.add(Tuples.create(ctx, ctx2name.getContextName(ctx))); Collections.sort(result, new Comparator>() { + @Override public int compare(Pair o1, Pair o2) { return o1.getSecond().compareTo(o2.getSecond()); } diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/serializer/ContextProviderTest.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/serializer/ContextProviderTest.java index 88ee38dbe..09610193f 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/serializer/ContextProviderTest.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/serializer/ContextProviderTest.java @@ -54,11 +54,13 @@ public class ContextProviderTest extends AbstractXtextTests { result.add(Tuples.create(names.getContextName(context), types)); } Collections.sort(result, new Comparator>>() { + @Override public int compare(Pair> o1, Pair> o2) { return o1.getFirst().compareTo(o2.getFirst()); } }); return Joiner.on("\n").join(Iterables.transform(result, new Function>, String>() { + @Override public String apply(Pair> from) { return from.getFirst() + " returns " + Joiner.on(", ").join(from.getSecond()); } diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/serializer/ContextTypePDAProviderTest.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/serializer/ContextTypePDAProviderTest.java index 68b32eb20..466131d90 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/serializer/ContextTypePDAProviderTest.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/serializer/ContextTypePDAProviderTest.java @@ -41,6 +41,7 @@ public class ContextTypePDAProviderTest extends AbstractXtextTests { private Function ts = new GrammarElementTitleSwitch().showAssignments() .hideCardinality().showQualified(); + @Override public String apply(ISerState from) { switch (from.getType()) { case START: @@ -65,6 +66,7 @@ public class ContextTypePDAProviderTest extends AbstractXtextTests { for (EClass type : contextProvider.getTypesForContext(ctx)) result.add(Tuples.create(type, ctx, ctx2name.getContextName(ctx))); Collections.sort(result, new Comparator>() { + @Override public int compare(Triple o1, Triple o2) { String n1 = o1.getFirst() == null ? "null" : o1.getFirst().getName(); String n2 = o2.getFirst() == null ? "null" : o2.getFirst().getName(); diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/serializer/HiddenTokenSequencerTestLanguageInjectorProvider.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/serializer/HiddenTokenSequencerTestLanguageInjectorProvider.java index 0ffe23219..6c9f586c2 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/serializer/HiddenTokenSequencerTestLanguageInjectorProvider.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/serializer/HiddenTokenSequencerTestLanguageInjectorProvider.java @@ -27,6 +27,7 @@ public class HiddenTokenSequencerTestLanguageInjectorProvider implements IInject GlobalRegistries.initializeDefaults(); } + @Override public Injector getInjector() { if (injector == null) { stateBeforeInjectorCreation = GlobalRegistries.makeCopyOfGlobalState(); @@ -40,10 +41,12 @@ public class HiddenTokenSequencerTestLanguageInjectorProvider implements IInject return new HiddenTokenSequencerTestLanguageStandaloneSetup().createInjectorAndDoEMFRegistration(); } + @Override public void restoreRegistry() { stateBeforeInjectorCreation.restoreGlobalState(); } + @Override public void setupRegistry() { getInjector(); stateAfterInjectorCreation.restoreGlobalState(); diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/serializer/SequencerTestLanguageRuntimeModule.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/serializer/SequencerTestLanguageRuntimeModule.java index 84839a45a..601fc4b59 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/serializer/SequencerTestLanguageRuntimeModule.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/serializer/SequencerTestLanguageRuntimeModule.java @@ -103,10 +103,12 @@ public class SequencerTestLanguageRuntimeModule extends AbstractSequencerTestLan @ValueConverter(rule = "NULL_STRING") public IValueConverter NULL_STRING() { return new IValueConverter() { + @Override public String toString(String value) throws ValueConverterException { return "''"; } + @Override public String toValue(String string, INode node) throws ValueConverterException { return null; } diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/serializer/SyntacticSequencerPDAProviderTest.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/serializer/SyntacticSequencerPDAProviderTest.java index 43e3a2a31..25edcdc52 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/serializer/SyntacticSequencerPDAProviderTest.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/serializer/SyntacticSequencerPDAProviderTest.java @@ -49,6 +49,7 @@ public class SyntacticSequencerPDAProviderTest extends AbstractXtextTests { private Function ts = new GrammarElementTitleSwitch().showAssignments() .hideCardinality().showQualified(); + @Override public String apply(ISynState from) { return from.getType().getSimpleType() == PDAStateType.ELEMENT ? ts.apply(from.getGrammarElement()) : from .toString(); @@ -91,6 +92,7 @@ public class SyntacticSequencerPDAProviderTest extends AbstractXtextTests { for (EClass type : contextProvider.getTypesForContext(ctx)) result.add(Tuples.create(type, ctx, ctx2name.getContextName(ctx))); Collections.sort(result, new Comparator>() { + @Override public int compare(Triple o1, Triple o2) { String n1 = o1.getFirst() == null ? "null" : o1.getFirst().getName(); String n2 = o2.getFirst() == null ? "null" : o2.getFirst().getName(); diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/serializer/SyntacticSequencerTest.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/serializer/SyntacticSequencerTest.java index ccbb78ebc..62a0a8cc5 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/serializer/SyntacticSequencerTest.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/serializer/SyntacticSequencerTest.java @@ -70,87 +70,109 @@ public class SyntacticSequencerTest extends AbstractXtextTests { result.add(titles.doSwitch(ele) + " -> " + token.trim()); } + @Override public void enterUnassignedParserRuleCall(RuleCall rc) { } + @Override public void leaveUnssignedParserRuleCall(RuleCall rc) { } + @Override public void acceptUnassignedAction(Action action) { } + @Override public void acceptUnassignedDatatype(RuleCall datatypeRC, String token, ICompositeNode node) { add(datatypeRC, token); } + @Override public void acceptUnassignedEnum(RuleCall enumRC, String token, ICompositeNode node) { add(enumRC, token); } + @Override public void acceptUnassignedKeyword(Keyword keyword, String token, ILeafNode node) { add(keyword, token); } + @Override public void acceptUnassignedTerminal(RuleCall terminalRC, String token, ILeafNode node) { add(terminalRC, token); } + @Override public void acceptAssignedCrossRefDatatype(RuleCall datatypeRC, String token, EObject value, int index, ICompositeNode node) { add(datatypeRC, token); } + @Override public void acceptAssignedCrossRefEnum(RuleCall enumRC, String token, EObject value, int index, ICompositeNode node) { add(enumRC, token); } + @Override public void acceptAssignedCrossRefTerminal(RuleCall terminalRC, String token, EObject value, int index, ILeafNode node) { add(terminalRC, token); } + @Override public void acceptAssignedDatatype(RuleCall datatypeRC, String token, Object value, int index, ICompositeNode node) { add(datatypeRC, token); } + @Override public void acceptAssignedEnum(RuleCall enumRC, String token, Object value, int index, ICompositeNode node) { add(enumRC, token); } + @Override public void acceptAssignedKeyword(Keyword keyword, String token, Object value, int index, ILeafNode node) { add(keyword, token); } + @Override public void acceptAssignedTerminal(RuleCall terminalRC, String token, Object value, int index, ILeafNode node) { add(terminalRC, token); } + @Override public boolean enterAssignedAction(Action action, EObject semanticChild, ICompositeNode node) { return true; } + @Override public boolean enterAssignedParserRuleCall(RuleCall rc, EObject semanticChild, ICompositeNode node) { return true; } + @Override public void finish() { } + @Override public void leaveAssignedAction(Action action, EObject semanticChild) { } + @Override public void leaveAssignedParserRuleCall(RuleCall rc, EObject semanticChild) { } + @Override public void acceptComment(AbstractRule rule, String token, ILeafNode node) { } + @Override public void acceptWhitespace(AbstractRule rule, String token, ILeafNode node) { } + @Override public void acceptAssignedCrossRefKeyword(Keyword kw, String token, EObject value, int index, ILeafNode node) { add(kw, token); } diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/service/GenericModuleTest.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/service/GenericModuleTest.java index d11b6d7c0..5db1324e4 100755 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/service/GenericModuleTest.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/service/GenericModuleTest.java @@ -100,6 +100,7 @@ public class GenericModuleTest extends Assert { public static class DateProvider implements Provider { + @Override public Date get() { return null; } @@ -133,6 +134,7 @@ public class GenericModuleTest extends Assert { } static class FooProvider implements Provider { + @Override public String get() { return "foo"; } @@ -140,6 +142,7 @@ public class GenericModuleTest extends Assert { @Test public void testProviderInstanceBinding() throws Exception { final Provider provider = new Provider() { + @Override public Date get() { return null; } diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/service/ParameterizedTypeModule.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/service/ParameterizedTypeModule.java index 4d08394d1..4553337de 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/service/ParameterizedTypeModule.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/service/ParameterizedTypeModule.java @@ -19,21 +19,26 @@ public class ParameterizedTypeModule extends AbstractGenericModule { public final X PROVIDE_X = new X(); static class X implements Comparable, Iterator, Iterable { + @Override public int compareTo(X o) { return 0; } + @Override public boolean hasNext() { return false; } + @Override public X next() { return null; } + @Override public void remove() { } + @Override public Iterator iterator() { return null; } @@ -49,6 +54,7 @@ public class ParameterizedTypeModule extends AbstractGenericModule { public Provider> provideParameterizedType2() { return new Provider>(){ + @Override public Iterable get() { return PROVIDE_X; } diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/tests/TestErrorAcceptor.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/tests/TestErrorAcceptor.java index 9360da807..b2b215e97 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/tests/TestErrorAcceptor.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/tests/TestErrorAcceptor.java @@ -26,6 +26,7 @@ public class TestErrorAcceptor extends Assert implements ErrorAcceptor { public static final EObject ANY_EOBJECT = (EObject) Proxy.newProxyInstance( TestErrorAcceptor.class.getClassLoader(), new Class[] { EObject.class }, new InvocationHandler() { + @Override public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { return "toString".equals(method.getName()) ? "ANY_EOBJECT" : null; } @@ -34,6 +35,7 @@ public class TestErrorAcceptor extends Assert implements ErrorAcceptor { LinkedList> flugschreiber = Lists.newLinkedList(); private boolean write = true; + @Override public void acceptError(TransformationErrorCode errorCode, String message, EObject element) { Triple create = Tuples.create(errorCode, message, element); // System.out.println((write ? "Write>" : "Read>") + " errorCode: " + (errorCode != null ? errorCode : "") diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/util/FilteringIteratorTest.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/util/FilteringIteratorTest.java index 84405d0b3..24f86591f 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/util/FilteringIteratorTest.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/util/FilteringIteratorTest.java @@ -34,6 +34,7 @@ public class FilteringIteratorTest extends Assert implements Predicate { list = new ArrayList(); } + @Override public boolean apply(String param) { return param.equals(matchMe); } diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/util/MappingIteratorTest.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/util/MappingIteratorTest.java index cad889e3d..ee9ec31b0 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/util/MappingIteratorTest.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/util/MappingIteratorTest.java @@ -21,6 +21,7 @@ import com.google.common.collect.Iterators; */ public class MappingIteratorTest extends Assert implements Function { + @Override public String apply(String param) { return param + "->" + param; } diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/util/PolymorphicDispatcherTest.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/util/PolymorphicDispatcherTest.java index b0d5705df..ca1ac4441 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/util/PolymorphicDispatcherTest.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/util/PolymorphicDispatcherTest.java @@ -152,6 +152,7 @@ public class PolymorphicDispatcherTest extends Assert { }; PolymorphicDispatcher dispatcher = new PolymorphicDispatcher("label", 1, 2, Lists.newArrayList(o1), new PolymorphicDispatcher.ErrorHandler() { + @Override public String handle(Object[] params, Throwable throwable) { return null; } @@ -254,6 +255,7 @@ public class PolymorphicDispatcherTest extends Assert { }; PolymorphicDispatcher dispatcher = new PolymorphicDispatcher(Lists.newArrayList(o1), new Predicate() { + @Override public boolean apply(Method param) { return ((param.getName().equals("label")) || (param.getAnnotation(TestLabelAnnotation.class) != null)); } diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/util/SimpleCacheTest.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/util/SimpleCacheTest.java index 6b414afae..8e0751b95 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/util/SimpleCacheTest.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/util/SimpleCacheTest.java @@ -31,6 +31,7 @@ public class SimpleCacheTest extends Assert implements Function{ callCount = 0; } + @Override public String apply(String param) { assertEquals(expectedParam, param); callCount++; diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/util/formallang/FollowerFunctionTest.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/util/formallang/FollowerFunctionTest.java index ac6b25460..4efeea03a 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/util/formallang/FollowerFunctionTest.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/util/formallang/FollowerFunctionTest.java @@ -24,6 +24,7 @@ import com.google.common.collect.Iterables; public class FollowerFunctionTest extends Assert { private class ElementFormatter implements Function { + @Override public String apply(ProdElement from) { if (from == null) return "null"; diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/validation/AbstractConcreteSyntaxValidationTest.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/validation/AbstractConcreteSyntaxValidationTest.java index 4b962a02c..f13d7ae40 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/validation/AbstractConcreteSyntaxValidationTest.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/validation/AbstractConcreteSyntaxValidationTest.java @@ -48,6 +48,7 @@ public abstract class AbstractConcreteSyntaxValidationTest extends AbstractXtext + constraint + "]"; } + @Override public boolean apply(Diagnostic input) { if (input instanceof ConcreteSyntaxFeatureDiagnostic) { ConcreteSyntaxFeatureDiagnostic s = (ConcreteSyntaxFeatureDiagnostic) input; diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/validation/AbstractValidationMessageAcceptingTestCase.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/validation/AbstractValidationMessageAcceptingTestCase.java index 70258d7be..6d3c20b99 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/validation/AbstractValidationMessageAcceptingTestCase.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/validation/AbstractValidationMessageAcceptingTestCase.java @@ -16,29 +16,35 @@ import org.eclipse.xtext.junit4.AbstractXtextTests; */ public abstract class AbstractValidationMessageAcceptingTestCase extends AbstractXtextTests implements ValidationMessageAcceptor { + @Override public void acceptError(String message, EObject object, EStructuralFeature feature, int index, String code, String... issueData) { fail(message); } + @Override public void acceptError(String message, EObject object, int offset, int length, String code, String... issueData) { fail(message); } + @Override public void acceptWarning(String message, EObject object, EStructuralFeature feature, int index, String code, String... issueData) { fail(message); } + @Override public void acceptWarning(String message, EObject object, int offset, int length, String code, String... issueData) { fail(message); } + @Override public void acceptInfo(String message, EObject object, EStructuralFeature feature, int index, String code, String... issueData) { fail(message); } + @Override public void acceptInfo(String message, EObject object, int offset, int length, String code, String... issueData) { fail(message); } diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/validation/CompositeEValidatorTest.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/validation/CompositeEValidatorTest.java index 2e9f4cd50..399141aec 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/validation/CompositeEValidatorTest.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/validation/CompositeEValidatorTest.java @@ -45,6 +45,7 @@ public class CompositeEValidatorTest { @Test public void testNoShortCircuiting() { CompositeEValidator compositeValidator = new CompositeEValidator(); compositeValidator.setEqualitySupportProvider(new Provider() { + @Override public EValidatorEqualitySupport get() { return new CompositeEValidator.EValidatorEqualitySupport(); } diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/validation/ConcreteSyntaxConstraintProviderTest.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/validation/ConcreteSyntaxConstraintProviderTest.java index fadab1501..7ea0f8e2c 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/validation/ConcreteSyntaxConstraintProviderTest.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/validation/ConcreteSyntaxConstraintProviderTest.java @@ -67,6 +67,7 @@ public class ConcreteSyntaxConstraintProviderTest extends AbstractXtextTests { if (c.getSemanticTypesToCheck() != null) { List names = Lists.newArrayList(Iterables.transform(c.getSemanticTypesToCheck(), new Function() { + @Override public String apply(EClass from) { return from.getName(); } @@ -75,6 +76,7 @@ public class ConcreteSyntaxConstraintProviderTest extends AbstractXtextTests { t = "<" + Joiner.on(", ").join(names) + ">"; } Iterable contents = Iterables.transform(c.getContents(), new Function() { + @Override public String apply(ISyntaxConstraint from) { return ConcreteSyntaxConstraintProviderTest.this.toString(from); } diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/validation/ConcurrentValidationTest.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/validation/ConcurrentValidationTest.java index 5f5e919b3..f1544ff6c 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/validation/ConcurrentValidationTest.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/validation/ConcurrentValidationTest.java @@ -82,6 +82,7 @@ public class ConcurrentValidationTest extends AbstractXtextTests { this.validator = validator; } + @Override public void run() { try { TestChain diagnostics = helper.chain(); diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/validation/NamesAreUniqueValidationHelperTest.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/validation/NamesAreUniqueValidationHelperTest.java index dac51eae1..f9388d58c 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/validation/NamesAreUniqueValidationHelperTest.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/validation/NamesAreUniqueValidationHelperTest.java @@ -279,6 +279,7 @@ public class NamesAreUniqueValidationHelperTest extends AbstractValidationMessag return result; } + @Override public boolean isCanceled() { callCount++; if (callCount == maxCallCount) diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/validation/NamesAreUniqueValidatorTest.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/validation/NamesAreUniqueValidatorTest.java index 297fc1e9e..952a2c82b 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/validation/NamesAreUniqueValidatorTest.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/validation/NamesAreUniqueValidatorTest.java @@ -59,6 +59,7 @@ public class NamesAreUniqueValidatorTest extends AbstractXtextTests implements I validator.setHelper(this); final DefaultResourceDescriptionStrategy strategy = new DefaultResourceDescriptionStrategy(); strategy.setQualifiedNameProvider(new IQualifiedNameProvider.AbstractImpl() { + @Override public QualifiedName getFullyQualifiedName(EObject obj) { return QualifiedName.create(SimpleAttributeResolver.NAME_RESOLVER.getValue(obj)); } @@ -87,10 +88,12 @@ public class NamesAreUniqueValidatorTest extends AbstractXtextTests implements I assertEquals(1, callCount); } + @Override public void checkUniqueNames(Iterable descriptions, ValidationMessageAcceptor acceptor) { fail("Unexpected call"); } + @Override public void checkUniqueNames(Iterable descriptions, CancelIndicator cancelIndicator, ValidationMessageAcceptor acceptor) { callCount++; @@ -99,6 +102,7 @@ public class NamesAreUniqueValidatorTest extends AbstractXtextTests implements I assertSame(validator, acceptor); } + @Override public IResourceServiceProvider getResourceServiceProvider(URI uri, String contentType) { return new DefaultResourceServiceProvider() { @Override @@ -108,18 +112,22 @@ public class NamesAreUniqueValidatorTest extends AbstractXtextTests implements I }; } + @Override public Map getContentTypeToFactoryMap() { return null; } + @Override public Map getExtensionToFactoryMap() { return null; } + @Override public Map getProtocolToFactoryMap() { return null; } + @Override public IResourceServiceProvider getResourceServiceProvider(URI uri) { return getResourceServiceProvider(uri, ContentHandler.UNSPECIFIED_CONTENT_TYPE); } diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/validation/ResourceValidatorImplTest.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/validation/ResourceValidatorImplTest.java index b87a5d03a..2965bbf6d 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/validation/ResourceValidatorImplTest.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/validation/ResourceValidatorImplTest.java @@ -37,6 +37,7 @@ public class ResourceValidatorImplTest extends AbstractXtextTests { with(new LangATestLanguageStandaloneSetup()); EValidator.Registry.INSTANCE.put(LangATestLanguagePackage.eINSTANCE, new EValidator(){ + @Override public boolean validate(EObject eObject, DiagnosticChain diagnostics, Map context) { if (eObject instanceof Type) { String name = ((Type)eObject).getName(); @@ -48,11 +49,13 @@ public class ResourceValidatorImplTest extends AbstractXtextTests { return true; } + @Override public boolean validate(EClass eClass, EObject eObject, DiagnosticChain diagnostics, Map context) { return validate(eObject,diagnostics,context); } + @Override public boolean validate(EDataType eDataType, Object value, DiagnosticChain diagnostics, Map context) { return false; diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/validation/ValidationTestHelper.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/validation/ValidationTestHelper.java index 6ad4b162f..14c750299 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/validation/ValidationTestHelper.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/validation/ValidationTestHelper.java @@ -45,15 +45,18 @@ public class ValidationTestHelper { return features.isEmpty(); } + @Override public void add(org.eclipse.emf.common.util.Diagnostic diagnostic) { Assert.assertTrue(diagnostic.getData().get(0) instanceof EObject); features.add((EStructuralFeature) diagnostic.getData().get(1)); } + @Override public void addAll(org.eclipse.emf.common.util.Diagnostic diagnostic) { throw new UnsupportedOperationException(); } + @Override public void merge(org.eclipse.emf.common.util.Diagnostic diagnostic) { throw new UnsupportedOperationException(); } diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/valueconverter/Bug250313Test.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/valueconverter/Bug250313Test.java index 44d09b41b..3edf216d3 100755 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/valueconverter/Bug250313Test.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/valueconverter/Bug250313Test.java @@ -91,10 +91,12 @@ public class Bug250313Test extends AbstractXtextTests { @Inject private Bug250313Test test; + @Override public String toString(Object value, String lexerRule) { return delegate.toString(value, lexerRule); } + @Override public Object toValue(String string, String lexerRule, INode node) throws ValueConverterException { test.toValueCalled(string, lexerRule, node); return delegate.toValue(string, lexerRule, node); diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/xtext/AbstractXtextInspectorTest.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/xtext/AbstractXtextInspectorTest.java index 6ed3ecc10..d8831364b 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/xtext/AbstractXtextInspectorTest.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/xtext/AbstractXtextInspectorTest.java @@ -53,6 +53,7 @@ public abstract class AbstractXtextInspectorTest extends AbstractXtextTests impl protected abstract boolean isExpectingInfos(); + @Override public void acceptError(String message, EObject object, EStructuralFeature feature, int index, String code, String... issueData) { if (!isExpectingErrors()) fail("unexpected call to acceptError"); @@ -60,6 +61,7 @@ public abstract class AbstractXtextInspectorTest extends AbstractXtextTests impl errors.add(error); } + @Override public void acceptWarning(String message, EObject object, EStructuralFeature feature, int index, String code, String... issueData) { if (!isExpectingWarnings()) fail("unexpected call to acceptWarning"); @@ -67,6 +69,7 @@ public abstract class AbstractXtextInspectorTest extends AbstractXtextTests impl warnings.add(warning); } + @Override public void acceptInfo(String message, EObject object, EStructuralFeature feature, int index, String code, String... issueData) { if (!isExpectingInfos()) fail("unexpected call to acceptInfo"); @@ -85,14 +88,17 @@ public abstract class AbstractXtextInspectorTest extends AbstractXtextTests impl return (Grammar) resourceFromString.getContents().get(0); } + @Override public void acceptError(String message, EObject object, int offset, int length, String code, String... issueData) { fail(message); } + @Override public void acceptWarning(String message, EObject object, int offset, int length, String code, String... issueData) { fail(message); } + @Override public void acceptInfo(String message, EObject object, int offset, int length, String code, String... issueData) { fail(message); } diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/xtext/XtextValidationTest.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/xtext/XtextValidationTest.java index fe5c7e43f..c1caeba87 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/xtext/XtextValidationTest.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/xtext/XtextValidationTest.java @@ -869,6 +869,7 @@ public class XtextValidationTest extends AbstractValidationMessageAcceptingTestC XtextResource resource = doGetResource(new org.eclipse.xtext.util.StringInputStream("A: value=B; B: name=ID;"),URI.createURI("testBug_293110")); Diagnostic diagnostic = Diagnostician.INSTANCE.validate(resource.getContents().get(0)); Collection runtimeExceptions = Collections2.filter(diagnostic.getChildren(), new Predicate(){ + @Override public boolean apply(Diagnostic input) { return input.getException() instanceof RuntimeException; }}); diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/xtext/ecoreInference/TypeHierarchyHelperTest.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/xtext/ecoreInference/TypeHierarchyHelperTest.java index 834e8894d..b715cb01d 100644 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/xtext/ecoreInference/TypeHierarchyHelperTest.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/xtext/ecoreInference/TypeHierarchyHelperTest.java @@ -41,6 +41,7 @@ public class TypeHierarchyHelperTest extends Assert { private final class FailOnErrorAcceptor implements ErrorAcceptor { + @Override public void acceptError(TransformationErrorCode errorCode, String message, EObject element) { fail("Should not be called"); } diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/xtext/ecoreInference/Xtext2EcoreTransformerTest.java b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/xtext/ecoreInference/Xtext2EcoreTransformerTest.java index 1dff7e71a..1ac21160d 100755 --- a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/xtext/ecoreInference/Xtext2EcoreTransformerTest.java +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/xtext/ecoreInference/Xtext2EcoreTransformerTest.java @@ -63,6 +63,7 @@ public class Xtext2EcoreTransformerTest extends AbstractXtextTests { this.testMetamodel = testMetamodel; } + @Override public void process(GeneratedMetamodel metamodel) { if (testMetamodel.equals(metamodel)) { called++; @@ -86,6 +87,7 @@ public class Xtext2EcoreTransformerTest extends AbstractXtextTests { this.second = second; } + @Override public void acceptError(TransformationErrorCode errorCode, String message, EObject element) { first.acceptError(errorCode, message, element); second.acceptError(errorCode, message, element);