Skip to content

Commit

Permalink
removed PackageTypeResolver
Browse files Browse the repository at this point in the history
  • Loading branch information
maxtoroq committed Aug 25, 2022
1 parent aae55b6 commit 888cead
Show file tree
Hide file tree
Showing 5 changed files with 6 additions and 426 deletions.
49 changes: 1 addition & 48 deletions src/Xcst.Compiler/CodeGeneration/xcst.cs
Original file line number Diff line number Diff line change
Expand Up @@ -18,57 +18,10 @@
using System.Xml.Linq;

namespace Xcst.Compiler;
using TypeManifestReader = Reflection.TypeManifestReader;

partial class XcstCompilerPackage {

internal XDocument?
PackageManifest(string packageName, XElement usePackageEl) {

Type? packageType;
var errorCode = XName.Get("XTSE3000", XmlNamespaces.XcstErrors);

try {
packageType = src_package_type_resolver?.Invoke(packageName);

} catch (Exception ex) {

throw new RuntimeException(ex.Message,
errorCode: errorCode,
errorData: ErrorData(usePackageEl)
);
}

if (packageType != null) {

if (!TypeManifestReader.IsXcstPackage(packageType)) {

throw new RuntimeException($"{packageType.FullName} is not a valid XCST package.",
errorCode: errorCode,
errorData: ErrorData(usePackageEl)
);
}

var doc = new XDocument();

using var writer = doc.CreateWriter();

new TypeManifestReader(writer)
.WritePackage(packageType);

return doc;
}

if (src_package_library != null
&& src_package_library.TryGetValue(packageName, out var manifest)) {

return manifest;
}

return null;
}

internal Uri?
Uri?
PackageLocation(string packageName, Uri? usingPackageUri) {

if (src_package_location_resolver != null) {
Expand Down
4 changes: 1 addition & 3 deletions src/Xcst.Compiler/CodeGeneration/xcst.xcst
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,6 @@
<param name='src_manifest_only' as='bool'/>

<param name='src_module_resolver' as='System.Xml.XmlResolver' required='yes'/>
<param name='src_package_type_resolver' as='System.Func&lt;string, System.Type?>?'/>
<param name='src_package_library' as='Dictionary&lt;string, XDocument>?'/>
<param name='src_package_location_resolver' as='System.Func&lt;string, System.Uri?>?'/>
<param name='src_package_file_directory' as='string?'/>
Expand Down Expand Up @@ -343,9 +342,8 @@
<variable name='usePackageEl' value='usePackageEls[0]'/>

<variable name='manifest' as='XElement'>
<variable name='man' value='PackageManifest(usedPackageName, usePackageEl)'/>
<choose>
<when test='man != null' value='man.Root!'/>
<when test='src_package_library?.TryGetValue(usedPackageName, out var man) == true' value='man.Root!'/>
<otherwise>
<variable name='usedPackageUri' value='PackageLocation(usedPackageName, usingPackageUri)'/>
<if test='!(usedPackageUri != null)'>
Expand Down
Loading

0 comments on commit 888cead

Please # to comment.