diff options
author | Juergen Haug | 2017-10-02 10:49:51 +0000 |
---|---|---|
committer | Juergen Haug | 2017-10-02 10:49:51 +0000 |
commit | 669d480ab8c1a8464b99d5c56df55615f5027e40 (patch) | |
tree | c13b07acd6709e53e9d355b6d8d218560d125800 /plugins | |
parent | 73e647f4da4df53c629f0a08a29f2a993b332bd9 (diff) | |
download | org.eclipse.etrice-669d480ab8c1a8464b99d5c56df55615f5027e40.tar.gz org.eclipse.etrice-669d480ab8c1a8464b99d5c56df55615f5027e40.tar.xz org.eclipse.etrice-669d480ab8c1a8464b99d5c56df55615f5027e40.zip |
[targetLang] added comments + improved naming
Diffstat (limited to 'plugins')
7 files changed, 28 insertions, 32 deletions
diff --git a/plugins/org.eclipse.etrice.core.room.ui/src/org/eclipse/etrice/core/ui/contentassist/RoomProposalProvider.java b/plugins/org.eclipse.etrice.core.room.ui/src/org/eclipse/etrice/core/ui/contentassist/RoomProposalProvider.java index 2fbd6f481..021554e1e 100644 --- a/plugins/org.eclipse.etrice.core.room.ui/src/org/eclipse/etrice/core/ui/contentassist/RoomProposalProvider.java +++ b/plugins/org.eclipse.etrice.core.room.ui/src/org/eclipse/etrice/core/ui/contentassist/RoomProposalProvider.java @@ -36,7 +36,7 @@ import org.eclipse.etrice.core.room.StandardOperation; import org.eclipse.etrice.core.room.util.RoomHelpers; import org.eclipse.etrice.expressions.detailcode.DefaultDetailExpressionProvider; import org.eclipse.etrice.expressions.detailcode.IDetailExpressionProvider; -import org.eclipse.etrice.expressions.ui.contentassist.RoomExpressionProposals; +import org.eclipse.etrice.expressions.ui.contentassist.RoomExpressionProposalProvider; import org.eclipse.jface.text.contentassist.ICompletionProposal; import org.eclipse.jface.viewers.StyledString; import org.eclipse.swt.graphics.Image; @@ -225,7 +225,7 @@ public class RoomProposalProvider extends AbstractRoomProposalProvider { } @Inject - RoomExpressionProposals expressionProposals; + RoomExpressionProposalProvider expressionProposalAdapter; @Override public void complete_CC_STRING(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { @@ -240,7 +240,7 @@ public class RoomProposalProvider extends AbstractRoomProposalProvider { int globalOffset = context.getOffset(); if (context.getCurrentNode().getSemanticElement() instanceof DetailCode) { IDetailExpressionProvider exprPovider = new DefaultDetailExpressionProvider(ac); - for(ICompletionProposal proposal : expressionProposals.createProposals(exprPovider, text, localOffset, globalOffset)) + for(ICompletionProposal proposal : expressionProposalAdapter.createProposals(exprPovider, text, localOffset, globalOffset)) acceptor.accept(proposal); } diff --git a/plugins/org.eclipse.etrice.expressions.ui/src/org/eclipse/etrice/expressions/detailcode/DetailExpressionAssistParser.xtend b/plugins/org.eclipse.etrice.expressions.ui/src/org/eclipse/etrice/expressions/detailcode/DetailExpressionAssistParser.xtend index b5cd66ead..c799a9f50 100644 --- a/plugins/org.eclipse.etrice.expressions.ui/src/org/eclipse/etrice/expressions/detailcode/DetailExpressionAssistParser.xtend +++ b/plugins/org.eclipse.etrice.expressions.ui/src/org/eclipse/etrice/expressions/detailcode/DetailExpressionAssistParser.xtend @@ -21,6 +21,9 @@ import org.eclipse.jface.text.rules.IWordDetector import org.eclipse.xtend.lib.annotations.FinalFieldsConstructor import org.eclipse.xtext.util.Strings +/** + * Parser for concrete syntax + */ @FinalFieldsConstructor class DetailExpressionAssistParser { diff --git a/plugins/org.eclipse.etrice.expressions.ui/src/org/eclipse/etrice/expressions/detailcode/IDetailExpressionProvider.xtend b/plugins/org.eclipse.etrice.expressions.ui/src/org/eclipse/etrice/expressions/detailcode/IDetailExpressionProvider.xtend index edefd48b2..d2f139d1f 100644 --- a/plugins/org.eclipse.etrice.expressions.ui/src/org/eclipse/etrice/expressions/detailcode/IDetailExpressionProvider.xtend +++ b/plugins/org.eclipse.etrice.expressions.ui/src/org/eclipse/etrice/expressions/detailcode/IDetailExpressionProvider.xtend @@ -17,7 +17,7 @@ import java.util.List import org.eclipse.xtend.lib.annotations.Accessors /** - * Defines detail expressions = <i>ExpressionFeature ('.' ExpressionFeature)* </i> + * Defines abstract syntax of detail expressions = <i>ExpressionFeature ('.' ExpressionFeature)* </i> */ interface IDetailExpressionProvider { @@ -41,9 +41,9 @@ interface IDetailExpressionProvider { */ @Accessors // @Data static class ExpressionFeature { - val String id - val ExpressionPostfix postfix - Object data + val String id // name + val ExpressionPostfix postfix // follows name + Object data // business object } enum ExpressionPostfix { diff --git a/plugins/org.eclipse.etrice.expressions.ui/src/org/eclipse/etrice/expressions/ui/DetailExpressionUIProvider.xtend b/plugins/org.eclipse.etrice.expressions.ui/src/org/eclipse/etrice/expressions/ui/DetailExpressionUIProvider.xtend index 315001206..242e6f87c 100644 --- a/plugins/org.eclipse.etrice.expressions.ui/src/org/eclipse/etrice/expressions/ui/DetailExpressionUIProvider.xtend +++ b/plugins/org.eclipse.etrice.expressions.ui/src/org/eclipse/etrice/expressions/ui/DetailExpressionUIProvider.xtend @@ -13,6 +13,7 @@ package org.eclipse.etrice.expressions.ui import com.google.common.base.Strings import com.google.inject.Inject +import com.google.inject.Singleton import org.eclipse.core.runtime.Assert import org.eclipse.emf.ecore.EObject import org.eclipse.etrice.core.room.Attribute @@ -30,8 +31,6 @@ import org.eclipse.etrice.expressions.detailcode.RuntimeDetailExpressionProvider import org.eclipse.jface.viewers.ILabelProvider import org.eclipse.swt.graphics.Image import org.eclipse.swt.graphics.Point -import com.google.inject.Singleton -import org.eclipse.swt.graphics.RGB @Singleton class DetailExpressionUIProvider{ @@ -45,7 +44,7 @@ class DetailExpressionUIProvider{ protected RoomHelpers roomHelpers /** - * Return postfix string and its selection (relative start, length) + * Return postfix string and its selection (relative start, length), e.g. <code>[argument]</code> */ def Pair<String, Point> getPostfixReplacement(ExpressionFeature feature) { feature.assertNotNull diff --git a/plugins/org.eclipse.etrice.expressions.ui/src/org/eclipse/etrice/expressions/ui/contentassist/RoomExpressionProposals.xtend b/plugins/org.eclipse.etrice.expressions.ui/src/org/eclipse/etrice/expressions/ui/contentassist/RoomExpressionProposalProvider.xtend index 06aa448a2..fe4d112ff 100644 --- a/plugins/org.eclipse.etrice.expressions.ui/src/org/eclipse/etrice/expressions/ui/contentassist/RoomExpressionProposals.xtend +++ b/plugins/org.eclipse.etrice.expressions.ui/src/org/eclipse/etrice/expressions/ui/contentassist/RoomExpressionProposalProvider.xtend @@ -14,10 +14,8 @@ package org.eclipse.etrice.expressions.ui.contentassist import com.google.inject.Inject import java.util.List -import org.eclipse.emf.ecore.EObject -import org.eclipse.etrice.core.room.ActorClass -import org.eclipse.etrice.expressions.detailcode.DefaultDetailExpressionProvider import org.eclipse.etrice.expressions.detailcode.DetailExpressionAssistParser +import org.eclipse.etrice.expressions.detailcode.IDetailExpressionProvider import org.eclipse.etrice.expressions.detailcode.IDetailExpressionProvider.ExpressionFeature import org.eclipse.etrice.expressions.ui.DetailExpressionUIProvider import org.eclipse.jface.text.Document @@ -27,9 +25,12 @@ import org.eclipse.swt.graphics.Image import org.eclipse.xtext.ui.editor.contentassist.ConfigurableCompletionProposal import org.eclipse.xtext.ui.editor.contentassist.PrefixMatcher import org.eclipse.xtext.util.Strings -import org.eclipse.etrice.expressions.detailcode.IDetailExpressionProvider -class RoomExpressionProposals { +/** + * Create {@link ICompletionProposal}s for current position. + * Uses DetailExpressionAssistParser to parse expressions and DetailExpressionUIProvider for decoration. + */ +class RoomExpressionProposalProvider { @Inject DetailExpressionUIProvider uiExpressionProvider @@ -38,7 +39,9 @@ class RoomExpressionProposals { PrefixMatcher prefixMatcher def List<ICompletionProposal> createProposals(IDetailExpressionProvider exprProvider, String text, int offset, int globalOffset) { - val parser = new DetailExpressionAssistParser(new Document(text), offset, exprProvider) + // parser to use + val parser = new DetailExpressionAssistParser(new Document(text), offset, exprProvider) + // get features that follow last completed feature val availableFeatures = newArrayList => [ if(parser.isContextExpression) { val contextFeature = parser?.resolveLatestCompleted @@ -47,7 +50,7 @@ class RoomExpressionProposals { it += exprProvider.initialFeatures } ] - + // filter by incomplete text prefix val prefix = parser.computeIdentifierPrefix(offset) availableFeatures.filter[id.startsWith(prefix)].map[ feature | val displayString = new StyledString(uiExpressionProvider.getDisplayString(feature)) diff --git a/plugins/org.eclipse.etrice.expressions.ui/src/org/eclipse/etrice/expressions/ui/highlight/RoomExpressionHighlighter.xtend b/plugins/org.eclipse.etrice.expressions.ui/src/org/eclipse/etrice/expressions/ui/highlight/RoomExpressionHighlighter.xtend index 354e5b533..1965084c7 100644 --- a/plugins/org.eclipse.etrice.expressions.ui/src/org/eclipse/etrice/expressions/ui/highlight/RoomExpressionHighlighter.xtend +++ b/plugins/org.eclipse.etrice.expressions.ui/src/org/eclipse/etrice/expressions/ui/highlight/RoomExpressionHighlighter.xtend @@ -16,6 +16,7 @@ import com.google.inject.Inject import java.util.List import org.eclipse.etrice.expressions.ui.DetailExpressionUIProvider import org.eclipse.xtend.lib.annotations.Accessors +import org.eclipse.etrice.expressions.detailcode.IDetailExpressionProvider class RoomExpressionHighlighter { @@ -27,15 +28,11 @@ class RoomExpressionHighlighter { } @Inject - DetailExpressionUIProvider expressionProvider + DetailExpressionUIProvider uiProvider - def List<HighlightResult> getHighlighting(String text, int offset) { + def List<HighlightResult> getHighlighting(IDetailExpressionProvider exprProvider, String text) { val result = newArrayList - - - - - + // TODO result } } diff --git a/plugins/org.eclipse.etrice.ui.behavior.actioneditor/src/org/eclipse/etrice/ui/behavior/actioneditor/sourceviewer/ActionCodeAssistProcessor.java b/plugins/org.eclipse.etrice.ui.behavior.actioneditor/src/org/eclipse/etrice/ui/behavior/actioneditor/sourceviewer/ActionCodeAssistProcessor.java index 3402344ef..40cc7a6be 100644 --- a/plugins/org.eclipse.etrice.ui.behavior.actioneditor/src/org/eclipse/etrice/ui/behavior/actioneditor/sourceviewer/ActionCodeAssistProcessor.java +++ b/plugins/org.eclipse.etrice.ui.behavior.actioneditor/src/org/eclipse/etrice/ui/behavior/actioneditor/sourceviewer/ActionCodeAssistProcessor.java @@ -15,18 +15,12 @@ package org.eclipse.etrice.ui.behavior.actioneditor.sourceviewer; import org.eclipse.etrice.core.ui.RoomUiActivator; import org.eclipse.etrice.expressions.detailcode.IDetailExpressionProvider; -import org.eclipse.etrice.expressions.detailcode.IDetailExpressionProvider.ExpressionFeature; -import org.eclipse.etrice.expressions.ui.contentassist.RoomExpressionProposals; -import org.eclipse.jface.text.BadLocationException; +import org.eclipse.etrice.expressions.ui.contentassist.RoomExpressionProposalProvider; import org.eclipse.jface.text.ITextViewer; -import org.eclipse.jface.text.contentassist.CompletionProposal; import org.eclipse.jface.text.contentassist.ICompletionProposal; import org.eclipse.jface.text.contentassist.IContentAssistProcessor; import org.eclipse.jface.text.contentassist.IContextInformation; import org.eclipse.jface.text.contentassist.IContextInformationValidator; -import org.eclipse.swt.graphics.Point; -import org.eclipse.xtext.util.Strings; -import org.eclipse.xtext.xbase.lib.Pair; import com.google.inject.Inject; @@ -45,7 +39,7 @@ public class ActionCodeAssistProcessor implements IContentAssistProcessor { private DetailExpressionUIProvider exprProvider; @Inject - RoomExpressionProposals proposals; + RoomExpressionProposalProvider proposals; public ActionCodeAssistProcessor(ActionCodeEditorConfiguration configuration) { super(); |