Commit 049a4a02 authored by Elemer Lelik's avatar Elemer Lelik

Update to 5.3.0-07312015 status

parent ad1e6fbe
......@@ -10,10 +10,11 @@
1. VERSION REQUIREMENTS
Java 1.6 or higher, recommended: 1.7
ANTLR UI 4.1.3 with ANTLR 2.7.6 or 2.7.7
Ant 1.9.2 or higher
ANTLR 4 SDK 0.3.5
ANTLR Runtime 4.3 or higher, recommended: 4.3, available at Eclipse Orbit
Ant 1.9.2 or higher
NOTE: Build will not work below 1.8 for sure!
Eclipse Standard or Java 3.6 (Helios) or higher, recommended 4.4 (Luna)
Eclipse Standard or Java 3.6 (Helios) or higher, recommended: 4.4 (Luna)
----------------------
2. SETTING UP ECLIPSE FOR TITAN DEVELOPMENT
......@@ -63,11 +64,51 @@ It modifies the source, you need to rebuild org.eclipse.titan.common plug-in pro
----------------------
4. BUILDING AND INSTALLING TITAN PLUG-INS FROM COMMAND LINE WITH ANT
4.1. BUILDING TITAN PLUG-INS FROM COMMAND LINE WITH ANT
cd <git repository>/titan_eclipse/automatic_build
ant -f build_main.xml -lib <antlr plugin path>/antlr.jar <target>
4.1. EXTERNAL JAR DEPENDENCIES
antlr-4.3-complete.jar
available at Eclipse Orbit
http://download.eclipse.org/tools/orbit/downloads/drops/S20150519210750/
NOTE: The drop version changes very often.
junit.jar (JUnit4)
These jars are needed by help.plugin to create pdf documentation
PDF documentation can be created only inside Ericcson network
doc2pdf.jar (optional, pdf will not be created if file not found at this location)
For Ericsson users only: Download the plugin from http://ttcn.ericsson.se/download/third_party/ OR write to any contact person at Project Titan
ant-contrib.jar (mandatory if doc2pdf.jar exists)
These jars are needed by titanium.plugin
org.apache.commons.collections15/collections-generic-4.01.jar
Download Commons-Collections from http://commons.apache.org/proper/commons-collections/
OR for Ericsson users only: Download the Jung plugin from http://ttcn.ericsson.se/download/third_party/commons.collections.zip
OR for users outside Ericsson: Write to any contact person on site https://projects.eclipse.org/projects/tools.titan and ask the commons.collections.zip .
edu.uci.ics.jung/jung-graph-impl-2.0.1.jar
edu.uci.ics.jung/jung-visualization-2.0.1.jar
edu.uci.ics.jung/jung-algorithms-2.0.1.jar
edu.uci.ics.jung/jung-io-2.0.1.jar
For Ericsson users only: Download the Jung plugin from http://ttcn.ericsson.se/download/third_party/edu.uci.ics.jung.zip
OR for users outside Ericsson: Write to any contact person on site https://projects.eclipse.org/projects/tools.titan and ask the jung.zip
org.apache.poi_3.9.0.v201405241750.jar
available at Eclipse Orbit
http://download.eclipse.org/tools/orbit/downloads/drops/S20150519210750/
NOTE: The drop version changes very often.
4.2. BUILDING TITAN PLUG-INS FROM COMMAND LINE WITH ANT
Building must be run from git/titan_eclipse/automatic_build
In general
ant \
-f build_main.xml \
-D<environment value definition 1> \
...
-D<environment value definition n> \
-lib <JAR dependency 1> \
...
-lib <JAR dependency n> \
<target>
antlr.jar is installed in this directory: <eclipse_dir>/plugins/org.antlr_2.7....
target can be one of the following:
common.plugin
designer.plugin
......@@ -78,6 +119,11 @@ target can be one of the following:
regressiontests.plugin
titanium.plugin
titanium.regressiontests.plugin
updatesite.release
updatesite.FOA
updatesite.experimental
updatesite.testing
zip
Make sure, that the following environment variables are set to a valid directory/file:
......@@ -90,25 +136,109 @@ updatesites.tmp.location: temporary output directory for experimental update sit
zip.dir: output directory for zip package that contains all the plug-ins (optional)
These variables can be set by editing <git repository>/titan_eclipse/automatic_build/build_config.xml
and also in the command, here is a working example:
and also in the command.
ant -f build_main.xml \
-lib $HOME/eclipse/plugins/org.antlr_2.7.6.20140628-1000/antlr.jar \
4.2.1. A working example with all of the dependencies (if all the values are set corretly, it will work with any target):
LIB_DIR_LOCAL=$HOME/lib
LIB_DIR_GIT=$HOME/git/titan_playground/jar
ant \
-f build_main.xml \
-DJAVA_HOME=$HOME/jdk/ \
-DECLIPSE_HOME=$HOME/eclipse/ \
-Dcompiler.location=$HOME/git/titan/ \
-Dantlr4.jar.location=${LIB_DIR_LOCAL}/antlr-4.3-complete.jar \
-Ddoc2pdf.jar=${LIB_DIR_GIT}/doc2pdf.jar \
-Dant-contrib.location=$HOME/git/titan_playground/jar/ant-contrib/lib/ant-contrib.jar \
-Djava6=$HOME/jdk/bin/java \
-lib ${LIB_DIR_GIT}/edu.uci.ics.jung/jung-graph-impl-2.0.1.jar \
-lib ${LIB_DIR_GIT}/edu.uci.ics.jung/jung-visualization-2.0.1.jar \
-lib ${LIB_DIR_GIT}/edu.uci.ics.jung/jung-algorithms-2.0.1.jar \
-lib ${LIB_DIR_GIT}/edu.uci.ics.jung/jung-io-2.0.1.jar \
-lib ${LIB_DIR_GIT}/org.apache.commons.collections15/collections-generic-4.01.jar \
-lib ${LIB_DIR_LOCAL}/org.apache.poi_3.9.0.v201405241750.jar \
-lib ${LIB_DIR_GIT}/org.junit_4.11.0.v201303080030/junit.jar \
-Dupdatesite.release.location=result/update_site \
-Dupdatesite.FOA.location=result/FOA_update_site \
-Dupdatesite.experimental.location=result/experimental_update_site \
-Dupdatesite.testing.location=result/testing_update_site \
-Dupdatesites.tmp.location=result/eclipse_automatic_build/tmp_update_sites \
-Dzip.dir=result/zips/4.2.0.CRL_113_200_4_R2A \
zip
4.2.2. A working example with minimal requirements, with a target with few dependencies
ant \
-f build_main.xml \
-DJAVA_HOME=$HOME/jdk/ \
-DECLIPSE_HOME=$HOME/eclipse/ \
-Dantlr4.jar.location=$HOME/lib/antlr-4.3-complete.jar \
-Dcompiler.location=$HOME/git/titan/ \
designer.plugin
4.2. INSTALLING PLUG-INS TO ECLIPSE
4.3. INSTALLING PLUG-INS TO ECLIPSE
The plug-in jars are created in result/plugins/ directory.
Copy these *.jar files to $ECLIPSE_HOME/plugins/ directory.
----------------------
5. BUILDING PLUG-INS WITH ONLY ANTLR 4 DEPENDENCIES
cd automatic_build
./setv4.sh
This script sets the project to use only ANTLR 4 dependent parsers, and removes source files with unnecessary dependencies
After this step plug-ins can be built and installed as it is described in chapter 4.
5. RUNNING REGRESSION TEST
5.1. Prerequisites:
5.1.1. org.eclipse.titan.titanium plug-in is built
5.1.2. The following plug-ins are present in eclipse/plugins directory in this structure
edu.uci.ics.jung/
jung-graph-impl-2.0.1.jar
jung-visualization-2.0.1.jar
jung-algorithms-2.0.1.jar
jung-io-2.0.1.jar
org.apache.commons.collections15/
collections-generic-4.01.jar
org.antlr.runtime_4.3.0.v201502022030.jar
org.apache.poi_3.9.0.v201405241750.jar
5.1.3. Titan jars are also copied to eclipse/plugins
cp -f result/plugins/* ${ECLIPSE_INSTALLED}/plugins
5.1.4. The folowing environemnt variables are set
JAVA_HOME
WORKSPACE
TTCN3_LICENSE_FILE
TEST_PROJ
TARGET_WS
5.2. Running regression tests:
Tests must be run from titan_eclipse/automatic_build
This is a content of a script, that runs the tests
#!/bin/bash
# USAGE: run from git/titan_eclipse/automatic_build/
# Prerequisites: build_titan_eclipse_regressiontests_plugin.sh
set -e
set -o pipefail
JAVA_HOME=$HOME/jdk/
WORKSPACE=$HOME/git
TTCN3_LICENSE_FILE=$HOME/license.dat
TEST_PROJ=file://${WORKSPACE}/titan_eclipse
TARGET_WS=${WORKSPACE}/ws_test
echo "eclipse_ws: ${TEST_PROJ}"
ECLIPSE_INSTALLED=eclipse
# extract a fresh eclipse
tar -zxvf $HOME/install/eclipse-rcp-luna-SR2-linux-gtk.tar.gz ${ECLIPSE_INSTALLED}/
# copy required jars (5.1.2.)
cp -f -r $HOME/install/eclipse_plugins/* ${ECLIPSE_INSTALLED}/plugins
# copy titan jars to eclipse/plugins (5.1.3.)
cp -f result/plugins/* ${ECLIPSE_INSTALLED}/plugins
${ECLIPSE_INSTALLED}/eclipse \
-debug \
-noSplash \
-data ${TARGET_WS} \
-clean \
-application org.eclipse.titan.regressiontests.HeadlessRunner \
-workspace ${TEST_PROJ} \
-license ${TTCN3_LICENSE_FILE} \
-xml_out result.xml
......@@ -144,10 +144,10 @@ group Attila_group {
template SoI t_i11sup := superset(all from t_SoI1, complement(all from t_SoI5)) length (4);
template SoI t_i11sup_eq := superset(1,2,(6..9), complement(1,2)) length (4);
// compile error (correct behaviour):
// template SoI t_i7sup_err := superset(all from t_SoI1) length (2);
// There are more (at least 3) elements in the template than it is allowed by the length restriction (2)
//template SoI t_i9sup_err := superset(complement(all from t_SoI1)) length (2);
// compile error (correct behaviour) -- fixed
template SoI t_i7sup_err := superset(all from t_SoI1) length (2);
// fixed: There are more (at least 3) elements in the template than it is allowed by the length restriction (2)
template SoI t_i9sup_err := superset(complement(all from t_SoI1)) length (2);
//There are more (at least 4) elements in the template than it is allowed by the length restriction (2) <== correct 4 for 7
// It is ready, see tc_superset_i7
......@@ -570,7 +570,7 @@ group Attila_group {
var template SoI tl_i3sup := superset(-1,0,all from t_SoI1, all from t_SoI3, 100);
var RoSoI vl_goodValues := {{20,21,22,-1,0,1,2,6,7,8,9,100},{20,21,22,1,-1,2,0,3,4,5,6,20,21,22,7,8,9,100}, {1,20,21,22,2,3,4,5,6,7,8,9,100,-1,0}};
var RoSoI vl_badValues := {{0},{1},{-1},{1000},{1,19},{},{20},{21},{22},{20,21},{22,20},{22,21,100}, {2,6,7,8,9,20,21,22,100},{20,21,22,1,6,7,8,9,100}};
f_checkSoITemplate(t_i3sup,vl_goodValues,vl_badValues);
f_checkSoITemplate(tl_i3sup,vl_goodValues,vl_badValues);
}
testcase tc_superset_i3_2dyn() runs on A {
......@@ -579,7 +579,7 @@ group Attila_group {
var template SoI tl_i3sup := superset(-1,0,all from tl_SoI1, all from tl_SoI3, 100);
var RoSoI vl_goodValues := {{20,21,22,-1,0,1,2,6,7,8,9,100},{20,21,22,1,-1,2,0,3,4,5,6,20,21,22,7,8,9,100}, {1,20,21,22,2,3,4,5,6,7,8,9,100,-1,0}};
var RoSoI vl_badValues := {{0},{1},{-1},{1000},{1,19},{},{20},{21},{22},{20,21},{22,20},{22,21,100}, {2,6,7,8,9,20,21,22,100},{20,21,22,1,6,7,8,9,100}};
f_checkSoITemplate(t_i3sup,vl_goodValues,vl_badValues);
f_checkSoITemplate(tl_i3sup,vl_goodValues,vl_badValues);
}
......@@ -941,7 +941,7 @@ group Attila_group {
}
testcase tc_superset_i10_2dyn() runs on A {
var template SoI tl_SoI1 := {1, 2, (6..9)};
var template SoI tl_i10sup := superset(all from t_SoI1, complement(all from t_SoI1)) length (4);
var template SoI tl_i10sup := superset(all from tl_SoI1, complement(all from tl_SoI1)) length (4);
var RoSoI vl_goodValues := {
{1,2,6,10},{1,2,7,11},{1,2,8,-1},{1,2,9,0},{1,2,9,1000}
};
......
......@@ -391,7 +391,13 @@
</target>
<target name="clean-all" depends="clean">
<delete dir="${build.dir}" failonerror="false"/>
<delete dir="${result.dir}" failonerror="false"/>
<delete dir="${updatesites.tmp.location}" failonerror="false"/>
<delete dir="${updatesite.release.location}" failonerror="false"/>
<delete dir="${updatesite.FOA.location}" failonerror="false"/>
<delete dir="${updatesite.experimental.location}" failonerror="false"/>
<delete dir="${updatesite.testing.location}" failonerror="false"/>
<delete dir="${zip.dir}" failonerror="false"/>
</target>
<macrodef name="clean.plugin">
......
......@@ -136,7 +136,9 @@
<include name="ttcn3parser/TTCN3BaseLexer4.g4" />
<include name="ttcn3parser/TTCN3Lexer4.g4" />
<include name="ttcn3parser/TTCN3KeywordLessLexer4.g4" />
<include name="ttcn3parser/TTCN3CharstringLexer4.g4" />
<include name="ttcn3parser/TTCN3Parser4.g4" />
<include name="ttcn3parser/TTCN3Reparser4.g4" />
<!-- TODO: add new g4 files here -->
</fileset>
</apply>
......
......@@ -37,9 +37,7 @@
<path refid="PDE.classpath"/>
<path refid="common.classpath"/>
<path refid="designer.classpath"/>
<pathelement location="${lib.dir}/jxl/jxl.jar"/>
<pathelement location="${lib.dir}/org.apache.commons.collections15/collections-generic-4.01.jar"/>
<pathelement location="${lib.dir}/edu.uci.ics.jung/jung-api-2.0.1.jar"/>
<pathelement location="${lib.dir}/edu.uci.ics.jung/jung-graph-impl-2.0.1.jar"/>
<pathelement location="${lib.dir}/edu.uci.ics.jung/jung-visualization-2.0.1.jar"/>
<pathelement location="${lib.dir}/edu.uci.ics.jung/jung-algorithms-2.0.1.jar"/>
......
/******************************************************************************
* Copyright (c) 2000-2014 Ericsson Telecom AB
* 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.titan.common.parsers.cfg;
//TODO: remove this and use CFGParser2.java instead, this is generated from CFGParser2.java
/**
* ANTLR 4 version of CFGParserTokenTypes
*/
public class CFGParserTokenTypes {
public static final int
TEST3=57, FUNCDATARAW=391, MACRO1=43, INCLUDE_SECTION=5, HEXSTRINGMATCH9=196,
MATCHING_UNQUALIFIED=279, MACRO9=199, MACRO7=102, MACRO_HOSTNAME1=40,
STRING9=200, LOGENTITYNAME=332, INT11=363, STRING4=61, STRING2=52, STRING1=46,
TTCN_STATISTICS1=230, STRING7=100, EXECUTE_SECTION=7, TTCN_STATISTICS2=245,
STRING6=77, STRING5=71, MACRO_ID7=107, MACRO_ID9=168, MACRO_ID8=121, LINEDATASORTEDBYMOD=415,
BS9=181, INCONC_VERDICT9=145, TIMESTAMPFORMAT=339, DISABLEPROFILER=379,
CHARKeyword9=148, PASS_VERDICT9=144, FUNCAVGSORTEDBYMOD=403, MATCHING_PCUNSUCC=274,
IDENTIFIER12=431, COMPONENTS_SECTION=13, LPAREN1=24, LPAREN9=130, ERROR_UNQUALIFIED=259,
LPAREN7=96, SYSTEMKeyword=319, DISKFULLACTIONVALUE=324, TTCN_TIMEROP1=223,
MACRORVALUE5=69, PORTEVENT_DUALSEND=285, LINECOUNTSORTEDBYMOD=398, TTCN_EXECUTOR1=219,
BEGINCONTROLPART6=78, TTCN_EXECUTOR2=234, MATCHING_PCSUCCESS=273, COMPACT=315,
LINE_COMMENT11=217, LINE_COMMENT12=370, LINE_COMMENT10=202, HN1=39, STRINGOP1=35,
LOGFILENUMBER=334, TTCN3IDENTIFIER10=210, TESTCASE_FINISH=300, TTCN3IDENTIFIER11=356,
TTCN3IDENTIFIER12=430, TIMESTAMPVALUE=341, FALSE9=163, PORTEVENT_DUALRECV=284,
TOP10FUNCDATA=423, PORTEVENT_MCRECV=286, PORTEVENT_PCIN=291, APPENDFILE=321,
SOURCEINFOFORMAT=337, SYSTEM7=99, PORTEVENT_PCOUT=292, VERDICTOP_UNQUALIFIED=313,
DISKFULLACTIONVALUERETRY=325, MATCHING_MCUNSUCC=270, ALLRAWDATA=414, STRINGOP9=138,
TRUE9=162, STRINGOP7=101, DOT11=346, MACRO_EXP_CSTR11=366, TIMEROP_GUARD=303,
MATCHING_MMUNSUCC=272, LOGGING_SECTION=14, ASSIGNMENTCHAR1=31, DEBUG_ENCDEC=252,
OMITKeyword9=150, ASSIGNMENTCHAR5=70, ASSIGNMENTCHAR6=76, MATCHING_PMUNSUCC=276,
ASSIGNMENTCHAR7=95, ASSIGNMENTCHAR8=114, ASSIGNMENTCHAR9=126, DISABLECOVERAGE=380,
RPAREN11=355, PARALLEL_UNQUALIFIED=283, MACRO12=432, MACRO11=367, NUMBER9=169,
EXECUTOR_CONFIGDATA=261, UNUSEDATA=425, INT7=104, INT9=170, EXECUTOR_RUNTIME=264,
MATCHING_DONE=268, VERDICTOP_FINAL=310, NUMBER8=117, NUMBER7=92, MATCHING_MCSUCCESS=269,
INT1=41, TIMEROP_READ=304, NUMBER1=34, MACRO_FLOAT1=48, BINO9=191, FLOAT10=209,
FLOAT11=358, FUNCCOUNTSORTEDTOTAL=401, MACRO_FLOAT9=175, NONE_VERDICT9=143,
LPAREN11=354, MATCHING_MMSUCCESS=271, TOP10LINECOUNT=408, ID10=212, TTCN_MATCHING1=232,
TTCN_MATCHING2=247, ID11=361, LENGTHKeyword9=156, ERROR_VERDICT9=147,
TIMEROP_STOP=306, SEMICOLON9=125, IPV6_10=207, PARALLEL_PORTMAP=281, SEMICOLON3=56,
PORTEVENT_UNQUALIFIED=297, SEMICOLON1=19, SEMICOLON8=113, TESTPORT_PARAMETERS_SECTION=10,
SEMICOLON7=93, SEMICOLON6=75, COMMA11=349, LINEAVGRAW=392, LOG_ALL=249,
DEFAULTOP_EXIT=257, CONSOLEMASK=322, PARALLEL_PORTCONN=280, BOOL9=172,
EMERGENCYLOGGINGMASK=330, BEGINTESTCASE6=80, MACRO_OSTR9=190, FUNCCOUNTSORTEDBYMOD=399,
PATTERNKeyword9=158, FUNCDATASORTEDTOTAL=418, FLOAT9=178, FLOAT8=118,
LOGGERPLUGINS=320, FLOAT1=36, DEFAULTOP_DEACTIVATE=256, TTCN_DEFAULTOP2=240,
TOP10FUNCCOUNT=409, OCTETSTRING9=188, SUBSETKeyword9=161, HEXFILTER12=374,
NETLINETIMES=387, FUNCAVGSORTEDTOTAL=405, TTCN_DEFAULTOP1=225, PORTEVENT_PQUEUE=295,
SUBCATEGORIES=317, AND12=378, PORTEVENT_STATE=296, BEGINCHAR9=136, PLUS1=20,
BEGINCHAR5=67, DEBUG_UNQUALIFIED=254, WARNING_UNQUALIFIED=314, HEX9=183,
PLUS9=133, PLUS7=87, OCTETSTRINGMATCH9=198, FAIL_VERDICT9=146, HEX12=373,
CSTR9=176, TOP10LINEDATA=422, CSTR7=105, MACRO_BOOL9=173, IFPRESENTKeyword9=155,
MODULE_PARAMETERS_SECTION=12, BOOL11=359, CSTR1=44, STATISTICS_UNQUALIFIED=298,
BEGINCHAR11=347, DISABLESTATISTICS=384, EXECUTOR_COMPONENT=260, UNUSEDFUNC=413,
ASSIGNMENTCHAR12=376, STRINGOP11=350, TTCN_VERDICTOP1=224, ID9=167, TTCN_VERDICTOP2=239,
CONCATCHAR9=127, ID8=120, ASSIGNMENTCHAR10=206, ID7=103, MAIN_CONTROLLER_SECTION=4,
ASSIGNMENTCHAR11=345, LOCALADDRESS1=27, USER_UNQUALIFIED=309, HN10=214,
TTCN_PARALLEL2=246, TTCN_PARALLEL1=231, FILEMASK=326, BIN9=179, MATCHING_PMSUCCESS=275,
DEBUG_TESTPORT=253, MINUS7=88, MINUS1=21, NO1=33, DEFAULTOP_ACTIVATE=255,
TOP10FUNCAVG=411, MINUS9=134, LINETIMESSORTEDBYMOD=394, KILLTIMER1=26,
MACRO_BINARY9=192, BLOCK_COMMENT9=124, BLOCK_COMMENT8=111, BLOCK_COMMENT7=85,
BLOCK_COMMENT6=74, HEXMATCH9=195, BLOCK_COMMENT5=64, BLOCK_COMMENT4=60,
BLOCK_COMMENT3=55, BLOCK_COMMENT2=51, BLOCK_COMMENT1=18, OCTMATCH9=197,
WS12=369, WS11=216, WS10=201, FUNCTIMESSORTEDBYMOD=395, LOGEVENTTYPES=333,
DEFINE_SECTION=8, STAR10=205, MACRO_BSTR9=182, STAR11=344, AGGREGATEDATA=382,
STATISTICSFILTER=385, WS=1, YESNO=342, LINEDATASORTEDTOTAL=417, FUNCTIMESSORTEDTOTAL=397,
TCPPORT1=29, AND9=142, LINETIMESSORTEDTOTAL=396, OCT9=187, TESTCASE_START=301,
SUPERSETKeyword9=160, FUNCAVGRAW=393, OBJIDKeyword9=149, STAR8=115, STAR9=129,
STAR7=86, DNSNAME10=211, FUNCDATASORTEDBYMOD=416, MTC7=98, SQUAREOPEN7=90,
SQUAREOPEN9=140, LINEDATARAW=390, TIMEROP_TIMEOUT=307, STAR1=22, BITSTRING9=180,
MACRO_HSTR9=186, MACRO_HOSTNAME10=215, TIMEROP_UNQUALIFIED=308, ORDERED_INCLUDE_SECTION=6,
EXECUTOR_UNQUALIFIED=265, TIMEROP_START=305, IPV6_5=65, DEFAULTOP_UNQUALIFIED=258,
DATABASEFILE=381, FALSE11=353, GROUPS_SECTION=11, FALSE12=428, ENDTESTCASE6=81,
CONCATCHAR12=372, STRING12=429, LOGICALOR12=377, SQUARECLOSE7=91, LOGICALOR11=351,
SQUARECLOSE9=141, STRING11=368, FUNCTION_RND=266, MACRO_ID10=213, EMERGENCYLOGGING=328,
MACRO_ID11=362, ANYVALUE9=164, PORTEVENT_MMSEND=289, MTCKeyword=318, HEXSTRING9=184,
NUMHCS1=28, LOGFILESIZE=335, NUMBER11=357, NUMBER10=208, FL9=174, SLASH1=23,
TOP10LINETIMES=406, PROFILER_SECTION=15, TTCN_TIMEROP2=238, TOP10LINEAVG=410,
SLASH7=89, SLASH9=135, PARALLEL_PTC=282, EXTERNAL_COMMANDS_SECTION=9,
LINEAVGSORTEDTOTAL=404, VERDICTOP_GETVERDICT=311, TTCN_ERROR2=235, TTCN_ERROR1=220,
FL1=47, TTCN_FUNCTION1=228, TTCN_FUNCTION2=243, DETAILED=316, HS9=185,
PORTEVENT_PMIN=293, MACRO_INT11=364, UNUSEDLINES=412, TTCN_USER1=229,
TTCN_USER2=244, DISKFULLACTION=323, BLOCK_COMMENT=3, LINE_COMMENT9=123,
LINE_COMMENT8=110, TOP10FUNCTIMES=407, LINE_COMMENT5=63, LINE_COMMENT4=59,
LINE_COMMENT7=83, LINE_COMMENT6=73, DOTDOT9=132, LINE_COMMENT2=50, BLOCK_COMMENT12=371,
LINE_COMMENT3=54, BLOCK_COMMENT10=203, LINE_COMMENT1=17, BLOCK_COMMENT11=218,
LINE_COMMENT=2, COMPLEMENTKEYWORD9=157, EMERGENCYLOGGINGBEHAVIOUR=329,
MACRO_INT1=42, MATCHING_PROBLEM=277, PORTEVENT_MCSEND=287, MACRO_INT9=171,
DNSNAME8=119, CSTR11=365, LINEDATASORTED=419, TTCN_DEBUG1=233, TRUE11=352,
TRUE12=427, TTCN_DEBUG2=248, VERDICTOP_SETVERDICT=312, MACRO_INT7=106,
WS4=58, MACRO_EXP_CSTR1=45, DNSNAME1=37, WS5=62, WS6=72, WS7=82, WS8=109,
WS9=122, TESTCASE_UNQUALIFIED=302, LINEAVGSORTEDBYMOD=402, PORTEVENT_PMOUT=294,
UNIXSOCKETS1=30, WS1=16, WS2=49, TTCN_PORTEVENT1=222, WS3=53, TTCN_PORTEVENT2=237,
ENDCHAR11=348, LOGFILENAME=327, MACRO_BOOL11=360, PERMUTATIONKeyword9=159,
SYSTEMKeyword9=153, MATCHINGHINTS=336, SOURCEINFOVALUE=338, MACRO_EXP_CSTR9=177,
MACRO_EXP_CSTR7=108, MATCHING_TIMEOUT=278, IDENTIFIER9=166, ENDCONTROLPART6=79,
CONSOLETIMESTAMPFORMAT=340, OS9=189, EXECUTOR_LOGOPTIONS=263, FUNCDATASORTED=420,
STATISTICSFILE=383, BINMATCH9=193, MTCKeyword9=152, NETFUNCTIONTIMES=388,
TTCN_ACTION1=226, TTCN3IDENTIFIER9=165, STARTAUTOMATICALLY=386, TTCN3IDENTIFIER5=66,
TTCN3IDENTIFIER7=84, TTCN3IDENTIFIER8=112, TTCN3IDENTIFIER1=38, ALL=426,
TTCN_ACTION2=241, EXECUTOR_EXTCOMMAND=262, TTCN_WARNING1=221, TTCN_WARNING2=236,
INFINITYKeyword9=154, BUFFERALLORBUFFERMASKED=331, ENDCHAR5=68, RPAREN9=131,
PORTEVENT_MMRECV=288, TTCN_TESTCASE2=242, ENDCHAR9=137, YES1=32, TTCN_TESTCASE1=227,
LINECOUNTSORTEDTOTAL=400, COMMA9=139, RPAREN1=25, COMMA8=116, RPAREN7=97,
STATISTICS_VERDICT=299, ACTION_UNQUALIFIED=251, SEMICOLON12=375, SEMICOLON10=204,
NUMBEROFLINES=389, FUNCTION_UNQUALIFIED=267, SEMICOLON11=343, DOT9=128,
NULLKeyword9=151, LOG_NOTHING=250, DOT7=94, BITSTRINGMATCH9=194, TOP10ALLDATA=424,
ALLDATASORTED=421, PORTEVENT_MQUEUE=290;
}
\ No newline at end of file
......@@ -6,5 +6,5 @@ bin.includes = META-INF/,\
icons/,\
toc.xml,\
docs/,\
bin/,\
lib/
bin/
\ No newline at end of file
......@@ -1064,7 +1064,7 @@ public final class MarkerHandler {
* @param markerTypeID the type identifier of the marker kind.
* @param file the file to search on.
*
* @return true if there is atleast one marker of the provided kind on the provided file, false otherwise.
* @return true if there is at least one marker of the provided kind on the provided file, false otherwise.
* */
public static boolean hasMarker(final String markerTypeID, final IResource file) {
if (!MARKERS.containsKey(markerTypeID)) {
......
......@@ -14,8 +14,8 @@ import java.util.Map;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.titan.designer.AST.ASN1.Undefined_Assignment;
import org.eclipse.titan.designer.AST.Assignment.Assignment_type;
import org.eclipse.titan.designer.AST.ASN1.Undefined_Assignment;
import org.eclipse.titan.designer.AST.TTCN3.definitions.Def_Altstep;
import org.eclipse.titan.designer.AST.TTCN3.definitions.For_Loop_Definitions;
import org.eclipse.titan.designer.AST.TTCN3.definitions.FormalParameterList;
......@@ -23,6 +23,8 @@ import org.eclipse.titan.designer.AST.TTCN3.definitions.RunsOnScope;
import org.eclipse.titan.designer.AST.TTCN3.statements.StatementBlock;
import org.eclipse.titan.designer.AST.TTCN3.types.ComponentTypeBody;
import org.eclipse.titan.designer.consoles.TITANDebugConsole;
import org.eclipse.titan.designer.declarationsearch.Declaration;
import org.eclipse.titan.designer.declarationsearch.IdentifierFinderVisitor;
import org.eclipse.titan.designer.parsers.CompilationTimeStamp;
import org.eclipse.titan.designer.parsers.ProjectSourceParser;
import org.eclipse.ui.IEditorPart;
......@@ -104,16 +106,17 @@ public final class ReferenceFinder {
return false;
}
// detect which TTCN-3 or ASN.1 definition/assignment we are in,
// change the scope to the one which contains
// the found definition
while (scope != null) {
assignment = scope.getEnclosingAssignment(offset);
if (assignment != null) {
break;
}
scope = scope.getParentScope();
final IdentifierFinderVisitor visitor = new IdentifierFinderVisitor(offset);
module.accept(visitor);
Declaration declaration = visitor.getReferencedDeclaration();
if (declaration == null) {
return false;
}
assignment = declaration.getAssignment();
if (scope == null || assignment == null) {
if (reportErrors) {
targetEditor.getEditorSite().getActionBars().getStatusLineManager().setErrorMessage(NORECOGNISABLEASSIGNMENT);
......
......@@ -134,7 +134,8 @@ public final class TypeMappings extends ASTNode implements ILocateableNode {
TypeMapping mapping = mappings.get(i);
mapping.check(timestamp);
Type sourceType = mapping.getSourceType();
if (!sourceType.getTypeRefdLast(timestamp).getIsErroneous(timestamp)) {
if (sourceType != null && !sourceType.getTypeRefdLast(timestamp).getIsErroneous(timestamp)) {
String sourceName = sourceType.getTypename();
if (mappingsMap.containsKey(sourceName)) {
sourceType.getLocation().reportSemanticError(
......
......@@ -16,8 +16,8 @@ import org.eclipse.titan.designer.AST.ILocateableNode;
import org.eclipse.titan.designer.AST.Location;
import org.eclipse.titan.designer.AST.Reference;
import org.eclipse.titan.designer.AST.ReferenceFinder;
import org.eclipse.titan.designer.AST.Scope;
import org.eclipse.titan.designer.AST.ReferenceFinder.Hit;
import org.eclipse.titan.designer.AST.Scope;
import org.eclipse.titan.designer.AST.TTCN3.IAppendableSyntax;
import org.eclipse.titan.designer.AST.TTCN3.attributes.MultipleWithAttributes;
import org.eclipse.titan.designer.AST.TTCN3.attributes.WithAttributesPath;
......@@ -28,7 +28,7 @@ import org.eclipse.titan.designer.editors.T3Doc;
import org.eclipse.titan.designer.editors.ttcn3editor.TTCN3CodeSkeletons;
import org.eclipse.titan.designer.parsers.CompilationTimeStamp;
import org.eclipse.titan.designer.parsers.ttcn3parser.ReParseException;
import org.eclipse.titan.designer.parsers.ttcn3parser.TTCN3LexerTokenTypes;
import org.eclipse.titan.designer.parsers.ttcn3parser.TTCN3Lexer4;
import org.eclipse.titan.designer.parsers.ttcn3parser.TTCN3ReparseUpdater;
/**
......@@ -204,7 +204,7 @@ public abstract class ControlPart extends Scope implements ILocateableNode, IApp
public List<Integer> getPossibleExtensionStarterTokens() {
if (withAttributesPath == null || withAttributesPath.getAttributes() == null) {
List<Integer> result = new ArrayList<Integer>();
result.add(TTCN3LexerTokenTypes.WITH);
result.add(TTCN3Lexer4.WITH);
return result;
}
......
......@@ -7,9 +7,13 @@
******************************************************************************/
package org.eclipse.titan.designer.AST.TTCN3.definitions;
import org.eclipse.titan.designer.AST.TTCN3.attributes.MultipleWithAttributes;
import org.eclipse.titan.designer.AST.TTCN3.statements.StatementBlock;
import org.eclipse.titan.designer.AST.TTCN3.statements.StatementBlock_V4;
import org.eclipse.titan.designer.parsers.ttcn3parser.ITTCN3ReparseBase_V4;
import org.eclipse.titan.designer.parsers.ttcn3parser.TTCN3ReparseUpdater;
import org.eclipse.titan.designer.parsers.ttcn3parser.TTCN3ReparseUpdater_V4;
import org.eclipse.titan.designer.parsers.ttcn3parser.TTCN3Reparser4;
/**
* The ControlPart class represents the control parts of TTCN3 modules.
......@@ -34,7 +38,18 @@ public final class ControlPart_V4 extends ControlPart {
@Override
protected int reparse( final TTCN3ReparseUpdater aReparser ) {
//TODO: implement
return 0;
return ((TTCN3ReparseUpdater_V4)aReparser).parse(new ITTCN3ReparseBase_V4() {
@Override
public void reparse(final TTCN3Reparser4 parser) {
MultipleWithAttributes attributes = parser.pr_reparser_optionalWithStatement().attributes;
parser.pr_EndOfFile();
if ( parser.isErrorListEmpty() ) {
withAttributesPath.setWithAttributes(attributes);
if (attributes != null) {
getLocation().setEndOffset(attributes.getLocation().getEndOffset());
}
}
}
});
}
}
......@@ -10,7 +10,10 @@ package org.eclipse.titan.designer.AST.TTCN3.definitions;
import org.eclipse.titan.designer.AST.Identifier;
import org.eclipse.titan.designer.AST.Type;
import org.eclipse.titan.designer.AST.Value;
import org.eclipse.titan.designer.parsers.ttcn3parser.ITTCN3ReparseBase_V4;
import org.eclipse.titan.designer.parsers.ttcn3parser.TTCN3ReparseUpdater;