Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJuergen Haug2017-10-02 10:49:51 +0000
committerJuergen Haug2017-10-02 10:49:51 +0000
commit669d480ab8c1a8464b99d5c56df55615f5027e40 (patch)
treec13b07acd6709e53e9d355b6d8d218560d125800 /plugins
parent73e647f4da4df53c629f0a08a29f2a993b332bd9 (diff)
downloadorg.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')
-rw-r--r--plugins/org.eclipse.etrice.core.room.ui/src/org/eclipse/etrice/core/ui/contentassist/RoomProposalProvider.java6
-rw-r--r--plugins/org.eclipse.etrice.expressions.ui/src/org/eclipse/etrice/expressions/detailcode/DetailExpressionAssistParser.xtend3
-rw-r--r--plugins/org.eclipse.etrice.expressions.ui/src/org/eclipse/etrice/expressions/detailcode/IDetailExpressionProvider.xtend8
-rw-r--r--plugins/org.eclipse.etrice.expressions.ui/src/org/eclipse/etrice/expressions/ui/DetailExpressionUIProvider.xtend5
-rw-r--r--plugins/org.eclipse.etrice.expressions.ui/src/org/eclipse/etrice/expressions/ui/contentassist/RoomExpressionProposalProvider.xtend (renamed from plugins/org.eclipse.etrice.expressions.ui/src/org/eclipse/etrice/expressions/ui/contentassist/RoomExpressionProposals.xtend)17
-rw-r--r--plugins/org.eclipse.etrice.expressions.ui/src/org/eclipse/etrice/expressions/ui/highlight/RoomExpressionHighlighter.xtend11
-rw-r--r--plugins/org.eclipse.etrice.ui.behavior.actioneditor/src/org/eclipse/etrice/ui/behavior/actioneditor/sourceviewer/ActionCodeAssistProcessor.java10
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();

Back to the top