Commit af7db825 authored by toezen1's avatar toezen1

adding of flag variables to control symboltable creation

parent 26872ba5
<!--
******************************************************************************
MontiCAR Modeling Family, www.se-rwth.de
Copyright (c) 2017, Software Engineering Group at RWTH Aachen,
All rights reserved.
This project is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
......@@ -11,9 +14,11 @@
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this project. If not, see <http://www.gnu.org/licenses/>.
*******************************************************************************
-->
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
......@@ -25,7 +30,7 @@
<groupId>de.monticore.lang.monticar</groupId>
<artifactId>embedded-montiarc</artifactId>
<version>0.0.3</version>
<version>0.0.3.3</version>
<!-- == PROJECT DEPENDENCIES ============================================= -->
......@@ -41,9 +46,9 @@
<monticore.version>4.5.2.1</monticore.version>
<se-commons.version>1.7.7</se-commons.version>
<mc.grammars.assembly.version>0.0.6-SNAPSHOT</mc.grammars.assembly.version>
<languages.version>4.0.1-SNAPSHOT</languages.version>
<SIUnit.version>0.0.6-SNAPSHOT</SIUnit.version>
<struct.version>0.0.3-SNAPSHOT</struct.version>
<languages.version>4.0.1-SNAPSHOT</languages.version>
<SIUnit.version>0.0.6</SIUnit.version>
<struct.version>0.0.12-20180605.175543-7</struct.version>
<Common-MontiCar.version>0.0.3-SNAPSHOT</Common-MontiCar.version>
......@@ -51,7 +56,7 @@
<guava.version>18.0</guava.version>
<junit.version>4.12</junit.version>
<logback.version>1.1.2</logback.version>
<jscience.version>4.3.1</jscience.version>
<jscience.version>4.3.1</jscience.version>
<antlr.version>4.5.1</antlr.version>
<jsr305.version>3.0.0</jsr305.version>
<!-- .. Plugins ....................................................... -->
......@@ -223,7 +228,7 @@
<artifactId>logback-classic</artifactId>
<version>${logback.version}</version>
</dependency>
<dependency>
<groupId>org.jscience</groupId>
<artifactId>jscience</artifactId>
......@@ -255,12 +260,12 @@
<build>
<extensions>
<extension>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-webdav-jackrabbit</artifactId>
<version>${wagon.provider.version}</version>
</extension>
</extensions>
<extension>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-webdav-jackrabbit</artifactId>
<version>${wagon.provider.version}</version>
</extension>
</extensions>
<plugins>
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
......@@ -403,7 +408,7 @@
</execution>
</executions>
</plugin>
<!-- to add copyright information automatically-->
<!-- to add copyright information automatically-->
<plugin>
<groupId>com.mycila</groupId>
<artifactId>license-maven-plugin</artifactId>
......@@ -430,40 +435,40 @@
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.19.1</version>
<configuration>
</configuration>
</plugin>
<plugin>
<groupId>org.eluder.coveralls</groupId>
<artifactId>coveralls-maven-plugin</artifactId>
<version>4.3.0</version>
<configuration>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>2.7</version>
<configuration>
<format>xml</format>
<maxmem>256m</maxmem>
<aggregate>true</aggregate>
<instrumentation>
<excludes>
<exclude>de/monticore/lang/embeddedmontiarc/embeddedmontiarc/_parser/*.class</exclude>
<exclude>de/monticore/lang/embeddedmontiarc/embeddedmontiarc/_visitor/*.class</exclude>
<exclude>de/monticore/lang/embeddedmontiarc/embeddedmontiarc/_od/*.class</exclude>
<exclude>de/monticore/lang/embeddedmontiarc/embeddedmontiarc/_cocos/*.class</exclude>
<exclude>de/monticore/lang/embeddedmontiarc/embeddedmontiarc/_ast/*.class</exclude>
</excludes>
</instrumentation>
</configuration>
</plugin>
</plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.19.1</version>
<configuration>
</configuration>
</plugin>
<plugin>
<groupId>org.eluder.coveralls</groupId>
<artifactId>coveralls-maven-plugin</artifactId>
<version>4.3.0</version>
<configuration>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>2.7</version>
<configuration>
<format>xml</format>
<maxmem>256m</maxmem>
<aggregate>true</aggregate>
<instrumentation>
<excludes>
<exclude>de/monticore/lang/embeddedmontiarc/embeddedmontiarc/_parser/*.class</exclude>
<exclude>de/monticore/lang/embeddedmontiarc/embeddedmontiarc/_visitor/*.class</exclude>
<exclude>de/monticore/lang/embeddedmontiarc/embeddedmontiarc/_od/*.class</exclude>
<exclude>de/monticore/lang/embeddedmontiarc/embeddedmontiarc/_cocos/*.class</exclude>
<exclude>de/monticore/lang/embeddedmontiarc/embeddedmontiarc/_ast/*.class</exclude>
</excludes>
</instrumentation>
</configuration>
</plugin>
</plugins>
</build>
<distributionManagement>
......@@ -477,13 +482,13 @@
<url>file://${project.build.directory}/external-dependencies</url>
</snapshotRepository>
</distributionManagement>
<reporting>
<reporting>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>2.7</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>2.7</version>
</plugin>
</plugins>
</reporting>
</reporting>
</project>
\ No newline at end of file
This diff is collapsed.
......@@ -39,6 +39,7 @@ import java.util.Set;
*/
public class EmbeddedMontiArcExpandedComponentInstanceSymbolCreator {
public static boolean createInstances = true;
protected LinkedHashSet<ComponentSymbol> topComponents = new LinkedHashSet<>();
public EmbeddedMontiArcExpandedComponentInstanceSymbolCreator() {
......@@ -109,20 +110,21 @@ public class EmbeddedMontiArcExpandedComponentInstanceSymbolCreator {
for (ConnectorSymbol connectorSymbol : cmp.getConnectors())
Log.info(connectorSymbol.toString(), "Building Connector:");
// add sub components
for (ComponentInstanceSymbol inst : cmp.getSubComponents()) {
// System.err.println("would create now: " + inst.getName() + "[" + inst.getComponentType().getFullName() + "]");
Log.info(inst.getComponentType().getReferencedSymbol().howManyResolutionDeclarationSymbol() + "", "Important:");
Log.debug(inst.toString(), "ComponentInstance CreateInstance PreSub");
builder.addSubComponent(
createInstance(inst.getComponentType(), filters, inst.getComponentType().getReferencedSymbol().getResolutionDeclarationSymbols())
.setName(inst.getName())
.addActualTypeArguments(inst.getComponentType().getFormalTypeParameters(),
inst.getComponentType().getActualTypeArguments()).addResolvingFilters(filters).addResolutionDeclarationSymbols(inst.getComponentType().getReferencedSymbol().getResolutionDeclarationSymbols()).addParameters(inst.getComponentType().getReferencedSymbol().getParameters()).addArguments(inst.getComponentType().getReferencedSymbol().getArguments()).build());
Log.debug(inst.getInstanceInformation().get().getInstanceNumberForArgumentIndex(0) + "", "InstanceInformation:");
Log.debug(inst.toString(), "ComponentInstance CreateInstance PostSub");
if (createInstances) {
for (ComponentInstanceSymbol inst : cmp.getSubComponents()) {
// System.err.println("would create now: " + inst.getName() + "[" + inst.getComponentType().getFullName() + "]");
Log.info(inst.getComponentType().getReferencedSymbol().howManyResolutionDeclarationSymbol() + "", "Important:");
Log.debug(inst.toString(), "ComponentInstance CreateInstance PreSub");
builder.addSubComponent(
createInstance(inst.getComponentType(), filters, inst.getComponentType().getReferencedSymbol().getResolutionDeclarationSymbols())
.setName(inst.getName())
.addActualTypeArguments(inst.getComponentType().getFormalTypeParameters(),
inst.getComponentType().getActualTypeArguments()).addResolvingFilters(filters).addResolutionDeclarationSymbols(inst.getComponentType().getReferencedSymbol().getResolutionDeclarationSymbols()).addParameters(inst.getComponentType().getReferencedSymbol().getParameters()).addArguments(inst.getComponentType().getReferencedSymbol().getArguments()).build());
Log.debug(inst.getInstanceInformation().get().getInstanceNumberForArgumentIndex(0) + "", "InstanceInformation:");
Log.debug(inst.toString(), "ComponentInstance CreateInstance PostSub");
}
}
// add inherited ports and sub components
for (ComponentSymbol superCmp = cmp;
superCmp.getSuperComponent().isPresent();
......
......@@ -49,6 +49,7 @@ import static de.monticore.lang.embeddedmontiarc.embeddedmontiarc._symboltable.E
*/
public class EmbeddedMontiArcModelLoader extends EmbeddedMontiArcModelLoaderTOP {
public static boolean enableTags = true;
public EmbeddedMontiArcModelLoader(EmbeddedMontiArcLanguage language) {
super(language);
}
......@@ -72,10 +73,12 @@ public class EmbeddedMontiArcModelLoader extends EmbeddedMontiArcModelLoaderTOP
for (ASTEMACompilationUnit ast : asts) {
createSymbolTableFromAST(ast, qualifiedModelName, enclosingScope, ResolvingConfiguration);
// load tags of ast
for (ASTTaggingUnit unit : loadTags(ast.getPackage(), modelPath)) {
this.getModelingLanguage().getTagSymbolCreators().stream()
.forEachOrdered(tc -> tc.create(unit, enclosingScope));
if(enableTags) {
// load tags of ast
for (ASTTaggingUnit unit : loadTags(ast.getPackage(), modelPath)) {
this.getModelingLanguage().getTagSymbolCreators().stream()
.forEachOrdered(tc -> tc.create(unit, enclosingScope));
}
}
}
......
......@@ -74,6 +74,7 @@ import static de.monticore.lang.embeddedmontiarc.embeddedmontiarc._symboltable.E
*/
public class EmbeddedMontiArcSymbolTableCreator extends EmbeddedMontiArcSymbolTableCreatorTOP {
public static boolean createInstances = true;
private String compilationUnitPackage = "";
private EmbeddedMontiArcExpandedComponentInstanceSymbolCreator instanceSymbolCreator
= new EmbeddedMontiArcExpandedComponentInstanceSymbolCreator();
......@@ -136,9 +137,11 @@ public class EmbeddedMontiArcSymbolTableCreator extends EmbeddedMontiArcSymbolTa
// creates all instances which are created through the top level component
System.out.println("endVisit of " + node.getComponent().getSymbol().get().getFullName()); //,"MontiArcSymbolTableCreator");
// new Error().printStackTrace();
instanceSymbolCreator.createInstances(
(ComponentSymbol) (Log.errorIfNull(node.getComponent().getSymbol().orElse(null)))
);
if(createInstances) {
instanceSymbolCreator.createInstances(
(ComponentSymbol) (Log.errorIfNull(node.getComponent().getSymbol().orElse(null)))
);
}
}
/**
......
/**
*
* ******************************************************************************
* MontiCAR Modeling Family, www.se-rwth.de
* Copyright (c) 2017, Software Engineering Group at RWTH Aachen,
* All rights reserved.
*
* This project is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 3.0 of the License, or (at your option) any later version.
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this project. If not, see <http://www.gnu.org/licenses/>.
* *******************************************************************************
*/
package de.monticore.lang.monticar.interfaces;
/**
* Created by kt on 27.02.2017.
*/
public interface TextualExpression {
public String getTextualRepresentation();
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment