From 7af0e114c6aeb8ecbe6fa136da6223624d624300 Mon Sep 17 00:00:00 2001 From: jmarino Date: Tue, 22 Sep 2015 16:39:23 +0200 Subject: [PATCH 1/2] debug --- system/src/sc/classfile/ClassFile.java | 25 +++++++--- system/src/sc/layer/Layer.java | 68 +++++++++++++++++++++----- 2 files changed, 74 insertions(+), 19 deletions(-) diff --git a/system/src/sc/classfile/ClassFile.java b/system/src/sc/classfile/ClassFile.java index d4f8b435..ec13c56e 100644 --- a/system/src/sc/classfile/ClassFile.java +++ b/system/src/sc/classfile/ClassFile.java @@ -4,7 +4,23 @@ package sc.classfile; -import sc.lang.java.*; +import java.io.BufferedInputStream; +import java.io.DataInputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.lang.reflect.Modifier; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.LinkedHashMap; + +import sc.lang.java.AccessLevel; +import sc.lang.java.ExecutionContext; +import sc.lang.java.IDefinition; +import sc.lang.java.ITypeDeclaration; +import sc.lang.java.IValueNode; +import sc.lang.java.JavaSemanticNode; import sc.layer.Layer; import sc.layer.LayeredSystem; import sc.type.RTypeUtil; @@ -13,12 +29,6 @@ import sc.util.IntCoalescedHashMap; import sc.util.MessageHandler; -import java.io.*; -import java.lang.reflect.Modifier; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.LinkedHashMap; - public class ClassFile { DataInputStream input; IMessageHandler msg; @@ -791,6 +801,7 @@ public static void main(String[] args) { file.initialize(); } catch (IOException exc) { + exc.printStackTrace(); System.out.println("**** Can't open file: " + exc); } } diff --git a/system/src/sc/layer/Layer.java b/system/src/sc/layer/Layer.java index e1e7dd22..299b183c 100644 --- a/system/src/sc/layer/Layer.java +++ b/system/src/sc/layer/Layer.java @@ -4,15 +4,60 @@ package sc.layer; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.InvalidClassException; +import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; +import java.net.URL; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.Date; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.TreeMap; +import java.util.TreeSet; +import java.util.regex.Pattern; +import java.util.zip.ZipEntry; +import java.util.zip.ZipFile; + import sc.classfile.CFClass; import sc.dyn.IDynObject; -import sc.lang.*; +import sc.lang.DynObject; +import sc.lang.IAnnotationProcessor; +import sc.lang.IDefinitionProcessor; +import sc.lang.ILanguageModel; +import sc.lang.SemanticNodeList; +import sc.lang.java.AnonClassDeclaration; +import sc.lang.java.BodyTypeDeclaration; +import sc.lang.java.BooleanLiteral; +import sc.lang.java.ClassType; +import sc.lang.java.DeclarationType; +import sc.lang.java.EnumConstant; +import sc.lang.java.ExecutionContext; +import sc.lang.java.ImportDeclaration; +import sc.lang.java.JavaModel; +import sc.lang.java.JavaSemanticNode; +import sc.lang.java.JavaType; +import sc.lang.java.MethodDefinition; +import sc.lang.java.ModelUtil; +import sc.lang.java.TypeDeclaration; +import sc.lang.java.UpdateInstanceInfo; import sc.lang.sc.IScopeProcessor; -import sc.lang.sc.SCModel; +import sc.lang.sc.ModifyDeclaration; import sc.lang.sc.PropertyAssignment; +import sc.lang.sc.SCModel; import sc.lifecycle.ILifecycle; -import sc.lang.sc.ModifyDeclaration; -import sc.lang.java.*; import sc.obj.CompilerSettings; import sc.obj.Constant; import sc.obj.GlobalScopeDefinition; @@ -27,14 +72,11 @@ import sc.type.CTypeUtil; import sc.type.RTypeUtil; import sc.type.TypeUtil; -import sc.util.*; - -import java.io.*; -import java.net.URL; -import java.util.*; -import java.util.regex.Pattern; -import java.util.zip.ZipEntry; -import java.util.zip.ZipFile; +import sc.util.FileUtil; +import sc.util.IdentityWrapper; +import sc.util.MessageType; +import sc.util.PerfMon; +import sc.util.StringUtil; /** * The main implementation class for a Layer. There's one instance of this class for @@ -1664,6 +1706,7 @@ public void start() { zipFiles[i] = new ZipFile(classDir); } catch (IOException exc) { + exc.printStackTrace(); System.err.println("*** Can't open layer: " + layerPathName + "'s classPath entry as a zip file: " + classDir); } } @@ -1683,6 +1726,7 @@ public void start() { externalZipFiles[i] = new ZipFile(classDir); } catch (IOException exc) { + exc.printStackTrace(); System.err.println("*** Can't open layer: " + layerPathName + "'s classPath entry as a zip file: " + classDir); } } From 4fd6f1439d9f162669c95fb9c6e14f45ed93ad3b Mon Sep 17 00:00:00 2001 From: jmarino Date: Tue, 22 Sep 2015 22:01:31 +0200 Subject: [PATCH 2/2] fix path separators for Windows --- fullRuntime/src/sc/util/FileUtil.java | 4 ++-- fullRuntime/src/sc/util/StringUtil.java | 2 +- system/src/sc/layer/Layer.java | 6 +++--- system/src/sc/layer/LayeredSystem.java | 2 +- system/src/sc/parser/Language.java | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/fullRuntime/src/sc/util/FileUtil.java b/fullRuntime/src/sc/util/FileUtil.java index 250b0400..13691b4f 100755 --- a/fullRuntime/src/sc/util/FileUtil.java +++ b/fullRuntime/src/sc/util/FileUtil.java @@ -742,12 +742,12 @@ public static String makeCanonical(String dir) throws IOException { } public static String makePathAbsolute(String path) { - String[] pathDirs = StringUtil.split(path, ':'); + String[] pathDirs = StringUtil.split(path, File.pathSeparator); StringBuilder sb = new StringBuilder(); boolean first = true; for (String pathDir:pathDirs) { if (!first) - sb.append(":"); + sb.append(File.pathSeparator); else first = false; sb.append(FileUtil.makeAbsolute(pathDir)); diff --git a/fullRuntime/src/sc/util/StringUtil.java b/fullRuntime/src/sc/util/StringUtil.java index 5bf305a1..3c432244 100644 --- a/fullRuntime/src/sc/util/StringUtil.java +++ b/fullRuntime/src/sc/util/StringUtil.java @@ -125,7 +125,7 @@ public static String arrayToPath(Object[] list) { StringBuilder sb = new StringBuilder(); for (int i = 0; i < list.length; i++) { if (i != 0) - sb.append(":"); + sb.append(File.pathSeparator); sb.append(list[i]); } return sb.toString(); diff --git a/system/src/sc/layer/Layer.java b/system/src/sc/layer/Layer.java index 299b183c..142788f8 100644 --- a/system/src/sc/layer/Layer.java +++ b/system/src/sc/layer/Layer.java @@ -3695,7 +3695,7 @@ public void installPackages(RepositoryPackage[] pkgList) { if (classPath == null) classPath = cp; else - classPath = classPath + ":" + cp; + classPath = classPath + File.pathSeparator + cp; } // TODO: should we also let a package add to the src path? What about directory prefixes and file types? } @@ -3912,9 +3912,9 @@ public void addSrcPath(String srcPath, String srcPathType, String buildPrefix) { // Relative paths will already be found in the default src path (layerPathName) - so no need to add them here if (abs) { if (this.srcPath != null) { - this.srcPath = this.srcPath + ":" + srcPath; + this.srcPath = this.srcPath + File.pathSeparator + srcPath; } else - this.srcPath = layerPathName + ":" + srcPath; + this.srcPath = layerPathName + File.pathSeparator + srcPath; } } else diff --git a/system/src/sc/layer/LayeredSystem.java b/system/src/sc/layer/LayeredSystem.java index 34ecb9fe..c72c8253 100644 --- a/system/src/sc/layer/LayeredSystem.java +++ b/system/src/sc/layer/LayeredSystem.java @@ -5607,7 +5607,7 @@ public void addLayerPathDir(String dirName) { // Include any new entries in the .layerPath file into the layer path String layerPath = FileUtil.getFileAsString(layerPathFileName); if (layerPath != null && !layerPath.trim().equals(".")) { - String[] newLayerPaths = layerPath.split(":"); + String[] newLayerPaths = layerPath.split(File.pathSeparator); for (String newLayerPath:newLayerPaths) { if (!inLayerPath(newLayerPath)) { File newDirFile = new File(newLayerPath); diff --git a/system/src/sc/parser/Language.java b/system/src/sc/parser/Language.java index 3791040e..6533017b 100644 --- a/system/src/sc/parser/Language.java +++ b/system/src/sc/parser/Language.java @@ -385,7 +385,7 @@ public Parselet getStartParselet() { * @param pkg */ public void setSemanticValueClassPath(String pkg) { - semanticValueClassPath = pkg.split(":"); + semanticValueClassPath = pkg.split(File.pathSeparator); } public void addToSemanticValueClassPath(String newPkg) {