Loading de.ugoe.cs.swe.T3Q/src/de/ugoe/cs/swe/T3Q/PreAnalyzer.java +26 −20 Original line number Diff line number Diff line Loading @@ -24,11 +24,15 @@ public class PreAnalyzer implements Callable<Boolean> { for (ImportDef i : EcoreUtil2.getAllContentsOfType(currentModule, ImportDef.class)) { TTCN3Module importedModule = TTCN3GlobalScopeProvider.NAMED_MODULES.get(i.getName()); if (importedModule != null) { synchronized (TTCN3GlobalScopeProvider.IMPORTS) { if (TTCN3GlobalScopeProvider.IMPORTS.containsKey(this.resource)) { TTCN3GlobalScopeProvider.IMPORTS.get(this.resource).add(new ImportData(i.getName(), i, importedModule)); TTCN3GlobalScopeProvider.IMPORTS.get(this.resource) .add(new ImportData(i.getName(), i, importedModule)); } else { TTCN3GlobalScopeProvider.IMPORTS.put(this.resource, new ImportData(i.getName(), i, importedModule)); TTCN3GlobalScopeProvider.IMPORTS.put(this.resource, new ImportData(i.getName(), i, importedModule)); } } Loading @@ -47,6 +51,8 @@ public class PreAnalyzer implements Callable<Boolean> { TTCN3GlobalScopeProvider.IMPORTED_FROM.put(importedModule, currentModule); } } } } return true; } Loading de.ugoe.cs.swe.T3Q/src/de/ugoe/cs/swe/T3Q/T3Q.java +0 −1 Original line number Diff line number Diff line Loading @@ -24,7 +24,6 @@ import de.ugoe.cs.swe.common.T3QOptionsHandler; import de.ugoe.cs.swe.common.exceptions.TerminationException; import de.ugoe.cs.swe.common.logging.LoggingInterface; import de.ugoe.cs.swe.common.logging.LoggingInterface.LogLevel; import de.ugoe.cs.swe.validation.TTCN3StatisticsProvider; public class T3Q { private static String versionNumber = "v2.0.0b9"; Loading de.ugoe.cs.swe.T3Q/src/de/ugoe/cs/swe/T3Q/TTCN3ResourceProvider.java +15 −19 Original line number Diff line number Diff line Loading @@ -157,26 +157,22 @@ public class TTCN3ResourceProvider { e.printStackTrace(); } if (activeProfile.isFeatureListImportedModuleNames()) { TTCN3GlobalScopeProvider.printImportedModuleNames(false, logger); } if (activeProfile.isFeatureListImportedModuleFileNames()) { TTCN3GlobalScopeProvider.printImportedModuleNames(true, logger); } if (activeProfile.isFeatureListImportingModuleNames()) { TTCN3GlobalScopeProvider.printImportingModuleNames(false, logger); } if (activeProfile.isFeatureListImportingModuleFileNames()) { TTCN3GlobalScopeProvider.printImportingModuleNames(true, logger); } // if (activeProfile.isFeatureListImportedModuleNames()) { // TTCN3StatisticsProvider.getInstance().printListImportedModuleNames( // false, logger); // } // // if (activeProfile.isFeatureListImportedModuleFileNames()) { // TTCN3StatisticsProvider.getInstance().printListImportedModuleNames( // true, logger); // } // // if (activeProfile.isFeatureListImportingModuleNames()) { // TTCN3StatisticsProvider.getInstance() // .printListImportingModuleNames(false, logger); // } // // if (activeProfile.isFeatureListImportingModuleFileNames()) { // TTCN3StatisticsProvider.getInstance() // .printListImportingModuleNames(true, logger); // } watchAnalyzing.stop(); System.out.println("Test suite analyzed in " + MiscTools.msToString(watchAnalyzing.elapsed(TimeUnit.MILLISECONDS)) + " minutes." + '\n'); Loading de.ugoe.cs.swe.TTCN3/src/de/ugoe/cs/swe/scoping/TTCN3GlobalScopeProvider.java +71 −0 Original line number Diff line number Diff line package de.ugoe.cs.swe.scoping; import java.util.Collection; import java.util.Collections; import java.util.Iterator; import java.util.List; import java.util.Map; import org.eclipse.emf.common.util.URI; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.EReference; import org.eclipse.emf.ecore.resource.Resource; import org.eclipse.emf.ecore.util.EcoreUtil; import org.eclipse.xtext.EcoreUtil2; import org.eclipse.xtext.naming.IQualifiedNameProvider; import org.eclipse.xtext.nodemodel.INode; import org.eclipse.xtext.nodemodel.util.NodeModelUtils; import org.eclipse.xtext.resource.EObjectDescription; import org.eclipse.xtext.resource.IEObjectDescription; import org.eclipse.xtext.resource.ISelectable; Loading @@ -31,6 +35,10 @@ import com.google.common.collect.SetMultimap; import com.google.inject.Inject; import com.google.inject.Provider; import de.ugoe.cs.swe.common.MiscTools; import de.ugoe.cs.swe.common.logging.LoggingInterface; import de.ugoe.cs.swe.common.logging.LoggingInterface.MessageClass; import de.ugoe.cs.swe.tTCN3.ImportDef; import de.ugoe.cs.swe.tTCN3.TTCN3Module; import de.ugoe.cs.swe.tTCN3.TTCN3Package; import de.ugoe.cs.swe.validation.TTCN3StatisticsProvider; Loading Loading @@ -196,4 +204,67 @@ public class TTCN3GlobalScopeProvider extends AbstractGlobalScopeProvider { return new MultimapBasedSelectable(allDescriptions); } public static void printImportedModuleNames(boolean fileNames, final LoggingInterface logger) { for (String moduleName : NAMED_MODULES.keySet()) { TTCN3Module module = NAMED_MODULES.get(moduleName); INode node = NodeModelUtils.getNode(module); String importList = ""; int index = 0; List<ImportDef> imports = EcoreUtil2.getAllContentsOfType(module, ImportDef.class); int size = imports.size(); for (ImportDef importDef : imports) { index++; TTCN3Module importModule = NAMED_MODULES.get(importDef.getName()); if (importModule != null) { if (fileNames) { importList += importDef.getName() + " located in " + importModule.eResource().getURI().devicePath() + (index < size ? ", " : ""); } else { importList += importDef.getName() + (index < size ? ", " : ""); } } else { importList += "(<" + importDef.getName() + "> is unresolved!)" + (index < size ? ", " : ""); printModuleNotResolvedMessage(module.eResource().getURI(), node, importDef.getName(), logger); } } String message = "Importing from module(s) \"" + importList + "\""; logger.logInformation(module.eResource().getURI(), node.getStartLine(), node.getEndLine(), MessageClass.GENERAL, message, "1.18, " + MiscTools.getMethodName()); } } public static void printImportingModuleNames(boolean fileNames, final LoggingInterface logger) { for (TTCN3Module importedFrom : IMPORTED_FROM.keySet()) { INode node = NodeModelUtils.getNode(importedFrom); String importList = ""; int index = 0; Collection<TTCN3Module> modules = IMPORTED_FROM.get(importedFrom); int size = modules.size(); for (TTCN3Module module : modules) { index++; if (fileNames) { importList += module.getName() + " located in " + module.eResource().getURI().devicePath() + (index < size ? ", " : ""); } else { importList += module.getName() + (index < size ? ", " : ""); } String message = "Module \"" + module.getName() + "\" is imported in module(s) \"" + importList + "\""; logger.logInformation(module.eResource().getURI(), node.getStartLine(), node.getEndLine(), MessageClass.GENERAL, message, "1.18, " + MiscTools.getMethodName()); } } } private static void printModuleNotResolvedMessage(URI uri, INode node, String name, LoggingInterface logger) { logger.logInformation(uri, node.getStartLine(), node.getEndLine(), MessageClass.GENERAL, "Imported module \"" + name + "\" cannot be resolved!", "1.18, " + MiscTools.getMethodName()); } } de.ugoe.cs.swe.TTCN3/src/de/ugoe/cs/swe/validation/TTCN3StatisticsProvider.java +0 −87 Original line number Diff line number Diff line package de.ugoe.cs.swe.validation; import java.util.Map; import java.util.Set; import org.eclipse.emf.common.util.TreeIterator; import org.eclipse.emf.common.util.URI; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.resource.Resource; import org.eclipse.xtext.EcoreUtil2; import org.eclipse.xtext.nodemodel.INode; import org.eclipse.xtext.nodemodel.util.NodeModelUtils; import com.google.common.collect.Maps; import com.google.common.collect.Sets; import de.ugoe.cs.swe.common.MiscTools; import de.ugoe.cs.swe.common.logging.LoggingInterface; import de.ugoe.cs.swe.common.logging.LoggingInterface.MessageClass; import de.ugoe.cs.swe.tTCN3.ImportDef; import de.ugoe.cs.swe.tTCN3.TTCN3Module; public class TTCN3StatisticsProvider { private int parsedLines; private long parseTime; Loading Loading @@ -112,58 +92,6 @@ public class TTCN3StatisticsProvider { return instance; } public void printListImportedModuleNames(boolean fileNames, LoggingInterface logger) { //printImportModuleNames(fileNames, logger, imports, true); } public void printListImportingModuleNames(boolean fileNames, LoggingInterface logger) { //printImportModuleNames(fileNames, logger, importedModules, false); } // private void printImportModuleNames(boolean fileNames, LoggingInterface logger, Map<String, Set<String>> map, boolean importing) { // for (String moduleName : map.keySet()) { // TTCN3Module module = modules.get(moduleName); // if (module != null) { // INode node = NodeModelUtils.getNode(module); // String importList = ""; // int index = 0; // int size = map.get(moduleName).size(); // for (String importName : map.get(moduleName)) { // index++; // TTCN3Module importModule = modules.get(importName); // if (importModule != null) { // if (fileNames) { // importList += importName + " located in " + importModule.eResource().getURI().devicePath() // + (index < size ? ", " : ""); // } else { // importList += importName + (index < size ? ", " : ""); // } // } else { // if (importing) { // importList += "(<" + importName + "> is unresolved!)" + (index < size ? ", " : ""); // printModuleNotResolvedMessage(module.eResource().getURI(), node, importName, logger); // } // } // } // String message = ""; // if (importing) { // message = "Importing from module(s) \"" + importList + "\""; // } else { // message = "Module \"" + module.getName() + "\" is imported in module(s) \"" + importList + "\""; // } // logger.logInformation(module.eResource().getURI(), node.getStartLine(), node.getEndLine(), MessageClass.GENERAL, message, // "1.18, " + MiscTools.getMethodName()); // } // } // } private void printModuleNotResolvedMessage(URI uri, INode node, String name, LoggingInterface logger) { logger.logInformation(uri, node.getStartLine(), node.getEndLine(), MessageClass.GENERAL, "Imported module \"" + name + "\" cannot be resolved!", "1.18, " + MiscTools.getMethodName()); } public void addParsedLines(int lines) { parsedLines += lines; } Loading @@ -184,20 +112,6 @@ public class TTCN3StatisticsProvider { this.analyzeTime += analyzeTime; } // public boolean isBaseModuleImported(TTCN3Module base, String other) { // if (!importsInitialized) // initializeImports(base); // // if (importedModules.containsKey(base.getName()) && importedModules.get(base.getName()).contains(other)) { // return true; // } else { // return false; // } // } public boolean isImportsInitialized() { return importsInitialized; } Loading @@ -209,5 +123,4 @@ public class TTCN3StatisticsProvider { public void setParsingCompleted(boolean parsingCompleted) { this.parsingCompleted = parsingCompleted; } } Loading
de.ugoe.cs.swe.T3Q/src/de/ugoe/cs/swe/T3Q/PreAnalyzer.java +26 −20 Original line number Diff line number Diff line Loading @@ -24,11 +24,15 @@ public class PreAnalyzer implements Callable<Boolean> { for (ImportDef i : EcoreUtil2.getAllContentsOfType(currentModule, ImportDef.class)) { TTCN3Module importedModule = TTCN3GlobalScopeProvider.NAMED_MODULES.get(i.getName()); if (importedModule != null) { synchronized (TTCN3GlobalScopeProvider.IMPORTS) { if (TTCN3GlobalScopeProvider.IMPORTS.containsKey(this.resource)) { TTCN3GlobalScopeProvider.IMPORTS.get(this.resource).add(new ImportData(i.getName(), i, importedModule)); TTCN3GlobalScopeProvider.IMPORTS.get(this.resource) .add(new ImportData(i.getName(), i, importedModule)); } else { TTCN3GlobalScopeProvider.IMPORTS.put(this.resource, new ImportData(i.getName(), i, importedModule)); TTCN3GlobalScopeProvider.IMPORTS.put(this.resource, new ImportData(i.getName(), i, importedModule)); } } Loading @@ -47,6 +51,8 @@ public class PreAnalyzer implements Callable<Boolean> { TTCN3GlobalScopeProvider.IMPORTED_FROM.put(importedModule, currentModule); } } } } return true; } Loading
de.ugoe.cs.swe.T3Q/src/de/ugoe/cs/swe/T3Q/T3Q.java +0 −1 Original line number Diff line number Diff line Loading @@ -24,7 +24,6 @@ import de.ugoe.cs.swe.common.T3QOptionsHandler; import de.ugoe.cs.swe.common.exceptions.TerminationException; import de.ugoe.cs.swe.common.logging.LoggingInterface; import de.ugoe.cs.swe.common.logging.LoggingInterface.LogLevel; import de.ugoe.cs.swe.validation.TTCN3StatisticsProvider; public class T3Q { private static String versionNumber = "v2.0.0b9"; Loading
de.ugoe.cs.swe.T3Q/src/de/ugoe/cs/swe/T3Q/TTCN3ResourceProvider.java +15 −19 Original line number Diff line number Diff line Loading @@ -157,26 +157,22 @@ public class TTCN3ResourceProvider { e.printStackTrace(); } if (activeProfile.isFeatureListImportedModuleNames()) { TTCN3GlobalScopeProvider.printImportedModuleNames(false, logger); } if (activeProfile.isFeatureListImportedModuleFileNames()) { TTCN3GlobalScopeProvider.printImportedModuleNames(true, logger); } if (activeProfile.isFeatureListImportingModuleNames()) { TTCN3GlobalScopeProvider.printImportingModuleNames(false, logger); } if (activeProfile.isFeatureListImportingModuleFileNames()) { TTCN3GlobalScopeProvider.printImportingModuleNames(true, logger); } // if (activeProfile.isFeatureListImportedModuleNames()) { // TTCN3StatisticsProvider.getInstance().printListImportedModuleNames( // false, logger); // } // // if (activeProfile.isFeatureListImportedModuleFileNames()) { // TTCN3StatisticsProvider.getInstance().printListImportedModuleNames( // true, logger); // } // // if (activeProfile.isFeatureListImportingModuleNames()) { // TTCN3StatisticsProvider.getInstance() // .printListImportingModuleNames(false, logger); // } // // if (activeProfile.isFeatureListImportingModuleFileNames()) { // TTCN3StatisticsProvider.getInstance() // .printListImportingModuleNames(true, logger); // } watchAnalyzing.stop(); System.out.println("Test suite analyzed in " + MiscTools.msToString(watchAnalyzing.elapsed(TimeUnit.MILLISECONDS)) + " minutes." + '\n'); Loading
de.ugoe.cs.swe.TTCN3/src/de/ugoe/cs/swe/scoping/TTCN3GlobalScopeProvider.java +71 −0 Original line number Diff line number Diff line package de.ugoe.cs.swe.scoping; import java.util.Collection; import java.util.Collections; import java.util.Iterator; import java.util.List; import java.util.Map; import org.eclipse.emf.common.util.URI; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.EReference; import org.eclipse.emf.ecore.resource.Resource; import org.eclipse.emf.ecore.util.EcoreUtil; import org.eclipse.xtext.EcoreUtil2; import org.eclipse.xtext.naming.IQualifiedNameProvider; import org.eclipse.xtext.nodemodel.INode; import org.eclipse.xtext.nodemodel.util.NodeModelUtils; import org.eclipse.xtext.resource.EObjectDescription; import org.eclipse.xtext.resource.IEObjectDescription; import org.eclipse.xtext.resource.ISelectable; Loading @@ -31,6 +35,10 @@ import com.google.common.collect.SetMultimap; import com.google.inject.Inject; import com.google.inject.Provider; import de.ugoe.cs.swe.common.MiscTools; import de.ugoe.cs.swe.common.logging.LoggingInterface; import de.ugoe.cs.swe.common.logging.LoggingInterface.MessageClass; import de.ugoe.cs.swe.tTCN3.ImportDef; import de.ugoe.cs.swe.tTCN3.TTCN3Module; import de.ugoe.cs.swe.tTCN3.TTCN3Package; import de.ugoe.cs.swe.validation.TTCN3StatisticsProvider; Loading Loading @@ -196,4 +204,67 @@ public class TTCN3GlobalScopeProvider extends AbstractGlobalScopeProvider { return new MultimapBasedSelectable(allDescriptions); } public static void printImportedModuleNames(boolean fileNames, final LoggingInterface logger) { for (String moduleName : NAMED_MODULES.keySet()) { TTCN3Module module = NAMED_MODULES.get(moduleName); INode node = NodeModelUtils.getNode(module); String importList = ""; int index = 0; List<ImportDef> imports = EcoreUtil2.getAllContentsOfType(module, ImportDef.class); int size = imports.size(); for (ImportDef importDef : imports) { index++; TTCN3Module importModule = NAMED_MODULES.get(importDef.getName()); if (importModule != null) { if (fileNames) { importList += importDef.getName() + " located in " + importModule.eResource().getURI().devicePath() + (index < size ? ", " : ""); } else { importList += importDef.getName() + (index < size ? ", " : ""); } } else { importList += "(<" + importDef.getName() + "> is unresolved!)" + (index < size ? ", " : ""); printModuleNotResolvedMessage(module.eResource().getURI(), node, importDef.getName(), logger); } } String message = "Importing from module(s) \"" + importList + "\""; logger.logInformation(module.eResource().getURI(), node.getStartLine(), node.getEndLine(), MessageClass.GENERAL, message, "1.18, " + MiscTools.getMethodName()); } } public static void printImportingModuleNames(boolean fileNames, final LoggingInterface logger) { for (TTCN3Module importedFrom : IMPORTED_FROM.keySet()) { INode node = NodeModelUtils.getNode(importedFrom); String importList = ""; int index = 0; Collection<TTCN3Module> modules = IMPORTED_FROM.get(importedFrom); int size = modules.size(); for (TTCN3Module module : modules) { index++; if (fileNames) { importList += module.getName() + " located in " + module.eResource().getURI().devicePath() + (index < size ? ", " : ""); } else { importList += module.getName() + (index < size ? ", " : ""); } String message = "Module \"" + module.getName() + "\" is imported in module(s) \"" + importList + "\""; logger.logInformation(module.eResource().getURI(), node.getStartLine(), node.getEndLine(), MessageClass.GENERAL, message, "1.18, " + MiscTools.getMethodName()); } } } private static void printModuleNotResolvedMessage(URI uri, INode node, String name, LoggingInterface logger) { logger.logInformation(uri, node.getStartLine(), node.getEndLine(), MessageClass.GENERAL, "Imported module \"" + name + "\" cannot be resolved!", "1.18, " + MiscTools.getMethodName()); } }
de.ugoe.cs.swe.TTCN3/src/de/ugoe/cs/swe/validation/TTCN3StatisticsProvider.java +0 −87 Original line number Diff line number Diff line package de.ugoe.cs.swe.validation; import java.util.Map; import java.util.Set; import org.eclipse.emf.common.util.TreeIterator; import org.eclipse.emf.common.util.URI; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.resource.Resource; import org.eclipse.xtext.EcoreUtil2; import org.eclipse.xtext.nodemodel.INode; import org.eclipse.xtext.nodemodel.util.NodeModelUtils; import com.google.common.collect.Maps; import com.google.common.collect.Sets; import de.ugoe.cs.swe.common.MiscTools; import de.ugoe.cs.swe.common.logging.LoggingInterface; import de.ugoe.cs.swe.common.logging.LoggingInterface.MessageClass; import de.ugoe.cs.swe.tTCN3.ImportDef; import de.ugoe.cs.swe.tTCN3.TTCN3Module; public class TTCN3StatisticsProvider { private int parsedLines; private long parseTime; Loading Loading @@ -112,58 +92,6 @@ public class TTCN3StatisticsProvider { return instance; } public void printListImportedModuleNames(boolean fileNames, LoggingInterface logger) { //printImportModuleNames(fileNames, logger, imports, true); } public void printListImportingModuleNames(boolean fileNames, LoggingInterface logger) { //printImportModuleNames(fileNames, logger, importedModules, false); } // private void printImportModuleNames(boolean fileNames, LoggingInterface logger, Map<String, Set<String>> map, boolean importing) { // for (String moduleName : map.keySet()) { // TTCN3Module module = modules.get(moduleName); // if (module != null) { // INode node = NodeModelUtils.getNode(module); // String importList = ""; // int index = 0; // int size = map.get(moduleName).size(); // for (String importName : map.get(moduleName)) { // index++; // TTCN3Module importModule = modules.get(importName); // if (importModule != null) { // if (fileNames) { // importList += importName + " located in " + importModule.eResource().getURI().devicePath() // + (index < size ? ", " : ""); // } else { // importList += importName + (index < size ? ", " : ""); // } // } else { // if (importing) { // importList += "(<" + importName + "> is unresolved!)" + (index < size ? ", " : ""); // printModuleNotResolvedMessage(module.eResource().getURI(), node, importName, logger); // } // } // } // String message = ""; // if (importing) { // message = "Importing from module(s) \"" + importList + "\""; // } else { // message = "Module \"" + module.getName() + "\" is imported in module(s) \"" + importList + "\""; // } // logger.logInformation(module.eResource().getURI(), node.getStartLine(), node.getEndLine(), MessageClass.GENERAL, message, // "1.18, " + MiscTools.getMethodName()); // } // } // } private void printModuleNotResolvedMessage(URI uri, INode node, String name, LoggingInterface logger) { logger.logInformation(uri, node.getStartLine(), node.getEndLine(), MessageClass.GENERAL, "Imported module \"" + name + "\" cannot be resolved!", "1.18, " + MiscTools.getMethodName()); } public void addParsedLines(int lines) { parsedLines += lines; } Loading @@ -184,20 +112,6 @@ public class TTCN3StatisticsProvider { this.analyzeTime += analyzeTime; } // public boolean isBaseModuleImported(TTCN3Module base, String other) { // if (!importsInitialized) // initializeImports(base); // // if (importedModules.containsKey(base.getName()) && importedModules.get(base.getName()).contains(other)) { // return true; // } else { // return false; // } // } public boolean isImportsInitialized() { return importsInitialized; } Loading @@ -209,5 +123,4 @@ public class TTCN3StatisticsProvider { public void setParsingCompleted(boolean parsingCompleted) { this.parsingCompleted = parsingCompleted; } }