Merge remote-tracking branch 'eclipse/xpand2_master' into xpand2_master
Conflicts:
plugins/org.eclipse.xpand/src/org/eclipse/internal/xpand2/codeassist/KeywordProposalComputer.java
diff --git a/features/org.eclipse.xpand.build-feature/buckminster.cspex b/features/org.eclipse.xpand.build-feature/buckminster.cspex
index 45cdec3..9faafab 100644
--- a/features/org.eclipse.xpand.build-feature/buckminster.cspex
+++ b/features/org.eclipse.xpand.build-feature/buckminster.cspex
@@ -53,39 +53,6 @@
<cs:products alias="output" base="${buckminster.output}/zips/" />
</cs:public>
- <cs:private name="install.m2t-xpand-runtime.base_1" actor="ant">
- <cs:actorProperties>
- <cs:property key="buildFile" value="packaging.ant" />
- <cs:property key="targets" value="install.ius" />
- </cs:actorProperties>
- <cs:properties>
- <cs:property key="content.ius" value="org.eclipse.xpand,org.eclipse.xpand.activities" />
- <cs:property key="prerequisite.ius" value="org.eclipse.xtend" />
- </cs:properties>
- <cs:prerequisites>
- <cs:attribute name="site.p2" alias="repository" />
- <cs:attribute name="site.tp" alias="target.platform.repository" />
- </cs:prerequisites>
- <cs:products alias="output" base="${buckminster.temp}/m2t-xpand-runtime.base_1" />
- </cs:private>
-
- <cs:private name="install.m2t-xpand-runtime.base_0" actor="ant">
- <cs:actorProperties>
- <cs:property key="buildFile" value="packaging.ant" />
- <cs:property key="targets" value="install.ius" />
- </cs:actorProperties>
- <cs:properties>
- <cs:property key="content.ius"
- value="org.eclipse.xpand.ui.feature.group" />
- <cs:property key="prerequisite.ius" value="org.eclipse.xtend.ui.feature.group" />
- </cs:properties>
- <cs:prerequisites>
- <cs:attribute name="site.p2" alias="repository" />
- <cs:attribute name="site.tp" alias="target.platform.repository" />
- <cs:attribute name="install.m2t-xpand-runtime.base_1" alias="prerequisites.base" />
- </cs:prerequisites>
- <cs:products alias="output" base="${buckminster.temp}/m2t-xpand-runtime.base_0" />
- </cs:private>
<cs:public name="package.m2t-xpand-runtime" actor="ant">
<cs:actorProperties>
@@ -94,14 +61,12 @@
</cs:actorProperties>
<cs:properties>
<cs:property key="content.ius"
- value="org.eclipse.xpand.ui.feature.group,org.eclipse.xpand.support.feature.group" />
- <cs:property key="prerequisite.ius" value="org.eclipse.xtend.ui.feature.group,org.eclipse.xpand.sdk.feature.group" />
+ value="org.eclipse.xpand.ui.feature.group,org.eclipse.xtend.ui.feature.group,org.eclipse.xtend.typesystem.uml2.feature.group,org.eclipse.xtend.typesystem.xsd.feature.group" />
<cs:property key="package.name" value="m2t-xpand-runtime" />
</cs:properties>
<cs:prerequisites>
<cs:attribute name="site.p2" alias="repository" />
<cs:attribute name="site.tp" alias="target.platform.repository" />
- <cs:attribute name="install.m2t-xpand-runtime.base_0" alias="prerequisites.base" />
</cs:prerequisites>
<cs:products alias="output" base="${buckminster.output}/zips/" />
</cs:public>
@@ -124,23 +89,6 @@
<cs:products alias="output" base="${buckminster.output}/zips/" />
</cs:public>
- <cs:public name="package.m2t-xpand-tests" actor="ant">
- <cs:actorProperties>
- <cs:property key="buildFile" value="packaging.ant" />
- <cs:property key="targets" value="package.ius" />
- </cs:actorProperties>
- <cs:properties>
- <cs:property key="content.ius"
- value="org.eclipse.xpand.tests.feature.group,org.eclipse.xpand.tests.source.feature.group" />
- <cs:property key="prerequisite.ius" value="org.eclipse.xpand.sdk.feature.group" />
- <cs:property key="package.name" value="m2t-xpand-Automated-Tests" />
- </cs:properties>
- <cs:prerequisites>
- <cs:attribute name="site.p2" alias="repository" />
- <cs:attribute name="site.tp" alias="target.platform.repository" />
- </cs:prerequisites>
- <cs:products alias="output" base="${buckminster.output}/zips/" />
- </cs:public>
<!-- <cs:public name="tag" actor="buckminster.tag"> <cs:actorProperties> <cs:property key="tag" value="build_${build.id}"
/> <cs:property key="exclude.0" value="^org\.eclipse\.test$" /> <cs:property key="exclude.1" value="^org\.eclipse\.ant\.optional\.junit$"
/> </cs:actorProperties> </cs:public> -->
diff --git a/features/org.eclipse.xpand.tests-feature/feature.xml b/features/org.eclipse.xpand.tests-feature/feature.xml
index 7773c13..aaa5443 100644
--- a/features/org.eclipse.xpand.tests-feature/feature.xml
+++ b/features/org.eclipse.xpand.tests-feature/feature.xml
@@ -84,4 +84,11 @@
version="0.0.0"
unpack="false"/>
+ <plugin
+ id="org.eclipse.xtend.typesystem.uml2.tests"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
</feature>
diff --git a/plugins/org.eclipse.xpand.incremental/src/org/eclipse/xpand2/incremental/IncrementalGenerationCallback.java b/plugins/org.eclipse.xpand.incremental/src/org/eclipse/xpand2/incremental/IncrementalGenerationCallback.java
index 69cfb82..5e42355 100644
--- a/plugins/org.eclipse.xpand.incremental/src/org/eclipse/xpand2/incremental/IncrementalGenerationCallback.java
+++ b/plugins/org.eclipse.xpand.incremental/src/org/eclipse/xpand2/incremental/IncrementalGenerationCallback.java
@@ -49,19 +49,19 @@
private OutputFile currentOutputFile;
// an array of EObject[2] where target object at index 0 and feature is at index 1
private EObject[][] changedElements;
-
+
public void setDiffModelSlot(String diffModelSlot) {
this.diffModelSlot = diffModelSlot;
}
-
+
public void setOldTraceModelSlot(String oldTraceModelSlot) {
this.oldTraceModelSlot = oldTraceModelSlot;
}
-
+
public void setNewTraceModelSlot(String newTraceModelSlot) {
this.newTraceModelSlot = newTraceModelSlot;
}
-
+
@Override
protected void checkConfigurationInternal(Issues issues) {
super.checkConfigurationInternal(issues);
@@ -73,9 +73,9 @@
}
if (newTraceModelSlot == null) {
issues.addError("No newTraceModelSlot given. Cannot do incremental generation.");
- }
+ }
}
-
+
@Override
public void invokeInternal(WorkflowContext workflowContext, ProgressMonitor monitor, Issues issues) {
diffModel = (Comparison) workflowContext.get(diffModelSlot);
@@ -91,7 +91,7 @@
newTraceModel = TraceFactory.eINSTANCE.createTrace();
workflowContext.set(newTraceModelSlot, newTraceModel);
}
-
+
/**
* Collects the relevant information out of the diff model. This speeds up later processing.
*/
@@ -110,7 +110,7 @@
// TODO: How to handle this?
}
}
-
+
changedElements = elements.toArray(new EObject[2][0]);
}
@@ -127,7 +127,7 @@
private boolean handleFileStatement(FileStatement fileStatement, ExecutionContext ctx) {
String fileName = fileStatement.getTargetFileName().evaluate(ctx).toString();
String outletName = fileStatement.getOutletName();
-
+
// sanity check:
if (fileName == null) {
return true;
@@ -144,7 +144,7 @@
currentOutputFile.setTargetObject((EObject) ctx.getVariable(ExecutionContext.IMPLICIT_VARIABLE).getValue());
newTraceModel.getOutputFiles().add(currentOutputFile);
// yes, we definitely want to generate this file.
- return true;
+ return true;
} else {
// it seems we don't have to generate this file
// copy the trace information over into the new trace model
@@ -158,11 +158,11 @@
return false;
}
}
-
+
/**
* Checks if the changes contained in the diff imply that the given file
* has to be generated.
- *
+ *
* @param oldFileTrace The old trace information for the file to check. Must not be null.
* @return true if the file has to be generated, false if not.
*/
@@ -171,9 +171,9 @@
if (changedElements == null) {
return true;
}
-
+
for (EObject[] diff : changedElements) {
- for (InputElement input : oldFileTrace.getInputElements()) {
+ for (InputElement input : oldFileTrace.getInputElements()) {
if (new EqualityHelper().equals(diff[0], input.getModelElement()) &&
new EqualityHelper().equals(diff[1], input.getFeature())) {
// abort at first change
@@ -181,7 +181,7 @@
}
}
}
-
+
// no change found
return false;
}
@@ -197,7 +197,7 @@
if (oldTraceModel == null) {
return null;
}
-
+
// now check each file in the trace
for (OutputFile f : oldTraceModel.getOutputFiles()) {
if (f.getFileName().equals(fileName) &&
@@ -205,7 +205,7 @@
return f;
}
}
-
+
return null;
}
@@ -218,10 +218,10 @@
if (featureCall.getTarget() != null) {
target = featureCall.getTarget().evaluate(ctx);
}
- if (target == null && ctx.getVariable(ExecutionContext.IMPLICIT_VARIABLE) != null) {
+ if (target == null && ctx.getVariable(ExecutionContext.IMPLICIT_VARIABLE) != null) {
target = ctx.getVariable(ExecutionContext.IMPLICIT_VARIABLE).getValue();
}
-
+
String featureName = currentFeature.getNameString(ctx);
if (target instanceof EObject) {
EObject targetObject = (EObject) target;
@@ -235,7 +235,7 @@
}
}
}
-
+
return true;
}
@@ -245,7 +245,7 @@
addInputElement(targetObject, feature);
}
}
-
+
private void addInputElement(EObject target, EStructuralFeature feature) {
// check for duplicates first
for (InputElement e : currentOutputFile.getInputElements()) {
diff --git a/plugins/org.eclipse.xpand/.settings/.api_filters b/plugins/org.eclipse.xpand/.settings/.api_filters
index 85a762c..a57cf2c 100644
--- a/plugins/org.eclipse.xpand/.settings/.api_filters
+++ b/plugins/org.eclipse.xpand/.settings/.api_filters
@@ -1,2723 +1,3 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<component id="org.eclipse.xpand" version="2">
- <resource path="src/org/eclipse/internal/xpand2/ast/AbstractXpandVisitor.java" type="org.eclipse.internal.xpand2.ast.AbstractXpandVisitor">
- <filter id="338792546">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.ast.AbstractXpandVisitor"/>
- <message_argument value="visitChild(SyntaxElement)"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="visitChild(ISyntaxElement)"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="visitExtensionImportDeclaration(ExtensionImportDeclaration)"/>
- </message_arguments>
- </filter>
- </resource>
- <resource path="src/org/eclipse/internal/xpand2/parser/XpandLexer.java" type="org.eclipse.internal.xpand2.parser.XpandLexer">
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandLexer"/>
- <message_argument value="dfa16"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="dfa15"/>
- </message_arguments>
- </filter>
- </resource>
- <resource path="src/org/eclipse/internal/xpand2/parser/XpandParser.java">
- <filter id="0"/>
- </resource>
- <resource path="src/org/eclipse/internal/xpand2/parser/XpandParser.java" type="org.eclipse.internal.xpand2.parser.XpandParser">
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_100_in_collectionType2658"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_20_in_anImport155"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_21_in_anExtensionImport184"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_22_in_around215"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_23_in_around225"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_23_in_castedExpression1316"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_23_in_collectionExpression2368"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_23_in_collectionExpression2437"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_23_in_define365"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_23_in_expandStatement682"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_23_in_featureCall2145"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_23_in_paranthesizedExpression2077"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_23_in_switchExpression1475"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_23_in_synpred1_Xpand1305"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_24_in_around233"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_24_in_declaredParameterList2488"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_24_in_parameterList2551"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_25_in_around237"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_25_in_around246"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_25_in_pointcut302"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_25_in_pointcut317"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_26_in_around250"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_26_in_castedExpression1322"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_26_in_collectionExpression2374"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_26_in_collectionExpression2452"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_26_in_define371"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_26_in_expandStatement688"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_26_in_featureCall2154"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_26_in_paranthesizedExpression2083"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_26_in_switchExpression1483"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_26_in_synpred1_Xpand1309"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_27_in_around254"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_27_in_define375"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_27_in_expandStatement694"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_28_in_around271"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_29_in_pointcut329"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_29_in_simpleType2694"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_30_in_define358"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_31_in_define393"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_32_in_text572"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_32_in_unaryExpression1893"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_33_in_errorStatement646"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_34_in_expandStatement675"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_35_in_expandStatement708"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_35_in_foreachStatement868"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_36_in_expandStatement715"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_36_in_foreachStatement890"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_37_in_expandStatement731"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_38_in_fileStatement819"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_39_in_fileStatement840"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_40_in_foreachStatement874"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_40_in_letStatement1090"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_41_in_foreachStatement881"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_42_in_foreachStatement909"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_43_in_ifStatement940"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_44_in_ifStatement985"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_45_in_elseIfStatement1008"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_46_in_elseStatement1048"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_47_in_letStatement1084"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_48_in_letStatement1107"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_49_in_protectStatement1135"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_50_in_protectStatement1140"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_51_in_protectStatement1149"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_52_in_protectStatement1166"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_53_in_protectStatement1175"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_54_in_protectStatement1188"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_55_in_letExpression1247"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_56_in_letExpression1253"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_57_in_ifExpression1413"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_57_in_letExpression1259"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_57_in_switchExpression1510"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_57_in_switchExpression1535"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_58_in_chainExpression1369"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_59_in_ifExpression1407"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_60_in_ifExpression1425"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_61_in_ifExpression1431"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_62_in_ifExpression1438"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_63_in_switchExpression1472"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_64_in_listLiteral2201"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_64_in_switchExpression1490"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_65_in_switchExpression1503"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_66_in_switchExpression1533"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_67_in_listLiteral2210"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_67_in_switchExpression1546"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_68_in_orExpression1594"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_69_in_andExpression1637"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_70_in_impliesExpression1679"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_79_in_unaryExpression1881"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_80_in_infixExpression1930"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_80_in_numberLiteral2331"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_81_in_globalVarExpression2112"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_82_in_constructorCall2235"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_85_in_nullLiteral2291"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_86_in_collectionExpression2364"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_95_in_collectionExpression2444"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_99_in_collectionType2650"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_COMMENT_in_template117"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_COMMENT_in_template89"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_COMMENT_in_textSequence539"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_Identifier_in_identifier2729"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_IntLiteral_in_numberLiteral2318"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_IntLiteral_in_numberLiteral2327"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_IntLiteral_in_numberLiteral2335"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_StringLiteral_in_primaryExpression1969"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_TEXT_in_template114"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_TEXT_in_template119"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_TEXT_in_template62"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_TEXT_in_template86"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_TEXT_in_template91"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_TEXT_in_text578"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_additiveExpression_in_relationalExpression1715"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_additiveExpression_in_relationalExpression1749"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_anExtensionImport_in_template81"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_anImport_in_template72"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_andExpression_in_orExpression1587"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_andExpression_in_orExpression1598"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_around_in_template110"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_booleanLiteral_in_primaryExpression1990"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_castedExpression_in_letExpression1257"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_castedExpression_in_letExpression1276"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_castedExpression_in_synpred1_Xpand1311"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_chainExpression_in_castedExpression1326"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_chainExpression_in_castedExpression1335"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_collectionExpression_in_featureCall2175"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_collectionType_in_type2589"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_constructorCall_in_primaryExpression2030"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_declaredParameterList_in_around230"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_declaredParameterList_in_define369"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_declaredParameter_in_declaredParameterList2484"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_declaredParameter_in_declaredParameterList2492"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_define_in_template103"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_definitionName_in_expandStatement679"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_elseIfStatement_in_ifStatement962"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_elseStatement_in_ifStatement973"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_errorStatement_in_simpleStatement605"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_expandStatement_in_simpleStatement613"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_expressionStmt_in_simpleStatement621"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_expression_in_collectionExpression2450"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_expression_in_elseIfStatement1012"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_expression_in_errorStatement650"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_expression_in_expandStatement698"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_expression_in_expandStatement712"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_expression_in_expandStatement719"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_expression_in_expressionStmt794"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_expression_in_fileStatement823"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_expression_in_foreachStatement872"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_expression_in_foreachStatement894"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_expression_in_ifExpression1442"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_expression_in_ifStatement944"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_expression_in_letExpression1263"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_expression_in_letStatement1088"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_expression_in_parameterList2546"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_expression_in_parameterList2555"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_expression_in_paranthesizedExpression2081"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_expression_in_protectStatement1144"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_expression_in_protectStatement1153"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_expression_in_protectStatement1170"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_featureCall_in_infixExpression1934"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_featureCall_in_primaryExpression1980"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_fileStatement_in_statement481"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_foreachStatement_in_statement489"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_globalVarExpression_in_primaryExpression2040"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_identifier_in_collectionExpression2442"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_identifier_in_declaredParameter2524"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_identifier_in_define362"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_identifier_in_featureCall2143"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_identifier_in_fileStatement828"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_identifier_in_foreachStatement878"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_identifier_in_foreachStatement885"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_identifier_in_globalVarExpression2116"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_identifier_in_letExpression1251"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_identifier_in_letStatement1094"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_identifier_in_pointcut308"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_identifier_in_pointcut323"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_identifier_in_simpleType2686"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_identifier_in_simpleType2698"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_ifExpression_in_chainExpression1363"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_ifStatement_in_statement497"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_impliesExpression_in_andExpression1630"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_impliesExpression_in_andExpression1641"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_infixExpression_in_unaryExpression1873"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_infixExpression_in_unaryExpression1885"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_infixExpression_in_unaryExpression1897"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_letExpression_in_expression1219"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_letStatement_in_statement505"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_listLiteral_in_primaryExpression2020"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_multiplicativeExpression_in_additiveExpression1778"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_multiplicativeExpression_in_additiveExpression1797"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_nullLiteral_in_primaryExpression2010"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_numberLiteral_in_primaryExpression2000"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_orExpression_in_switchExpression1481"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_orExpression_in_switchExpression1507"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_orExpression_in_switchExpression1515"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_orExpression_in_switchExpression1541"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_orExpression_in_switchExpression1558"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_parameterList_in_expandStatement686"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_parameterList_in_featureCall2150"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_parameterList_in_listLiteral2206"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_paranthesizedExpression_in_primaryExpression2050"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_pointcut_in_around219"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_primaryExpression_in_infixExpression1924"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_protectStatement_in_statement513"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_relationalExpression_in_impliesExpression1672"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_relationalExpression_in_impliesExpression1683"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_sequence_in_around266"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_sequence_in_define387"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_sequence_in_elseIfStatement1018"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_sequence_in_elseStatement1054"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_sequence_in_fileStatement836"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_sequence_in_foreachStatement904"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_sequence_in_ifStatement950"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_sequence_in_letStatement1102"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_sequence_in_protectStatement1184"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_set_in_additiveExpression1788"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_set_in_collectionExpression2387"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_set_in_collectionType2629"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_set_in_multiplicativeExpression1834"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_set_in_relationalExpression1723"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_simpleStatement_in_statement473"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_simpleType_in_anExtensionImport188"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_simpleType_in_anImport159"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_simpleType_in_collectionType2654"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_simpleType_in_constructorCall2239"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_simpleType_in_definitionName767"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_simpleType_in_type2599"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_statement_in_sequence426"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_switchExpression_in_ifExpression1403"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_switchExpression_in_ifExpression1411"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_switchExpression_in_ifExpression1417"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_switchExpression_in_ifExpression1429"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_switchExpression_in_ifExpression1435"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_textSequence_in_sequence417"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_textSequence_in_sequence435"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_text_in_textSequence532"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_text_in_textSequence543"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_type_in_around258"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_type_in_castedExpression1320"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_type_in_collectionExpression2372"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_type_in_declaredParameter2520"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_type_in_define379"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_type_in_featureCall2164"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_type_in_synpred1_Xpand1307"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_unaryExpression_in_multiplicativeExpression1826"/>
- </message_arguments>
- </filter>
- <filter id="338755678">
- <message_arguments>
- <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
- <message_argument value="FOLLOW_unaryExpression_in_multiplicativeExpression1844"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_100_in_collectionType2668"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_20_in_anImport165"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_21_in_anExtensionImport194"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_22_in_around225"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_23_in_around235"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_23_in_castedExpression1326"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_23_in_collectionExpression2378"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_23_in_collectionExpression2447"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_23_in_define375"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_23_in_expandStatement692"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_23_in_featureCall2155"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_23_in_paranthesizedExpression2087"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_23_in_switchExpression1485"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_23_in_synpred1_Xpand1315"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_24_in_around243"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_24_in_declaredParameterList2498"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_24_in_parameterList2561"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_25_in_around247"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_25_in_around256"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_25_in_pointcut312"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_25_in_pointcut327"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_26_in_around260"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_26_in_castedExpression1332"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_26_in_collectionExpression2384"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_26_in_collectionExpression2462"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_26_in_define381"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_26_in_expandStatement698"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_26_in_featureCall2164"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_26_in_paranthesizedExpression2093"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_26_in_switchExpression1493"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_26_in_synpred1_Xpand1319"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_27_in_around264"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_27_in_define385"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_27_in_expandStatement704"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_28_in_around281"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_29_in_pointcut339"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_29_in_simpleType2704"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_30_in_define368"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_31_in_define403"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_32_in_text582"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_32_in_unaryExpression1903"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_33_in_errorStatement656"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_34_in_expandStatement685"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_35_in_expandStatement718"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_35_in_foreachStatement878"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_36_in_expandStatement725"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_36_in_foreachStatement900"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_37_in_expandStatement741"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_38_in_fileStatement829"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_39_in_fileStatement850"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_40_in_foreachStatement884"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_40_in_letStatement1100"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_41_in_foreachStatement891"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_42_in_foreachStatement919"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_43_in_ifStatement950"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_44_in_ifStatement995"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_45_in_elseIfStatement1018"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_46_in_elseStatement1058"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_47_in_letStatement1094"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_48_in_letStatement1117"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_49_in_protectStatement1145"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_50_in_protectStatement1150"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_51_in_protectStatement1159"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_52_in_protectStatement1176"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_53_in_protectStatement1185"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_54_in_protectStatement1198"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_55_in_letExpression1257"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_56_in_letExpression1263"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_57_in_ifExpression1423"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_57_in_letExpression1269"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_57_in_switchExpression1520"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_57_in_switchExpression1545"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_58_in_chainExpression1379"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_59_in_ifExpression1417"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_60_in_ifExpression1435"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_61_in_ifExpression1441"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_62_in_ifExpression1448"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_63_in_switchExpression1482"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_64_in_listLiteral2211"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_64_in_switchExpression1500"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_65_in_switchExpression1513"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_66_in_switchExpression1543"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_67_in_listLiteral2220"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_67_in_switchExpression1556"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_68_in_orExpression1604"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_69_in_andExpression1647"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_70_in_impliesExpression1689"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_79_in_unaryExpression1891"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_80_in_infixExpression1940"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_80_in_numberLiteral2341"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_81_in_globalVarExpression2122"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_82_in_constructorCall2245"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_85_in_nullLiteral2301"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_86_in_collectionExpression2374"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_95_in_collectionExpression2454"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_99_in_collectionType2660"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_COMMENT_in_template125"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_COMMENT_in_template93"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_COMMENT_in_textSequence549"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_Identifier_in_identifier2739"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_IntLiteral_in_numberLiteral2328"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_IntLiteral_in_numberLiteral2337"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_IntLiteral_in_numberLiteral2345"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_StringLiteral_in_primaryExpression1979"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_TEXT_in_text588"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_additiveExpression_in_relationalExpression1725"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_additiveExpression_in_relationalExpression1759"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_anExtensionImport_in_template83"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_anImport_in_template74"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_andExpression_in_orExpression1597"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_andExpression_in_orExpression1608"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_around_in_template116"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_booleanLiteral_in_primaryExpression2000"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_castedExpression_in_letExpression1267"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_castedExpression_in_letExpression1286"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_castedExpression_in_synpred1_Xpand1321"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_chainExpression_in_castedExpression1336"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_chainExpression_in_castedExpression1345"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_collectionExpression_in_featureCall2185"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_collectionType_in_type2599"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_constructorCall_in_primaryExpression2040"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_declaredParameterList_in_around240"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_declaredParameterList_in_define379"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_declaredParameter_in_declaredParameterList2494"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_declaredParameter_in_declaredParameterList2502"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_define_in_template109"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_definitionName_in_expandStatement689"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_elseIfStatement_in_ifStatement972"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_elseStatement_in_ifStatement983"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_errorStatement_in_simpleStatement615"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_expandStatement_in_simpleStatement623"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_expressionStmt_in_simpleStatement631"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_expression_in_collectionExpression2460"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_expression_in_elseIfStatement1022"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_expression_in_errorStatement660"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_expression_in_expandStatement708"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_expression_in_expandStatement722"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_expression_in_expandStatement729"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_expression_in_expressionStmt804"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_expression_in_fileStatement833"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_expression_in_foreachStatement882"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_expression_in_foreachStatement904"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_expression_in_ifExpression1452"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_expression_in_ifStatement954"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_expression_in_letExpression1273"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_expression_in_letStatement1098"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_expression_in_parameterList2556"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_expression_in_parameterList2565"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_expression_in_paranthesizedExpression2091"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_expression_in_protectStatement1154"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_expression_in_protectStatement1163"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_expression_in_protectStatement1180"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_featureCall_in_infixExpression1944"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_featureCall_in_primaryExpression1990"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_fileStatement_in_statement491"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_foreachStatement_in_statement499"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_globalVarExpression_in_primaryExpression2050"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_identifier_in_collectionExpression2452"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_identifier_in_declaredParameter2534"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_identifier_in_define372"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_identifier_in_featureCall2153"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_identifier_in_fileStatement838"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_identifier_in_foreachStatement888"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_identifier_in_foreachStatement895"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_identifier_in_globalVarExpression2126"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_identifier_in_letExpression1261"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_identifier_in_letStatement1104"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_identifier_in_pointcut318"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_identifier_in_pointcut333"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_identifier_in_simpleType2696"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_identifier_in_simpleType2708"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_ifExpression_in_chainExpression1383"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_ifStatement_in_statement507"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_impliesExpression_in_andExpression1640"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_impliesExpression_in_andExpression1651"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_infixExpression_in_unaryExpression1883"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_infixExpression_in_unaryExpression1895"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_infixExpression_in_unaryExpression1907"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_letExpression_in_expression1229"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_letStatement_in_statement515"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_listLiteral_in_primaryExpression2030"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_multiplicativeExpression_in_additiveExpression1788"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_multiplicativeExpression_in_additiveExpression1807"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_nullLiteral_in_primaryExpression2020"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_numberLiteral_in_primaryExpression2010"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_orExpression_in_switchExpression1491"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_orExpression_in_switchExpression1517"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_orExpression_in_switchExpression1525"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_orExpression_in_switchExpression1551"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_orExpression_in_switchExpression1568"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_parameterList_in_expandStatement696"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_parameterList_in_featureCall2160"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_parameterList_in_listLiteral2216"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_paranthesizedExpression_in_primaryExpression2060"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_pointcut_in_around229"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_primaryExpression_in_infixExpression1934"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_protectStatement_in_statement523"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_relationalExpression_in_impliesExpression1682"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_relationalExpression_in_impliesExpression1693"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_sequence_in_around276"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_sequence_in_define397"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_sequence_in_elseIfStatement1028"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_sequence_in_elseStatement1064"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_sequence_in_fileStatement846"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_sequence_in_foreachStatement914"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_sequence_in_ifStatement960"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_sequence_in_letStatement1112"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_sequence_in_protectStatement1194"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_set_in_additiveExpression1798"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_set_in_collectionExpression2397"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_set_in_collectionType2639"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_set_in_multiplicativeExpression1844"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_set_in_relationalExpression1733"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_simpleStatement_in_statement483"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_simpleType_in_anExtensionImport198"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_simpleType_in_anImport169"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_simpleType_in_collectionType2664"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_simpleType_in_constructorCall2249"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_simpleType_in_definitionName777"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_simpleType_in_type2609"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_statement_in_sequence436"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_switchExpression_in_ifExpression1413"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_switchExpression_in_ifExpression1421"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_switchExpression_in_ifExpression1427"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_switchExpression_in_ifExpression1439"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_switchExpression_in_ifExpression1445"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_textSequence_in_sequence427"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_textSequence_in_sequence445"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_text_in_template122"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_text_in_template129"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_text_in_template64"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_text_in_template90"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_text_in_template97"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_text_in_textSequence542"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_text_in_textSequence553"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_type_in_around268"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_type_in_castedExpression1330"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_type_in_collectionExpression2382"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_type_in_declaredParameter2530"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_type_in_define389"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_type_in_featureCall2174"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_type_in_synpred1_Xpand1317"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_unaryExpression_in_multiplicativeExpression1836"/>
- </message_arguments>
- </filter>
- <filter id="1143996420">
- <message_arguments>
- <message_argument value="FOLLOW_unaryExpression_in_multiplicativeExpression1854"/>
- </message_arguments>
- </filter>
- </resource>
</component>
diff --git a/plugins/org.eclipse.xpand/src/org/eclipse/internal/xpand2/codeassist/KeywordProposalComputer.java b/plugins/org.eclipse.xpand/src/org/eclipse/internal/xpand2/codeassist/KeywordProposalComputer.java
index f93cd7c..2f664e4 100644
--- a/plugins/org.eclipse.xpand/src/org/eclipse/internal/xpand2/codeassist/KeywordProposalComputer.java
+++ b/plugins/org.eclipse.xpand/src/org/eclipse/internal/xpand2/codeassist/KeywordProposalComputer.java
@@ -22,7 +22,7 @@
import org.eclipse.xtend.expression.ExecutionContext;
/**
- * Responsible for proposals of Xpand keywords.
+ * Responsible for proposals of Xpand keywords.
*/
public class KeywordProposalComputer implements ProposalComputer {
@@ -67,9 +67,8 @@
private String getInsertionSuffix (final String keyword) {
if (keyword.startsWith("END") || XpandTokens.REM.equals(keyword)) {
return XpandTokens.RT;
- } else {
- return " ";
}
+ return " ";
}
}
diff --git a/plugins/org.eclipse.xpand/src/org/eclipse/xpand2/output/BlankLineSkippingOutput.java b/plugins/org.eclipse.xpand/src/org/eclipse/xpand2/output/BlankLineSkippingOutput.java
index 2d6dc12..475a1e5 100644
--- a/plugins/org.eclipse.xpand/src/org/eclipse/xpand2/output/BlankLineSkippingOutput.java
+++ b/plugins/org.eclipse.xpand/src/org/eclipse/xpand2/output/BlankLineSkippingOutput.java
@@ -11,9 +11,11 @@
*******************************************************************************/
package org.eclipse.xpand2.output;
+import java.io.IOException;
+
/**
* This output implementation avoids writing of unnecessary blank lines.
- *
+ *
* @author Karsten Thoms
*/
public class BlankLineSkippingOutput extends OutputImpl {
@@ -22,10 +24,14 @@
@Override
public void write(final String bytes) {
if (current() != null && bytes != null && bytes.length() > 0) {
- StringBuffer outputBuffer = (StringBuffer) current().getBuffer();
+ CharSequence outputBuffer = current().getBuffer();
int idxNL = bytes.indexOf(NEWLINE);
if (idxNL < 0) {
- outputBuffer.append(bytes);
+ try {
+ ((Appendable)outputBuffer).append(bytes);
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
return;
}
@@ -40,10 +46,15 @@
s = s.substring(i);
idxNL = s.indexOf(NEWLINE);
}
- outputBuffer.append((idxNL < s.length() - 1) ? s.substring(0, idxNL + 1) : s);
+ try {
+ ((Appendable)outputBuffer).append((idxNL < s.length() - 1) ? s.substring(0, idxNL + 1) : s);
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
if (idxNL + 1 < s.length()) {
write(s.substring(idxNL + 1));
}
}
}
+
}
diff --git a/plugins/org.eclipse.xpand/src/org/eclipse/xpand2/output/FileHandleImpl.java b/plugins/org.eclipse.xpand/src/org/eclipse/xpand2/output/FileHandleImpl.java
index 3dfc321..e270e4e 100644
--- a/plugins/org.eclipse.xpand/src/org/eclipse/xpand2/output/FileHandleImpl.java
+++ b/plugins/org.eclipse.xpand/src/org/eclipse/xpand2/output/FileHandleImpl.java
@@ -54,20 +54,19 @@
public CharSequence getBuffer() {
if (!namedBuffers.isEmpty()) {
return currentNamedBuffer!=null ? currentNamedBuffer : currentUnnamedBuffer;
- } else {
- if (buffers.size()>1) {
- // no insertion point used anymore, but multiple buffers available
- // => compact to one buffer again
- StringBuilder compacted = new StringBuilder();
- for (CharSequence cs : buffers) {
- compacted.append(cs);
- }
- buffers.clear();
- buffers.add(compacted);
- currentUnnamedBuffer = compacted;
- }
- return buffers.get(0);
}
+ if (buffers.size()>1) {
+ // no insertion point used anymore, but multiple buffers available
+ // => compact to one buffer again
+ StringBuilder compacted = new StringBuilder();
+ for (CharSequence cs : buffers) {
+ compacted.append(cs);
+ }
+ buffers.clear();
+ buffers.add(compacted);
+ currentUnnamedBuffer = compacted;
+ }
+ return buffers.get(0);
}
public void setBuffer(final CharSequence newBuffer) {
@@ -112,7 +111,6 @@
return outlet.getFileEncoding();
}
- @SuppressWarnings("deprecation")
public void writeAndClose() {
try {
if (!isOverwrite() && targetFile.exists()) {
diff --git a/plugins/org.eclipse.xpand/src/org/eclipse/xpand2/output/FileInfoLogger.java b/plugins/org.eclipse.xpand/src/org/eclipse/xpand2/output/FileInfoLogger.java
index 7fa2ffc..cea0a26 100644
--- a/plugins/org.eclipse.xpand/src/org/eclipse/xpand2/output/FileInfoLogger.java
+++ b/plugins/org.eclipse.xpand/src/org/eclipse/xpand2/output/FileInfoLogger.java
@@ -26,7 +26,7 @@
* {2} : LOC current file
* {3} : LOC total
* {4} : Number of files written by this postprocessor
- *
+ *
* Log Level
* 0 = Trace
* 1 = Debug
@@ -40,6 +40,7 @@
private int logLevel = 2;
public void afterClose(FileHandle handle) {
+ // nothing to do here
}
public void beforeWriteAndClose(FileHandle handle) {
@@ -53,21 +54,21 @@
}
loc += lines;
}
-
+
files++;
switch (logLevel) {
- case 2:
+ case 2:
if (LOG.isInfoEnabled()) {
LOG.info(getLogMessage(handle, lines));
}
break;
- case 1:
+ case 1:
if (LOG.isDebugEnabled()) {
LOG.debug(getLogMessage(handle, lines));
}
break;
- case 0:
+ case 0:
if (LOG.isTraceEnabled()) {
LOG.trace(getLogMessage(handle, lines));
}
diff --git a/plugins/org.eclipse.xpand/src/org/eclipse/xpand2/output/OutputImpl.java b/plugins/org.eclipse.xpand/src/org/eclipse/xpand2/output/OutputImpl.java
index 44b56ee..9ac5df4 100644
--- a/plugins/org.eclipse.xpand/src/org/eclipse/xpand2/output/OutputImpl.java
+++ b/plugins/org.eclipse.xpand/src/org/eclipse/xpand2/output/OutputImpl.java
@@ -22,7 +22,7 @@
/**
* *
- *
+ *
* @author Sven Efftinge (http://www.efftinge.de) *
*/
public class OutputImpl implements Output, InsertionPointSupport {
@@ -43,9 +43,7 @@
if (outlet.getName() == null) {
throw new IllegalArgumentException("A default outlet is already registered!");
}
- else {
- throw new IllegalArgumentException("An outlet with name " + outlet.getName() + " is already registered!");
- }
+ throw new IllegalArgumentException("An outlet with name " + outlet.getName() + " is already registered!");
}
this.outlets.put(outlet.getName(), outlet);
}
diff --git a/plugins/org.eclipse.xpand/src/org/eclipse/xpand2/output/XmlBeautifier.java b/plugins/org.eclipse.xpand/src/org/eclipse/xpand2/output/XmlBeautifier.java
deleted file mode 100644
index 5be7224..0000000
--- a/plugins/org.eclipse.xpand/src/org/eclipse/xpand2/output/XmlBeautifier.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 committers of openArchitectureWare and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * committers of openArchitectureWare - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.xpand2.output;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/**
- *
- *
- * @author Sven Efftinge (http://www.efftinge.de)
- * @author Bernd Kolb
- * @deprecated Use the org.eclipse.xtend.typesystem.xsd.XMLBeautifier from XSD Feature instead.
- */
-@Deprecated
-public class XmlBeautifier implements PostProcessor {
-
- private final Log log = LogFactory.getLog(getClass());
-
- public void beforeWriteAndClose(final FileHandle info) {
- log.error("Use the XmlBeautifier from XSD Feature: org.eclipse.xtend.typesystem.xsd.XMLBeautifier instead.");
- }
-
- public void afterClose(final FileHandle impl) {
- }
-
-}
diff --git a/plugins/org.eclipse.xtend.shared.ui/.settings/.api_filters b/plugins/org.eclipse.xtend.shared.ui/.settings/.api_filters
deleted file mode 100644
index 869f0b5..0000000
--- a/plugins/org.eclipse.xtend.shared.ui/.settings/.api_filters
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<component id="org.eclipse.xtend.shared.ui" version="2">
- <resource path="META-INF/MANIFEST.MF">
- <filter id="924844039">
- <message_arguments>
- <message_argument value="1.4.0"/>
- <message_argument value="1.4.0"/>
- </message_arguments>
- </filter>
- </resource>
-</component>
diff --git a/plugins/org.eclipse.xtend.shared.ui/src/org/eclipse/xtend/shared/ui/core/internal/XtendXpandProject.java b/plugins/org.eclipse.xtend.shared.ui/src/org/eclipse/xtend/shared/ui/core/internal/XtendXpandProject.java
index 016d12e..45ef02f 100644
--- a/plugins/org.eclipse.xtend.shared.ui/src/org/eclipse/xtend/shared/ui/core/internal/XtendXpandProject.java
+++ b/plugins/org.eclipse.xtend.shared.ui/src/org/eclipse/xtend/shared/ui/core/internal/XtendXpandProject.java
@@ -489,13 +489,6 @@
}
/**
- * {@inheritDoc}
- */
- public IElementChangedListener getElementChangeListener() {
- return changeListener;
- }
-
- /**
* Returns an object which is an instance of the given class associated with
* this object. Returns <code>null</code> if no such object can be found.
* <p>
diff --git a/plugins/org.eclipse.xtend.typesystem.emf.ui/.settings/.api_filters b/plugins/org.eclipse.xtend.typesystem.emf.ui/.settings/.api_filters
index 71cdcc3..ce28b6c 100644
--- a/plugins/org.eclipse.xtend.typesystem.emf.ui/.settings/.api_filters
+++ b/plugins/org.eclipse.xtend.typesystem.emf.ui/.settings/.api_filters
@@ -1,13 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<component id="org.eclipse.xtend.typesystem.emf.ui" version="2">
- <resource path="META-INF/MANIFEST.MF">
- <filter id="924844039">
- <message_arguments>
- <message_argument value="1.4.0"/>
- <message_argument value="1.4.0"/>
- </message_arguments>
- </filter>
- </resource>
<resource path="src/org/eclipse/xtend/typesystem/emf/ui/Messages.java" type="org.eclipse.xtend.typesystem.emf.ui.Messages">
<filter id="1143996420">
<message_arguments>
diff --git a/plugins/org.eclipse.xtend.typesystem.emf/src/org/eclipse/xtend/typesystem/emf/EClassType.java b/plugins/org.eclipse.xtend.typesystem.emf/src/org/eclipse/xtend/typesystem/emf/EClassType.java
index 5418ad7..8442fd3 100644
--- a/plugins/org.eclipse.xtend.typesystem.emf/src/org/eclipse/xtend/typesystem/emf/EClassType.java
+++ b/plugins/org.eclipse.xtend.typesystem.emf/src/org/eclipse/xtend/typesystem/emf/EClassType.java
@@ -134,6 +134,22 @@
}
});
}
+ // isSet operation for unsettable features
+ if (feature.isUnsettable()) {
+ result.add(new OperationImpl(this, "isSet" + StringHelper.firstUpper(feature.getName()), getTypeSystem().getBooleanType()) {
+ @Override
+ protected Object evaluateInternal(final Object target, final Object[] params) {
+ return ((EObject) target).eIsSet(feature);
+ }
+ });
+ result.add(new OperationImpl(this, "unset" + StringHelper.firstUpper(feature.getName()), getTypeSystem().getVoidType()) {
+ @Override
+ protected Object evaluateInternal(final Object target, final Object[] params) {
+ ((EObject) target).eUnset(feature);
+ return null;
+ }
+ });
+ }
}
}
// Operations
diff --git a/plugins/org.eclipse.xtend.typesystem.xsd.ui/src/org/eclipse/xtend/typesystem/xsd/ui/XSDBuilder.java b/plugins/org.eclipse.xtend.typesystem.xsd.ui/src/org/eclipse/xtend/typesystem/xsd/ui/XSDBuilder.java
index 6910b5c..72073b5 100644
--- a/plugins/org.eclipse.xtend.typesystem.xsd.ui/src/org/eclipse/xtend/typesystem/xsd/ui/XSDBuilder.java
+++ b/plugins/org.eclipse.xtend.typesystem.xsd.ui/src/org/eclipse/xtend/typesystem/xsd/ui/XSDBuilder.java
@@ -65,7 +65,6 @@
// private Log log = XSDLog.getLog(getClass());
@Override
- @SuppressWarnings("unchecked")
protected IProject[] build(int kind, Map args, IProgressMonitor monitor)
throws CoreException {
XSDManager man = XSDToolsPlugin.getDefault().getXSDStore()
diff --git a/plugins/org.eclipse.xtend.ui/src/org/eclipse/xtend/ui/editor/codeassist/XtendContentAssistProcessor.java b/plugins/org.eclipse.xtend.ui/src/org/eclipse/xtend/ui/editor/codeassist/XtendContentAssistProcessor.java
index 0527a41..773d7c2 100644
--- a/plugins/org.eclipse.xtend.ui/src/org/eclipse/xtend/ui/editor/codeassist/XtendContentAssistProcessor.java
+++ b/plugins/org.eclipse.xtend.ui/src/org/eclipse/xtend/ui/editor/codeassist/XtendContentAssistProcessor.java
@@ -15,7 +15,6 @@
import java.util.HashSet;
import java.util.List;
import java.util.Set;
-import java.util.regex.Pattern;
import org.eclipse.internal.xpand2.codeassist.NamespaceProposalComputer;
import org.eclipse.internal.xtend.expression.codeassist.ExpressionProposalComputer;
@@ -42,58 +41,62 @@
/**
* @author Sven Efftinge (http://www.efftinge.de)
*/
-public class XtendContentAssistProcessor extends AbstractExtXptContentAssistProcessor {
- private final static Pattern PATTERN_COMMENT_SINGLELINE = Pattern.compile("//.*$", Pattern.MULTILINE);
- // see http://ostermiller.org/findcomment.html
- private final static Pattern PATTERN_COMMENT_MULTILINE = Pattern.compile("/\\*(?:.|[\\n\\r])*?\\*/");
-
-
+public class XtendContentAssistProcessor extends
+ AbstractExtXptContentAssistProcessor {
public XtendContentAssistProcessor(final IEditorPart editor) {
super(editor);
}
@SuppressWarnings("unchecked")
@Override
- protected ICompletionProposal[] internalComputeCompletionProposals(final ITextViewer viewer,
- final int documentOffset) {
+ protected ICompletionProposal[] internalComputeCompletionProposals(
+ final ITextViewer viewer, final int documentOffset) {
String part = viewer.getDocument().get().substring(0, documentOffset);
ExecutionContext ctx = Activator.getExecutionContext(getJavaProject());
- final IXtendXpandResource res = Activator.getExtXptModelManager().findExtXptResource(getFile());
- List<Extension> extensions = (res instanceof IXtendResource) ? ((IXtendResource) res).getExtensions() : Collections.<Extension>emptyList();
+ final IXtendXpandResource res = Activator.getExtXptModelManager()
+ .findExtXptResource(getFile());
+ List<Extension> extensions = (res instanceof IXtendResource) ? ((IXtendResource) res)
+ .getExtensions() : Collections.<Extension> emptyList();
if (FastAnalyzer.isInsideComment(part)) {
- return new ICompletionProposal[0]; // early return; no proposals inside comments
+ return new ICompletionProposal[0]; // early return; no proposals
+ // inside comments
}
// empty string contents and strip off comments
// part = FastAnalyzer.reduce(part); // TODO: May cause problems
final Partition p = FastAnalyzer.computePartition(part);
- final ProposalFactory factory = new XtendProposalFactoryEclipseImpl(documentOffset);
+ final ProposalFactory factory = new XtendProposalFactoryEclipseImpl(
+ documentOffset);
List<? extends ICompletionProposal> proposals = null;
if (p == Partition.EXPRESSION) {
ctx = FastAnalyzer.computeExecutionContext(part, ctx, extensions);
- proposals = (List<? extends ICompletionProposal>) new ExpressionProposalComputer().computeProposals(part,
- ctx, factory);
+ proposals = (List<? extends ICompletionProposal>) new ExpressionProposalComputer()
+ .computeProposals(part, ctx, factory);
} else if (p == Partition.TYPE_DECLARATION) {
ctx = FastAnalyzer.computeExecutionContext(part, ctx, extensions);
- proposals = (List<? extends ICompletionProposal>) new TypeProposalComputer().computeProposals(part, ctx,
- factory);
+ proposals = (List<? extends ICompletionProposal>) new TypeProposalComputer()
+ .computeProposals(part, ctx, factory);
} else if (p == Partition.EXTENSION_IMPORT) {
- IXtendXpandProject project = Activator.getExtXptModelManager().findProject(getFile());
- IXtendXpandResource[] resources = project.getAllRegisteredResources();
+ IXtendXpandProject project = Activator.getExtXptModelManager()
+ .findProject(getFile());
+ IXtendXpandResource[] resources = project
+ .getAllRegisteredResources();
Set<String> extensionNames = new HashSet<String>();
for (IXtendXpandResource resource : resources) {
if (resource instanceof XtendFile) {
extensionNames.add(resource.getFullyQualifiedName());
}
}
- proposals = (List<? extends ICompletionProposal>) new ExtensionImportProposalComputer().computeProposals(
- part, ctx, factory, extensionNames);
+ proposals = (List<? extends ICompletionProposal>) new ExtensionImportProposalComputer()
+ .computeProposals(part, ctx, factory, extensionNames);
} else if (p == Partition.NAMESPACE_IMPORT) {
ctx = FastAnalyzer.computeExecutionContext(part, ctx, extensions);
- proposals = (List<? extends ICompletionProposal>) new NamespaceProposalComputer().computeProposals(part, ctx, factory);
+ proposals = (List<? extends ICompletionProposal>) new NamespaceProposalComputer()
+ .computeProposals(part, ctx, factory);
- } else if (p == Partition.DEFAULT){
+ } else if (p == Partition.DEFAULT) {
ctx = FastAnalyzer.computeExecutionContext(part, ctx, extensions);
- proposals = (List<? extends ICompletionProposal>) new TypeProposalComputer().computeProposals(part, ctx, factory);
+ proposals = (List<? extends ICompletionProposal>) new TypeProposalComputer()
+ .computeProposals(part, ctx, factory);
} else {
proposals = Collections.emptyList();
}
@@ -105,7 +108,8 @@
/**
* {@inheritDoc}
*/
- public IContextInformation[] computeContextInformation(final ITextViewer viewer, final int documentOffset) {
+ public IContextInformation[] computeContextInformation(
+ final ITextViewer viewer, final int documentOffset) {
return null;
}
diff --git a/plugins/org.eclipse.xtend/src/org/eclipse/internal/xtend/expression/ast/IfExpression.java b/plugins/org.eclipse.xtend/src/org/eclipse/internal/xtend/expression/ast/IfExpression.java
index 462b167..20d683e 100644
--- a/plugins/org.eclipse.xtend/src/org/eclipse/internal/xtend/expression/ast/IfExpression.java
+++ b/plugins/org.eclipse.xtend/src/org/eclipse/internal/xtend/expression/ast/IfExpression.java
@@ -25,71 +25,74 @@
*/
public class IfExpression extends Expression {
- private Expression condition;
+ private final Expression condition;
- private Expression thenPart;
+ private final Expression thenPart;
- private Expression elsePart;
+ private final Expression elsePart;
- public IfExpression(final Expression condition,
- final Expression thenPart, final Expression elsePart) {
- this.condition = condition;
- this.thenPart = thenPart;
- this.elsePart = elsePart;
- }
+ public IfExpression(final Expression condition, final Expression thenPart, final Expression elsePart) {
+ this.condition = condition;
+ this.thenPart = thenPart;
+ this.elsePart = elsePart;
+ }
- public Expression getCondition() {
- return condition;
- }
+ public Expression getCondition() {
+ return condition;
+ }
- public Expression getElsePart() {
- return elsePart;
- }
+ public Expression getElsePart() {
+ return elsePart;
+ }
- public Expression getThenPart() {
- return thenPart;
- }
+ public Expression getThenPart() {
+ return thenPart;
+ }
- @Override
- public Object evaluateInternal(final ExecutionContext ctx) {
- Object val = getCondition().evaluate(ctx);
- if (val == null)
- val = Boolean.FALSE;
-
- if (!(val instanceof Boolean))
- throw new EvaluationException("Boolean expected!", getCondition(), ctx);
+ @Override
+ public Object evaluateInternal(final ExecutionContext ctx) {
+ Object val = getCondition().evaluate(ctx);
+ if (val == null) {
+ val = Boolean.FALSE;
+ }
- if (((Boolean) val).booleanValue())
- return getThenPart().evaluate(ctx);
- else {
- if (getElsePart()==null)
- return null;
- return getElsePart().evaluate(ctx);
- }
- }
+ if (!(val instanceof Boolean)) {
+ throw new EvaluationException("Boolean expected!", getCondition(), ctx);
+ }
- @Override
+ if (((Boolean) val).booleanValue()) {
+ return getThenPart().evaluate(ctx);
+ }
+ if (getElsePart() == null) {
+ return null;
+ }
+ return getElsePart().evaluate(ctx);
+ }
+
+ @Override
public Type analyzeInternal(final ExecutionContext ctx, final Set<AnalysationIssue> issues) {
- final Type conditionType = getCondition().analyze(ctx, issues);
- if (conditionType != null && !conditionType.equals(ctx.getBooleanType())) {
- issues.add(new AnalysationIssue(AnalysationIssue.INCOMPATIBLE_TYPES, "Boolean expected", getCondition()));
- }
+ final Type conditionType = getCondition().analyze(ctx, issues);
+ if ((conditionType != null) && !conditionType.equals(ctx.getBooleanType())) {
+ issues.add(new AnalysationIssue(AnalysationIssue.INCOMPATIBLE_TYPES, "Boolean expected", getCondition()));
+ }
- final Type thenPartType = getThenPart().analyze(ctx, issues);
- final Type elsePartType = getElsePart()!=null ? getElsePart().analyze(ctx, issues) : ctx.getVoidType();
- if (thenPartType == null || elsePartType == null)
- return null;
- if (thenPartType.isAssignableFrom(elsePartType))
- return elsePartType;
- else if (elsePartType.isAssignableFrom(thenPartType))
- return thenPartType;
- else
- return ctx.getObjectType();
- }
+ final Type thenPartType = getThenPart().analyze(ctx, issues);
+ final Type elsePartType = getElsePart() != null ? getElsePart().analyze(ctx, issues) : ctx.getVoidType();
+ if ((thenPartType == null) || (elsePartType == null)) {
+ return null;
+ }
+ if (thenPartType.isAssignableFrom(elsePartType)) {
+ return elsePartType;
+ } else if (elsePartType.isAssignableFrom(thenPartType)) {
+ return thenPartType;
+ } else {
+ return ctx.getObjectType();
+ }
+ }
- @Override
+ @Override
protected String toStringInternal() {
- return "if "+condition.toString() + " then " + thenPart + (elsePart!=null ? " else " + elsePart : "");
- }
-
+ return "if " + condition.toString() + " then " + thenPart + (elsePart != null ? " else " + elsePart : "");
+ }
+
}
diff --git a/plugins/org.eclipse.xtend/src/org/eclipse/internal/xtend/type/baseimpl/OperationImpl.java b/plugins/org.eclipse.xtend/src/org/eclipse/internal/xtend/type/baseimpl/OperationImpl.java
index 76d1e6d..5eae54d 100644
--- a/plugins/org.eclipse.xtend/src/org/eclipse/internal/xtend/type/baseimpl/OperationImpl.java
+++ b/plugins/org.eclipse.xtend/src/org/eclipse/internal/xtend/type/baseimpl/OperationImpl.java
@@ -24,11 +24,9 @@
private final Type owner;
- public OperationImpl(final Type owner, final String name,
- final Type returnType, final Type... paramTypes) {
+ public OperationImpl(final Type owner, final String name, final Type returnType, final Type... paramTypes) {
super(name, returnType);
- this.paramTypes = (paramTypes == null) || (paramTypes.length == 0) ? NO_TYPES
- : Arrays.asList(paramTypes);
+ this.paramTypes = (paramTypes == null) || (paramTypes.length == 0) ? NO_TYPES : Arrays.asList(paramTypes);
this.owner = owner;
}
@@ -38,9 +36,8 @@
} catch (final NullPointerException e) {
if (target == null) {
return null;
- } else {
- throw e;
}
+ throw e;
}
}
@@ -68,10 +65,8 @@
}
if (obj instanceof Operation) {
final Operation op = (Operation) obj;
- boolean equals = getOwner().equals(op.getOwner())
- && getName().equals(op.getName())
- && (getParameterTypes().size() == op.getParameterTypes()
- .size());
+ boolean equals = getOwner().equals(op.getOwner()) && getName().equals(op.getName())
+ && (getParameterTypes().size() == op.getParameterTypes().size());
if (equals) {
final List<Type> typesA = getParameterTypes();
diff --git a/plugins/org.eclipse.xtend/src/org/eclipse/internal/xtend/type/baseimpl/TypesComparator.java b/plugins/org.eclipse.xtend/src/org/eclipse/internal/xtend/type/baseimpl/TypesComparator.java
index dc15001..bd0ebf1 100644
--- a/plugins/org.eclipse.xtend/src/org/eclipse/internal/xtend/type/baseimpl/TypesComparator.java
+++ b/plugins/org.eclipse.xtend/src/org/eclipse/internal/xtend/type/baseimpl/TypesComparator.java
@@ -19,17 +19,16 @@
public final class TypesComparator implements Comparator<List<? extends Type>> {
/**
*
- * returns -1 if the second list of types is not assignable to the first
- * list of types returns 0 if the second list of types exactly matches the
- * first list of types returns 1 if the second list of types is assignable
- * to the first list of types
+ * returns -1 if the second list of types is not assignable to the first list of types returns 0 if the second list of types exactly matches the
+ * first list of types returns 1 if the second list of types is assignable to the first list of types
*/
- public int compare(final List<? extends Type> types1,
- final List<? extends Type> types2) {
- if (types1 == null || types2 == null)
+ public int compare(final List<? extends Type> types1, final List<? extends Type> types2) {
+ if ((types1 == null) || (types2 == null)) {
throw new NullPointerException();
- if (types1.size() != types2.size())
+ }
+ if (types1.size() != types2.size()) {
return -1;
+ }
boolean directMatch = true;
for (int i = 0, x = types1.size(); i < x; i++) {
final Type type1 = types1.get(i);
@@ -42,10 +41,10 @@
return -1;
}
}
- if (directMatch)
+ if (directMatch) {
return 0;
- else
- return 1;
+ }
+ return 1;
}
}
\ No newline at end of file
diff --git a/plugins/org.eclipse.xtend/src/org/eclipse/internal/xtend/type/baseimpl/types/ObjectTypeImpl.java b/plugins/org.eclipse.xtend/src/org/eclipse/internal/xtend/type/baseimpl/types/ObjectTypeImpl.java
index a2c1e35..c83d2f3 100644
--- a/plugins/org.eclipse.xtend/src/org/eclipse/internal/xtend/type/baseimpl/types/ObjectTypeImpl.java
+++ b/plugins/org.eclipse.xtend/src/org/eclipse/internal/xtend/type/baseimpl/types/ObjectTypeImpl.java
@@ -28,122 +28,131 @@
@SuppressWarnings("unchecked")
public class ObjectTypeImpl extends BuiltinBaseType {
- public ObjectTypeImpl(final TypeSystem ts, final String name) {
- super(ts, name);
- }
+ public ObjectTypeImpl(final TypeSystem ts, final String name) {
+ super(ts, name);
+ }
- @Override
- public Feature[] getContributedFeatures() {
- return new Feature[] {
- new OperationImpl(this, "==", getTypeSystem().getBooleanType(), new Type[] { ObjectTypeImpl.this }) {
- @Override
- public Object evaluateInternal(final Object target, final Object[] params) {
- if (target == null)
- return new Boolean(target == params[0]);
- return new Boolean(target.equals(params[0]));
- }
- }, new OperationImpl(this, "!=", getTypeSystem().getBooleanType(), new Type[] { ObjectTypeImpl.this }) {
- @Override
- public Object evaluateInternal(final Object target, final Object[] params) {
- if (target == null)
- return new Boolean(target != params[0]);
- return new Boolean(!target.equals(params[0]));
- }
- }, new OperationImpl(this, ">", getTypeSystem().getBooleanType(), new Type[] { ObjectTypeImpl.this }) {
- @Override
- public Object evaluateInternal(final Object target, final Object[] params) {
- if (target == null)
- return Boolean.FALSE;
- if (params[0] == null)
- return Boolean.FALSE;
- return new Boolean(((Comparable<Object>) target).compareTo(params[0]) > 0);
- }
- }, new OperationImpl(this, ">=", getTypeSystem().getBooleanType(), new Type[] { ObjectTypeImpl.this }) {
- @Override
- public Object evaluateInternal(final Object target, final Object[] params) {
- if (target == null)
- return params[0] == null ? Boolean.TRUE : Boolean.FALSE;
- if (params[0] == null)
- return Boolean.FALSE;
- return new Boolean(((Comparable<Object>) target).compareTo(params[0]) >= 0);
- }
- }, new OperationImpl(this, "<", getTypeSystem().getBooleanType(), new Type[] { ObjectTypeImpl.this }) {
- @Override
- public Object evaluateInternal(final Object target, final Object[] params) {
- if (target == null)
- return Boolean.FALSE;
- if (params[0] == null)
- return Boolean.FALSE;
- return new Boolean(((Comparable<Object>) target).compareTo(params[0]) < 0);
- }
- }, new OperationImpl(this, "<=", getTypeSystem().getBooleanType(), new Type[] { ObjectTypeImpl.this }) {
- @Override
- public Object evaluateInternal(final Object target, final Object[] params) {
- if (target == null)
- return params[0] == null ? Boolean.TRUE : Boolean.FALSE;
- if (params[0] == null)
- return Boolean.FALSE;
- return new Boolean(((Comparable<Object>) target).compareTo(params[0]) <= 0);
- }
- }, new PropertyImpl(this, "metaType", getTypeSystem().getTypeType()) {
- @Override
- public String getDocumentation() {
- return "returns this object's meta type.";
- }
+ @Override
+ public Feature[] getContributedFeatures() {
+ return new Feature[] { new OperationImpl(this, "==", getTypeSystem().getBooleanType(), new Type[] { ObjectTypeImpl.this }) {
+ @Override
+ public Object evaluateInternal(final Object target, final Object[] params) {
+ if (target == null) {
+ return new Boolean(target == params[0]);
+ }
+ return new Boolean(target.equals(params[0]));
+ }
+ }, new OperationImpl(this, "!=", getTypeSystem().getBooleanType(), new Type[] { ObjectTypeImpl.this }) {
+ @Override
+ public Object evaluateInternal(final Object target, final Object[] params) {
+ if (target == null) {
+ return new Boolean(target != params[0]);
+ }
+ return new Boolean(!target.equals(params[0]));
+ }
+ }, new OperationImpl(this, ">", getTypeSystem().getBooleanType(), new Type[] { ObjectTypeImpl.this }) {
+ @Override
+ public Object evaluateInternal(final Object target, final Object[] params) {
+ if (target == null) {
+ return Boolean.FALSE;
+ }
+ if (params[0] == null) {
+ return Boolean.FALSE;
+ }
+ return new Boolean(((Comparable<Object>) target).compareTo(params[0]) > 0);
+ }
+ }, new OperationImpl(this, ">=", getTypeSystem().getBooleanType(), new Type[] { ObjectTypeImpl.this }) {
+ @Override
+ public Object evaluateInternal(final Object target, final Object[] params) {
+ if (target == null) {
+ return params[0] == null ? Boolean.TRUE : Boolean.FALSE;
+ }
+ if (params[0] == null) {
+ return Boolean.FALSE;
+ }
+ return new Boolean(((Comparable<Object>) target).compareTo(params[0]) >= 0);
+ }
+ }, new OperationImpl(this, "<", getTypeSystem().getBooleanType(), new Type[] { ObjectTypeImpl.this }) {
+ @Override
+ public Object evaluateInternal(final Object target, final Object[] params) {
+ if (target == null) {
+ return Boolean.FALSE;
+ }
+ if (params[0] == null) {
+ return Boolean.FALSE;
+ }
+ return new Boolean(((Comparable<Object>) target).compareTo(params[0]) < 0);
+ }
+ }, new OperationImpl(this, "<=", getTypeSystem().getBooleanType(), new Type[] { ObjectTypeImpl.this }) {
+ @Override
+ public Object evaluateInternal(final Object target, final Object[] params) {
+ if (target == null) {
+ return params[0] == null ? Boolean.TRUE : Boolean.FALSE;
+ }
+ if (params[0] == null) {
+ return Boolean.FALSE;
+ }
+ return new Boolean(((Comparable<Object>) target).compareTo(params[0]) <= 0);
+ }
+ }, new PropertyImpl(this, "metaType", getTypeSystem().getTypeType()) {
+ @Override
+ public String getDocumentation() {
+ return "returns this object's meta type.";
+ }
- public Object get(final Object target) {
- return getTypeSystem().getType(target);
- }
- }, new OperationImpl(this, "toString", getTypeSystem().getStringType()) {
- @Override
- public String getDocumentation() {
- return "returns the String representation of this object. (Calling Java's toString() method)";
- }
+ public Object get(final Object target) {
+ return getTypeSystem().getType(target);
+ }
+ }, new OperationImpl(this, "toString", getTypeSystem().getStringType()) {
+ @Override
+ public String getDocumentation() {
+ return "returns the String representation of this object. (Calling Java's toString() method)";
+ }
- @Override
- public Object evaluateInternal(final Object target, final Object[] params) {
- return target != null ? target.toString() : "null";
- }
- }, new OperationImpl(this, "compareTo", getTypeSystem().getIntegerType(), new Type[] { this }) {
- @Override
- public String getDocumentation() {
- return "Compares this object with the specified object for order. Returns a negative "
- + "integer, zero, or a positive integer as this object is less than, equal to, "
- + "or greater than the specified object.";
- }
+ @Override
+ public Object evaluateInternal(final Object target, final Object[] params) {
+ return target != null ? target.toString() : "null";
+ }
+ }, new OperationImpl(this, "compareTo", getTypeSystem().getIntegerType(), new Type[] { this }) {
+ @Override
+ public String getDocumentation() {
+ return "Compares this object with the specified object for order. Returns a negative "
+ + "integer, zero, or a positive integer as this object is less than, equal to, " + "or greater than the specified object.";
+ }
- @Override
- public Object evaluateInternal(final Object target, final Object[] params) {
- if (target == null)
- return params[0] == null ? new Long(0) : new Long(-1);
- if (params[0] == null)
- return new Long(1);
- if (target instanceof Comparable)
- return new Long(((Comparable<Object>) target).compareTo(params[0]));
- else {
- final TypeSystem ts = getTypeSystem();
- Operation op = ts.findOperation("toString", target, null);
- final String s1 = (String) op.evaluate(target, null);
- op = ts.findOperation("toString", params[0], null);
- final String s2 = (String) op.evaluate(params[0], null);
-
- return new Long(s1.compareTo(s2));
- }
- }
- } };
- }
+ @Override
+ public Object evaluateInternal(final Object target, final Object[] params) {
+ if (target == null) {
+ return params[0] == null ? new Long(0) : new Long(-1);
+ }
+ if (params[0] == null) {
+ return new Long(1);
+ }
+ if (target instanceof Comparable) {
+ return new Long(((Comparable<Object>) target).compareTo(params[0]));
+ }
+ final TypeSystem ts = getTypeSystem();
+ Operation op = ts.findOperation("toString", target, null);
+ final String s1 = (String) op.evaluate(target, null);
+ op = ts.findOperation("toString", params[0], null);
+ final String s2 = (String) op.evaluate(params[0], null);
- public boolean isInstance(final Object o) {
- return true;
- }
+ return new Long(s1.compareTo(s2));
+ }
+ } };
+ }
- public Object newInstance() {
- return new Object();
- }
+ public boolean isInstance(final Object o) {
+ return true;
+ }
- @Override
- public Set<Type> getSuperTypes() {
- return Collections.EMPTY_SET;
- }
+ public Object newInstance() {
+ return new Object();
+ }
+
+ @Override
+ public Set<Type> getSuperTypes() {
+ return Collections.EMPTY_SET;
+ }
}
diff --git a/plugins/org.eclipse.xtend/src/org/eclipse/internal/xtend/util/WeakInterningHashSet.java b/plugins/org.eclipse.xtend/src/org/eclipse/internal/xtend/util/WeakInterningHashSet.java
index 761237f..eaa9098 100644
--- a/plugins/org.eclipse.xtend/src/org/eclipse/internal/xtend/util/WeakInterningHashSet.java
+++ b/plugins/org.eclipse.xtend/src/org/eclipse/internal/xtend/util/WeakInterningHashSet.java
@@ -229,9 +229,8 @@
Entry<E> entry = (Entry<E>) queue.poll();
if (entry == null) {
return;
- } else {
- removeEntry(entry);
}
+ removeEntry(entry);
}
}
@@ -249,26 +248,24 @@
modCount += NULL_BIT_INCREMENT;
++size;
return true;
- } else {
- return false;
}
- } else {
- int hashCode = hashCode(object);
- if (entries != null) {
- int index = index(hashCode);
- for (Entry<E> entry = entries[index]; entry != null; entry = entry.next) {
- if (hashCode == entry.hashCode) {
- E otherObject = entry.get();
- if (equals(object, otherObject)) {
- return false;
- }
+ return false;
+ }
+ int hashCode = hashCode(object);
+ if (entries != null) {
+ int index = index(hashCode);
+ for (Entry<E> entry = entries[index]; entry != null; entry = entry.next) {
+ if (hashCode == entry.hashCode) {
+ E otherObject = entry.get();
+ if (equals(object, otherObject)) {
+ return false;
}
}
}
-
- addEntry(createEntry(object, hashCode));
- return true;
}
+
+ addEntry(createEntry(object, hashCode));
+ return true;
}
/**
@@ -283,29 +280,27 @@
//
if ((modCount & NULL_BIT_INCREMENT) == 0) {
return false;
- } else {
- modCount += NULL_BIT_INCREMENT;
- --size;
- return true;
}
- } else {
- if (entries != null) {
- int hashCode = hashCode(object);
- int index = index(hashCode);
- Entry<E> previousEntry = null;
- for (Entry<E> entry = entries[index]; entry != null; previousEntry = entry, entry = entry.next) {
- if (hashCode == entry.hashCode) {
- E otherObject = entry.get();
- if (equals(object, otherObject)) {
- if (previousEntry == null) {
- entries[index] = entry.next;
- } else {
- previousEntry.next = entry.next;
- }
- --size;
- modCount += MOD_COUNT_INCREMENT;
- return true;
+ modCount += NULL_BIT_INCREMENT;
+ --size;
+ return true;
+ }
+ if (entries != null) {
+ int hashCode = hashCode(object);
+ int index = index(hashCode);
+ Entry<E> previousEntry = null;
+ for (Entry<E> entry = entries[index]; entry != null; previousEntry = entry, entry = entry.next) {
+ if (hashCode == entry.hashCode) {
+ E otherObject = entry.get();
+ if (equals(object, otherObject)) {
+ if (previousEntry == null) {
+ entries[index] = entry.next;
+ } else {
+ previousEntry.next = entry.next;
}
+ --size;
+ modCount += MOD_COUNT_INCREMENT;
+ return true;
}
}
}
@@ -325,23 +320,22 @@
++size;
}
return null;
- } else {
- int hashCode = hashCode(object);
- if (entries != null) {
- int index = index(hashCode);
- for (Entry<E> entry = entries[index]; entry != null; entry = entry.next) {
- if (hashCode == entry.hashCode) {
- E otherObject = entry.get();
- if (equals(object, otherObject)) {
- return otherObject;
- }
+ }
+ int hashCode = hashCode(object);
+ if (entries != null) {
+ int index = index(hashCode);
+ for (Entry<E> entry = entries[index]; entry != null; entry = entry.next) {
+ if (hashCode == entry.hashCode) {
+ E otherObject = entry.get();
+ if (equals(object, otherObject)) {
+ return otherObject;
}
}
}
-
- addEntry(createEntry(object, hashCode));
- return object;
}
+
+ addEntry(createEntry(object, hashCode));
+ return object;
}
public E get(final E object) {
@@ -351,22 +345,21 @@
// Whether null is present or not, we always return null.
//
return null;
- } else {
- if (entries != null) {
- int hashCode = hashCode(object);
- int index = index(hashCode);
- for (Entry<E> entry = entries[index]; entry != null; entry = entry.next) {
- if (hashCode == entry.hashCode) {
- E otherObject = entry.get();
- if (equals(object, otherObject)) {
- return otherObject;
- }
+ }
+ if (entries != null) {
+ int hashCode = hashCode(object);
+ int index = index(hashCode);
+ for (Entry<E> entry = entries[index]; entry != null; entry = entry.next) {
+ if (hashCode == entry.hashCode) {
+ E otherObject = entry.get();
+ if (equals(object, otherObject)) {
+ return otherObject;
}
}
}
-
- return null;
}
+
+ return null;
}
/**
@@ -380,22 +373,21 @@
// The presence of null is encoded in the modCount.
//
return (modCount & NULL_BIT_INCREMENT) != 0;
- } else {
- if (entries != null) {
- int hashCode = hashCode(object);
- int index = index(hashCode);
- for (Entry<E> entry = entries[index]; entry != null; entry = entry.next) {
- if (hashCode == entry.hashCode) {
- E otherObject = entry.get();
- if (equals(object, otherObject)) {
- return true;
- }
+ }
+ if (entries != null) {
+ int hashCode = hashCode(object);
+ int index = index(hashCode);
+ for (Entry<E> entry = entries[index]; entry != null; entry = entry.next) {
+ if (hashCode == entry.hashCode) {
+ E otherObject = entry.get();
+ if (equals(object, otherObject)) {
+ return true;
}
}
}
-
- return false;
}
+
+ return false;
}
/**
@@ -513,12 +505,11 @@
nextObject = object;
nextEntry = entry;
break;
- } else {
- // Continue the look with the next entry in the collision chain.
- //
- entry = entry.next;
- continue;
}
+ // Continue the look with the next entry in the collision chain.
+ //
+ entry = entry.next;
+ continue;
}
// If we proceed beyond the end of the entries, prepare to yield nothing.
diff --git a/plugins/org.eclipse.xtend/src/org/eclipse/internal/xtend/util/internal/icu/CharsetMatch.java b/plugins/org.eclipse.xtend/src/org/eclipse/internal/xtend/util/internal/icu/CharsetMatch.java
index 0513b3e..aad929a 100644
--- a/plugins/org.eclipse.xtend/src/org/eclipse/internal/xtend/util/internal/icu/CharsetMatch.java
+++ b/plugins/org.eclipse.xtend/src/org/eclipse/internal/xtend/util/internal/icu/CharsetMatch.java
@@ -1,18 +1,19 @@
package org.eclipse.internal.xtend.util.internal.icu;
-/**
-This code was taken from the com.ibm.icu library (3.6.1). We needed to copy it to have not
-a dependency to this large library only the need of charset recognition.
-(KTH 2007-07-30)
-The com.ibm.icu library is published under Eclipse Public License V1.0.
+/**
+ This code was taken from the com.ibm.icu library (3.6.1). We needed to copy it to have not
+ a dependency to this large library only the need of charset recognition.
+ (KTH 2007-07-30)
+
+ The com.ibm.icu library is published under Eclipse Public License V1.0.
*/
/**
-*******************************************************************************
-* Copyright (C) 2005-2006, International Business Machines Corporation and *
-* others. All Rights Reserved. *
-*******************************************************************************
-*/
+ *******************************************************************************
+ * Copyright (C) 2005-2006, International Business Machines Corporation and *
+ * others. All Rights Reserved. *
+ *******************************************************************************
+ */
import java.io.ByteArrayInputStream;
import java.io.IOException;
@@ -20,268 +21,247 @@
import java.io.InputStreamReader;
import java.io.Reader;
-
/**
- * This class represents a charset that has been identified by a CharsetDetector
- * as a possible encoding for a set of input data. From an instance of this
- * class, you can ask for a confidence level in the charset identification,
- * or for Java Reader or String to access the original byte data in Unicode form.
+ * This class represents a charset that has been identified by a CharsetDetector as a possible encoding for a set of input data. From an instance of
+ * this class, you can ask for a confidence level in the charset identification, or for Java Reader or String to access the original byte data in
+ * Unicode form.
* <p/>
* Instances of this class are created only by CharsetDetectors.
* <p/>
- * Note: this class has a natural ordering that is inconsistent with equals.
- * The natural ordering is based on the match confidence value.
- *
+ * Note: this class has a natural ordering that is inconsistent with equals. The natural ordering is based on the match confidence value.
+ *
* @draft ICU 3.4
* @provisional This API might change or be removed in a future release.
*/
@SuppressWarnings("rawtypes")
public class CharsetMatch implements Comparable {
+ /**
+ * Create a java.io.Reader for reading the Unicode character data corresponding to the original byte data supplied to the Charset detect
+ * operation.
+ * <p/>
+ * CAUTION: if the source of the byte data was an InputStream, a Reader can be created for only one matching char set using this method. If more
+ * than one charset needs to be tried, the caller will need to reset the InputStream and create InputStreamReaders itself, based on the charset
+ * name.
+ *
+ * @return the Reader for the Unicode character data.
+ *
+ * @draft ICU 3.4
+ * @provisional This API might change or be removed in a future release.
+ */
+ public Reader getReader() {
+ InputStream inputStream = fInputStream;
- /**
- * Create a java.io.Reader for reading the Unicode character data corresponding
- * to the original byte data supplied to the Charset detect operation.
- * <p/>
- * CAUTION: if the source of the byte data was an InputStream, a Reader
- * can be created for only one matching char set using this method. If more
- * than one charset needs to be tried, the caller will need to reset
- * the InputStream and create InputStreamReaders itself, based on the charset name.
- *
- * @return the Reader for the Unicode character data.
- *
- * @draft ICU 3.4
- * @provisional This API might change or be removed in a future release.
- */
- public Reader getReader() {
- InputStream inputStream = fInputStream;
+ if (inputStream == null) {
+ inputStream = new ByteArrayInputStream(fRawInput, 0, fRawLength);
+ }
- if (inputStream == null) {
- inputStream = new ByteArrayInputStream(fRawInput, 0, fRawLength);
- }
+ try {
+ inputStream.reset();
+ return new InputStreamReader(inputStream, getName());
+ } catch (IOException e) {
+ return null;
+ }
+ }
- try {
- inputStream.reset();
- return new InputStreamReader(inputStream, getName());
- } catch (IOException e) {
- return null;
- }
- }
+ /**
+ * Create a Java String from Unicode character data corresponding to the original byte data supplied to the Charset detect operation.
+ *
+ * @return a String created from the converted input data.
+ *
+ * @draft ICU 3.4
+ * @provisional This API might change or be removed in a future release.
+ */
+ public String getString() throws java.io.IOException {
+ return getString(-1);
- /**
- * Create a Java String from Unicode character data corresponding
- * to the original byte data supplied to the Charset detect operation.
- *
- * @return a String created from the converted input data.
- *
- * @draft ICU 3.4
- * @provisional This API might change or be removed in a future release.
- */
- public String getString() throws java.io.IOException {
- return getString(-1);
+ }
- }
+ /**
+ * Create a Java String from Unicode character data corresponding to the original byte data supplied to the Charset detect operation. The length
+ * of the returned string is limited to the specified size; the string will be trunctated to this length if necessary. A limit value of zero or
+ * less is ignored, and treated as no limit.
+ *
+ * @param maxLength
+ * The maximium length of the String to be created when the source of the data is an input stream, or -1 for unlimited length.
+ * @return a String created from the converted input data.
+ *
+ * @draft ICU 3.4
+ * @provisional This API might change or be removed in a future release.
+ */
+ public String getString(final int maxLength) throws java.io.IOException {
+ String result = null;
+ if (fInputStream != null) {
+ StringBuffer sb = new StringBuffer();
+ char[] buffer = new char[1024];
+ Reader reader = getReader();
+ int max = maxLength < 0 ? Integer.MAX_VALUE : maxLength;
+ int bytesRead = 0;
- /**
- * Create a Java String from Unicode character data corresponding
- * to the original byte data supplied to the Charset detect operation.
- * The length of the returned string is limited to the specified size;
- * the string will be trunctated to this length if necessary. A limit value of
- * zero or less is ignored, and treated as no limit.
- *
- * @param maxLength The maximium length of the String to be created when the
- * source of the data is an input stream, or -1 for
- * unlimited length.
- * @return a String created from the converted input data.
- *
- * @draft ICU 3.4
- * @provisional This API might change or be removed in a future release.
- */
- public String getString(int maxLength) throws java.io.IOException {
- String result = null;
- if (fInputStream != null) {
- StringBuffer sb = new StringBuffer();
- char[] buffer = new char[1024];
- Reader reader = getReader();
- int max = maxLength < 0? Integer.MAX_VALUE : maxLength;
- int bytesRead = 0;
+ while ((bytesRead = reader.read(buffer, 0, Math.min(max, 1024))) >= 0) {
+ sb.append(buffer, 0, bytesRead);
+ max -= bytesRead;
+ }
- while ((bytesRead = reader.read(buffer, 0, Math.min(max, 1024))) >= 0) {
- sb.append(buffer, 0, bytesRead);
- max -= bytesRead;
- }
+ reader.close();
- reader.close();
+ return sb.toString();
+ }
+ result = new String(fRawInput, getName());
+ return result;
- return sb.toString();
- } else {
- result = new String(fRawInput, getName());
- }
- return result;
+ }
- }
+ /**
+ * Get an indication of the confidence in the charset detected. Confidence values range from 0-100, with larger numbers indicating a better match
+ * of the input data to the characteristics of the charset.
+ *
+ * @return the confidence in the charset match
+ *
+ * @draft ICU 3.4
+ * @provisional This API might change or be removed in a future release.
+ */
+ public int getConfidence() {
+ return fConfidence;
+ }
- /**
- * Get an indication of the confidence in the charset detected.
- * Confidence values range from 0-100, with larger numbers indicating
- * a better match of the input data to the characteristics of the
- * charset.
- *
- * @return the confidence in the charset match
- *
- * @draft ICU 3.4
- * @provisional This API might change or be removed in a future release.
- */
- public int getConfidence() {
- return fConfidence;
- }
+ /**
+ * Bit flag indicating the match is based on the the encoding scheme.
+ *
+ * @see #getMatchType
+ * @draft ICU 3.4
+ * @provisional This API might change or be removed in a future release.
+ */
+ static public final int ENCODING_SCHEME = 1;
+ /**
+ * Bit flag indicating the match is based on the presence of a BOM.
+ *
+ * @see #getMatchType
+ * @draft ICU 3.4
+ * @provisional This API might change or be removed in a future release.
+ */
+ static public final int BOM = 2;
- /**
- * Bit flag indicating the match is based on the the encoding scheme.
- *
- * @see #getMatchType
- * @draft ICU 3.4
- * @provisional This API might change or be removed in a future release.
- */
- static public final int ENCODING_SCHEME = 1;
+ /**
+ * Bit flag indicating he match is based on the declared encoding.
+ *
+ * @see #getMatchType
+ * @draft ICU 3.4
+ * @provisional This API might change or be removed in a future release.
+ */
+ static public final int DECLARED_ENCODING = 4;
- /**
- * Bit flag indicating the match is based on the presence of a BOM.
- *
- * @see #getMatchType
- * @draft ICU 3.4
- * @provisional This API might change or be removed in a future release.
- */
- static public final int BOM = 2;
+ /**
+ * Bit flag indicating the match is based on language statistics.
+ *
+ * @see #getMatchType
+ * @draft ICU 3.4
+ * @provisional This API might change or be removed in a future release.
+ */
+ static public final int LANG_STATISTICS = 8;
- /**
- * Bit flag indicating he match is based on the declared encoding.
- *
- * @see #getMatchType
- * @draft ICU 3.4
- * @provisional This API might change or be removed in a future release.
- */
- static public final int DECLARED_ENCODING = 4;
+ /**
+ * Return flags indicating what it was about the input data that caused this charset to be considered as a possible match. The result is a
+ * bitfield containing zero or more of the flags ENCODING_SCHEME, BOM, DECLARED_ENCODING, and LANG_STATISTICS. A result of zero means no
+ * information is available.
+ * <p>
+ * Note: currently, this method always returns zero.
+ * <p>
+ *
+ * @return the type of match found for this charset.
+ *
+ * @draft ICU 3.4
+ * @provisional This API might change or be removed in a future release.
+ */
+ public int getMatchType() {
+ // TODO: create a list of enum-like constants for common combinations of types of matches.
+ return 0;
+ }
- /**
- * Bit flag indicating the match is based on language statistics.
- *
- * @see #getMatchType
- * @draft ICU 3.4
- * @provisional This API might change or be removed in a future release.
- */
- static public final int LANG_STATISTICS = 8;
+ /**
+ * Get the name of the detected charset. The name will be one that can be used with other APIs on the platform that accept charset names. It is
+ * the "Canonical name" as defined by the class java.nio.charset.Charset; for charsets that are registered with the IANA charset registry, this is
+ * the MIME-preferred registerd name.
+ *
+ * @see java.nio.charset.Charset
+ * @see java.io.InputStreamReader
+ *
+ * @return The name of the charset.
+ *
+ * @draft ICU 3.4
+ * @provisional This API might change or be removed in a future release.
+ */
+ public String getName() {
+ return fRecognizer.getName();
+ }
- /**
- * Return flags indicating what it was about the input data
- * that caused this charset to be considered as a possible match.
- * The result is a bitfield containing zero or more of the flags
- * ENCODING_SCHEME, BOM, DECLARED_ENCODING, and LANG_STATISTICS.
- * A result of zero means no information is available.
- * <p>
- * Note: currently, this method always returns zero.
- * <p>
- *
- * @return the type of match found for this charset.
- *
- * @draft ICU 3.4
- * @provisional This API might change or be removed in a future release.
- */
- public int getMatchType() {
-// TODO: create a list of enum-like constants for common combinations of types of matches.
- return 0;
- }
+ /**
+ * Get the ISO code for the language of the detected charset.
+ *
+ * @return The ISO code for the language or <code>null</code> if the language cannot be determined.
+ *
+ * @draft ICU 3.4
+ * @provisional This API might change or be removed in a future release.
+ */
+ public String getLanguage() {
+ return fRecognizer.getLanguage();
+ }
- /**
- * Get the name of the detected charset.
- * The name will be one that can be used with other APIs on the
- * platform that accept charset names. It is the "Canonical name"
- * as defined by the class java.nio.charset.Charset; for
- * charsets that are registered with the IANA charset registry,
- * this is the MIME-preferred registerd name.
- *
- * @see java.nio.charset.Charset
- * @see java.io.InputStreamReader
- *
- * @return The name of the charset.
- *
- * @draft ICU 3.4
- * @provisional This API might change or be removed in a future release.
- */
- public String getName() {
- return fRecognizer.getName();
- }
+ /**
+ * Compare to other CharsetMatch objects. Comparison is based on the match confidence value, which allows CharsetDetector.detectAll() to order its
+ * results.
+ *
+ * @param o
+ * the CharsetMatch object to compare against.
+ * @return a negative integer, zero, or a positive integer as the confidence level of this CharsetMatch is less than, equal to, or greater than
+ * that of the argument.
+ * @throws ClassCastException
+ * if the argument is not a CharsetMatch.
+ * @draft ICU 3.4
+ * @provisional This API might change or be removed in a future release.
+ */
+ public int compareTo(final Object o) {
+ CharsetMatch other = (CharsetMatch) o;
+ int compareResult = 0;
+ if (fConfidence > other.fConfidence) {
+ compareResult = 1;
+ } else if (fConfidence < other.fConfidence) {
+ compareResult = -1;
+ }
+ return compareResult;
+ }
- /**
- * Get the ISO code for the language of the detected charset.
- *
- * @return The ISO code for the language or <code>null</code> if the language cannot be determined.
- *
- * @draft ICU 3.4
- * @provisional This API might change or be removed in a future release.
- */
- public String getLanguage() {
- return fRecognizer.getLanguage();
- }
+ /**
+ * Constructor. Implementation internal
+ *
+ * @internal
+ */
+ CharsetMatch(final CharsetDetector det, final CharsetRecognizer rec, final int conf) {
+ fRecognizer = rec;
+ fConfidence = conf;
+ // The references to the original aplication input data must be copied out
+ // of the charset recognizer to here, in case the application resets the
+ // recognizer before using this CharsetMatch.
+ if (det.fInputStream == null) {
+ // We only want the existing input byte data if it came straight from the user,
+ // not if is just the head of a stream.
+ fRawInput = det.fRawInput;
+ fRawLength = det.fRawLength;
+ }
+ fInputStream = det.fInputStream;
+ }
- /**
- * Compare to other CharsetMatch objects.
- * Comparison is based on the match confidence value, which
- * allows CharsetDetector.detectAll() to order its results.
- *
- * @param o the CharsetMatch object to compare against.
- * @return a negative integer, zero, or a positive integer as the
- * confidence level of this CharsetMatch
- * is less than, equal to, or greater than that of
- * the argument.
- * @throws ClassCastException if the argument is not a CharsetMatch.
- * @draft ICU 3.4
- * @provisional This API might change or be removed in a future release.
- */
- public int compareTo (Object o) {
- CharsetMatch other = (CharsetMatch)o;
- int compareResult = 0;
- if (this.fConfidence > other.fConfidence) {
- compareResult = 1;
- } else if (this.fConfidence < other.fConfidence) {
- compareResult = -1;
- }
- return compareResult;
- }
+ //
+ // Private Data
+ //
+ private final int fConfidence;
+ private final CharsetRecognizer fRecognizer;
+ private byte[] fRawInput = null; // Original, untouched input bytes.
+ // If user gave us a byte array, this is it.
+ private int fRawLength; // Length of data in fRawInput array.
- /**
- * Constructor. Implementation internal
- *
- * @internal
- */
- CharsetMatch(CharsetDetector det, CharsetRecognizer rec, int conf) {
- fRecognizer = rec;
- fConfidence = conf;
-
- // The references to the original aplication input data must be copied out
- // of the charset recognizer to here, in case the application resets the
- // recognizer before using this CharsetMatch.
- if (det.fInputStream == null) {
- // We only want the existing input byte data if it came straight from the user,
- // not if is just the head of a stream.
- fRawInput = det.fRawInput;
- fRawLength = det.fRawLength;
- }
- fInputStream = det.fInputStream;
- }
-
-
- //
- // Private Data
- //
- private int fConfidence;
- private CharsetRecognizer fRecognizer;
- private byte[] fRawInput = null; // Original, untouched input bytes.
- // If user gave us a byte array, this is it.
- private int fRawLength; // Length of data in fRawInput array.
-
- private InputStream fInputStream = null; // User's input stream, or null if the user
- // gave us a byte array.
+ private InputStream fInputStream = null; // User's input stream, or null if the user
+ // gave us a byte array.
}
diff --git a/plugins/org.eclipse.xtend/src/org/eclipse/xtend/expression/ResourceManagerDefaultImpl.java b/plugins/org.eclipse.xtend/src/org/eclipse/xtend/expression/ResourceManagerDefaultImpl.java
index a3c4866..e928367 100644
--- a/plugins/org.eclipse.xtend/src/org/eclipse/xtend/expression/ResourceManagerDefaultImpl.java
+++ b/plugins/org.eclipse.xtend/src/org/eclipse/xtend/expression/ResourceManagerDefaultImpl.java
@@ -41,42 +41,34 @@
public ResourceManagerDefaultImpl() {
XtendResourceParser xtendResourceParser = new XtendResourceParser();
- registeredParsers.put(XtendFile.FILE_EXTENSION,
- xtendResourceParser);
- registeredParsers.put(CheckUtils.FILE_EXTENSION,
- xtendResourceParser);
+ registeredParsers.put(XtendFile.FILE_EXTENSION, xtendResourceParser);
+ registeredParsers.put(CheckUtils.FILE_EXTENSION, xtendResourceParser);
}
- public Resource loadResource(final String fullyQualifiedName,
- final String extension) {
- final String resourceName = fullyQualifiedName.replace(
- SyntaxConstants.NS_DELIM, "/")
- + "." + extension;
- if (resources.containsKey(resourceName))
+ public Resource loadResource(final String fullyQualifiedName, final String extension) {
+ final String resourceName = fullyQualifiedName.replace(SyntaxConstants.NS_DELIM, "/") + "." + extension;
+ if (resources.containsKey(resourceName)) {
return resources.get(resourceName);
- final InputStream in = ResourceLoaderFactory.createResourceLoader()
- .getResourceAsStream(resourceName);
-
- if (in == null)
- return null;
- else {
- Reader reader = createReader(in);
- final ResourceParser parser = registeredParsers.get(extension);
- if (parser == null)
- throw new RuntimeException(
- "No Parser registered for extension '" + extension
- + "'! Known extensions are '"
- + registeredParsers.keySet() + "'");
- final Resource res = parser.parse(reader, resourceName);
- res.setFullyQualifiedName(fullyQualifiedName);
- resources.put(resourceName, res);
- return res;
}
+ final InputStream in = ResourceLoaderFactory.createResourceLoader().getResourceAsStream(resourceName);
+
+ if (in == null) {
+ return null;
+ }
+ Reader reader = createReader(in);
+ final ResourceParser parser = registeredParsers.get(extension);
+ if (parser == null) {
+ throw new RuntimeException("No Parser registered for extension '" + extension + "'! Known extensions are '" + registeredParsers.keySet()
+ + "'");
+ }
+ final Resource res = parser.parse(reader, resourceName);
+ res.setFullyQualifiedName(fullyQualifiedName);
+ resources.put(resourceName, res);
+ return res;
}
/**
- * Creates a Reader for the given InputStream. If no explicit file encoding
- * is set this method will try to autodetect the file's encoding.
+ * Creates a Reader for the given InputStream. If no explicit file encoding is set this method will try to autodetect the file's encoding.
*
* @param in
* Some resource input stream
@@ -107,8 +99,8 @@
// Special handling for Xpand files on Mac: Try to detect
// the opening Guillemot bracket for MacRoman encoding
- for (int i = 0; i < buf.length; i++) {
- if (buf[i] == -57) { // opening Guillemot bracket
+ for (byte element : buf) {
+ if (element == -57) { // opening Guillemot bracket
encoding = Charset.forName("MacRoman");
break;
}
@@ -127,15 +119,11 @@
if (encoding != null) {
reader = new InputStreamReader(is, encoding);
} else {
- log
- .warn("Failed autodetecting encoding. Falling back to default...");
+ log.warn("Failed autodetecting encoding. Falling back to default...");
reader = new InputStreamReader(is);
}
} catch (IOException e) {
- log
- .warn(
- "Failed autodetecting encoding. Falling back to default...",
- e);
+ log.warn("Failed autodetecting encoding. Falling back to default...", e);
reader = new InputStreamReader(in);
}
}
@@ -148,8 +136,7 @@
protected Map<String, ResourceParser> registeredParsers = new HashMap<String, ResourceParser>();
- public void registerParser(final String extension,
- final ResourceParser parser) {
+ public void registerParser(final String extension, final ResourceParser parser) {
registeredParsers.put(extension, parser);
}
diff --git a/releng/org.eclipse.xpand.releng/buckminster.cspec b/releng/org.eclipse.xpand.releng/buckminster.cspec
index b6ab1b8..3d94a41 100644
--- a/releng/org.eclipse.xpand.releng/buckminster.cspec
+++ b/releng/org.eclipse.xpand.releng/buckminster.cspec
@@ -20,6 +20,7 @@
<cs:dependency name="org.eclipse.pde.launching" componentType="osgi.bundle"/>
<cs:dependency name="org.eclipse.pde.ui" componentType="osgi.bundle"/>
<cs:dependency name="org.eclipse.pde.junit.runtime" componentType="osgi.bundle"/>
+ <cs:dependency name="org.eclipse.jdt.junit4.runtime" componentType="osgi.bundle"/>
<cs:dependency name="org.eclipse.platform" componentType="eclipse.feature" versionDesignator="[3.8.0,3.9.0)"/>
<cs:dependency name="org.eclipse.uml2" componentType="eclipse.feature" versionDesignator="[4.0.0,4.1.0)"/>
<cs:dependency name="org.eclipse.xsd.sdk" componentType="eclipse.feature" versionDesignator="[2.9.0,3.0.0)"/>
diff --git a/releng/org.eclipse.xpand.releng/promoter.ant b/releng/org.eclipse.xpand.releng/promoter.ant
index 095b8ed..95ffa8b 100644
--- a/releng/org.eclipse.xpand.releng/promoter.ant
+++ b/releng/org.eclipse.xpand.releng/promoter.ant
@@ -307,13 +307,7 @@
<!-- change Group owner -->
- <fileset id="repository.resources" dir="${composite.repository.directory}">
- <or>
- <filename name="compositeContent.*" />
- <filename name="compositeArtifacts.*" />
- <filename name="${saved.build.id}/**" />
- </or>
- </fileset>
+ <fileset id="repository.resources" dir="${composite.repository.directory}"/>
<antcall target="-change.group.owner" inheritall="true">
<reference refid="repository.resources" torefid="change.group.owner.resources" />
diff --git a/releng/org.eclipse.xpand.releng/publisher.properties b/releng/org.eclipse.xpand.releng/publisher.properties
index 0dba180..3956416 100644
--- a/releng/org.eclipse.xpand.releng/publisher.properties
+++ b/releng/org.eclipse.xpand.releng/publisher.properties
@@ -1,4 +1,6 @@
version=2.0.0
-packages.base=xpand.downloads
-testresults.directory=xpand.test.results
+packages.base=downloads
+tests.base=test-results
+group.owner=modeling.m2t
+
downloads.area=/home/data/httpd/download.eclipse.org/modeling/m2t/xpand/
diff --git a/releng/org.eclipse.xpand.releng/releng/local/commands.txt b/releng/org.eclipse.xpand.releng/releng/local/commands.txt
index 7a3f4b2..9f586a0 100644
--- a/releng/org.eclipse.xpand.releng/releng/local/commands.txt
+++ b/releng/org.eclipse.xpand.releng/releng/local/commands.txt
@@ -4,8 +4,6 @@
#JRE Install
installJRE --location /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
-#JRE Install
-installJRE --location /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
#API Baseline Setup
importtargetdefinition "${checkout.location}/releng/org.eclipse.xpand.releng/api-baseline/api-baseline.target"
addbaseline -A "xpand-api-baseline"
diff --git a/tests/org.eclipse.xpand.tests/src/org/eclipse/xpand/internal/tests/BlankLineSkippingOutputTest.java b/tests/org.eclipse.xpand.tests/src/org/eclipse/xpand/internal/tests/BlankLineSkippingOutputTest.java
new file mode 100644
index 0000000..60e0846
--- /dev/null
+++ b/tests/org.eclipse.xpand.tests/src/org/eclipse/xpand/internal/tests/BlankLineSkippingOutputTest.java
@@ -0,0 +1,32 @@
+/*******************************************************************************
+ * Copyright (c) 2013 itemis AG (http://www.itemis.eu) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *******************************************************************************/
+package org.eclipse.xpand.internal.tests;
+
+import junit.framework.TestCase;
+
+import org.eclipse.xpand2.output.BlankLineSkippingOutput;
+import org.eclipse.xpand2.output.Outlet;
+
+/**
+ * @author thoms - Initial contribution and API
+ */
+public class BlankLineSkippingOutputTest extends TestCase {
+ private BlankLineSkippingOutput output;
+
+ @Override
+ public void setUp () {
+ output = new BlankLineSkippingOutput();
+ Outlet outlet = new Outlet("foo");
+ outlet.setName("default");
+ output.addOutlet(outlet);
+ output.openFile("foof", "default");
+ }
+ public void test_write () {
+ output.write("Bar");
+ }
+}
diff --git a/tests/org.eclipse.xpand.tests/src/org/eclipse/xpand/tests/AllTests.java b/tests/org.eclipse.xpand.tests/src/org/eclipse/xpand/tests/AllTests.java
index 7258da0..a489e7e 100644
--- a/tests/org.eclipse.xpand.tests/src/org/eclipse/xpand/tests/AllTests.java
+++ b/tests/org.eclipse.xpand.tests/src/org/eclipse/xpand/tests/AllTests.java
@@ -4,9 +4,9 @@
import junit.framework.TestSuite;
/*
- * automatically generated by org.eclipse.emf.mwe.releng.GenerateTestSuite
- *
- * @generated
+ * automatically generated by org.eclipse.emf.mwe.releng.GenerateTestSuite
+ *
+ * @generated
*/
public class AllTests {
public static Test suite() {
@@ -29,6 +29,7 @@
suite.addTestSuite(org.eclipse.xpand.internal.tests.pr.ProtectedRegionResolverImplTest.class);
suite.addTestSuite(org.eclipse.xpand.internal.tests.pr.util.GenericFileFilterTest.class);
suite.addTestSuite(org.eclipse.xpand.internal.tests.XpandUtilTest.class);
+ suite.addTestSuite(org.eclipse.xpand.internal.tests.BlankLineSkippingOutputTest.class);
return suite;
}
}
diff --git a/tests/org.eclipse.xtend.typesystem.emf.tests/src/org/eclipse/xtend/typesystem/emf/EClassTypeTest.java b/tests/org.eclipse.xtend.typesystem.emf.tests/src/org/eclipse/xtend/typesystem/emf/EClassTypeTest.java
new file mode 100644
index 0000000..b5b8577
--- /dev/null
+++ b/tests/org.eclipse.xtend.typesystem.emf.tests/src/org/eclipse/xtend/typesystem/emf/EClassTypeTest.java
@@ -0,0 +1,110 @@
+/*******************************************************************************
+ * Copyright (c) 2005, 2006 committers of openArchitectureWare and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * committers of openArchitectureWare - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.xtend.typesystem.emf;
+
+import junit.framework.TestCase;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EFactory;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EcoreFactory;
+import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.xtend.expression.ExecutionContextImpl;
+import org.eclipse.xtend.expression.ExpressionFacade;
+import org.eclipse.xtend.expression.Variable;
+import org.eclipse.xtend.typesystem.Property;
+
+public class EClassTypeTest extends TestCase {
+ private EmfRegistryMetaModel mm;
+ private ExecutionContextImpl ctx;
+ private ExpressionFacade ec;
+ private EClass clazz;
+
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+ EPackage pack = EcoreFactory.eINSTANCE.createEPackage();
+ pack.setName("test1");
+ pack.setNsURI("http://test/ecore");
+
+ clazz = EcoreFactory.eINSTANCE.createEClass();
+ clazz.setName("AClass");
+ pack.getEClassifiers().add(clazz);
+
+ EPackage.Registry.INSTANCE.put(pack.getNsURI(), pack);
+
+ mm = new EmfRegistryMetaModel();
+ ctx = new ExecutionContextImpl();
+ ctx.registerMetaModel(mm);
+ ec = new ExpressionFacade(ctx);
+ }
+
+ /**
+ * A structural feature that is 'unsettable' offers an additional operation 'isSet...', which
+ * evaluates {@link org.eclipse.emf.ecore.EObject#eIsSet(org.eclipse.emf.ecore.EStructuralFeature)}.
+ */
+ public final void test_unsettableAttribute() {
+ // CREATE METAMODEL
+ EAttribute attr = EcoreFactory.eINSTANCE.createEAttribute();
+ clazz.getEStructuralFeatures().add(attr);
+ attr.setName("unsettableAttribute");
+ attr.setEType(EcorePackage.Literals.ESTRING);
+ attr.setUnsettable(true);
+
+ EAttribute attr2 = EcoreFactory.eINSTANCE.createEAttribute();
+ clazz.getEStructuralFeatures().add(attr2);
+ attr2.setName("settableAttribute");
+ attr2.setEType(EcorePackage.Literals.ESTRING);
+ attr2.setUnsettable(false);
+
+ // ANALYZE EClassType
+ EClassType type = (EClassType) mm.getTypeForEClassifier(clazz);
+ assertNotNull(type);
+ Property property = type.getProperty("unsettableAttribute");
+ assertNotNull(property);
+
+ // Bug#421957: isSetXXX operation for unsettable features
+ assertNotNull("Unsettable feature must have a isSetXXX operation", type.getOperation("isSetUnsettableAttribute", null));
+ assertNotNull("Unsettable feature must have a unsetXXX operation", type.getOperation("unsetUnsettableAttribute", null));
+ assertNull ("Unsettable feature do not offer a setXXX operation", type.getOperation("setUnsettableAttribute", null));
+
+
+ // EVALUTE OPERATIONS
+ // Now create an instance
+ EFactory factory = EPackage.Registry.INSTANCE.getEFactory("http://test/ecore");
+ EObject obj = factory.create(clazz);
+ // Add object to ExecutionContext
+ ec = ec.cloneWithVariable(new Variable("obj", obj));
+
+ assertEquals(Boolean.FALSE, ec.evaluate("obj.isSetUnsettableAttribute()"));
+ attr.setUnsettable(false);
+ obj.eSet(attr, "Foo");
+ attr.setUnsettable(true);
+
+ // now the feature is set
+ assertEquals(Boolean.TRUE, ec.evaluate("obj.isSetUnsettableAttribute()"));
+
+ // call unset method
+ assertNull(ec.evaluate("obj.unsetUnsettableAttribute()"));
+ // now the attribute is unset again
+ assertEquals(Boolean.FALSE, ec.evaluate("obj.isSetUnsettableAttribute()"));
+
+
+ // Counter test: Settable features do not have an 'isSet' operation
+
+ property = type.getProperty("settableAttribute");
+ assertNotNull(property);
+
+ }
+
+}
diff --git a/tests/org.eclipse.xtend.typesystem.emf.tests/src/org/eclipse/xtend/typesystem/emf/tests/AllTests.java b/tests/org.eclipse.xtend.typesystem.emf.tests/src/org/eclipse/xtend/typesystem/emf/tests/AllTests.java
index 7d29fc8..b42bbe2 100644
--- a/tests/org.eclipse.xtend.typesystem.emf.tests/src/org/eclipse/xtend/typesystem/emf/tests/AllTests.java
+++ b/tests/org.eclipse.xtend.typesystem.emf.tests/src/org/eclipse/xtend/typesystem/emf/tests/AllTests.java
@@ -12,6 +12,7 @@
public static Test suite() {
TestSuite suite = new TestSuite("Tests for org.eclipse.xtend.typesystem.emf.tests");
suite.addTestSuite(org.eclipse.xtend.typesystem.emf.EmfMetaModelTest.class);
+ suite.addTestSuite(org.eclipse.xtend.typesystem.emf.EClassTypeTest.class);
suite.addTestSuite(org.eclipse.xtend.typesystem.emf.EnumTypeTest.class);
return suite;
}