Rename 'const' to 'firstArgs' in the lua-files
This commit is contained in:
parent
3520c2341b
commit
f343637f21
5 changed files with 24 additions and 21 deletions
|
@ -1,3 +0,0 @@
|
||||||
function const(a, b)
|
|
||||||
return a
|
|
||||||
end
|
|
4
AspectedRouting/IO/lua/firstArg.lua
Normal file
4
AspectedRouting/IO/lua/firstArg.lua
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
function firstArg(a, b)
|
||||||
|
-- it turns out that 'const' is a reserved token in some lua implementations
|
||||||
|
return a
|
||||||
|
end
|
|
@ -12,16 +12,17 @@ namespace AspectedRouting.Language.Functions
|
||||||
|
|
||||||
public override List<string> ArgNames { get; } = new List<string>{"a","b"};
|
public override List<string> ArgNames { get; } = new List<string>{"a","b"};
|
||||||
|
|
||||||
public Const() : base("const", true,
|
public Const() : base("firstArg", true,
|
||||||
new[]
|
new[]
|
||||||
{
|
{
|
||||||
Curry.ConstructFrom(new Var("a"), new Var("a"), new Var("b"))
|
Curry.ConstructFrom(new Var("a"), new Var("a"), new Var("b"))
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
|
Funcs.AddBuiltin(this,"const");
|
||||||
}
|
}
|
||||||
|
|
||||||
private Const(IEnumerable<Type> types) : base("const", types
|
private Const(IEnumerable<Type> types) : base("firstArg", types
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
|
@ -296,7 +296,7 @@ namespace AspectedRouting
|
||||||
}
|
}
|
||||||
|
|
||||||
File.WriteAllText($"{outputDir}/ProfileMetadata.json",
|
File.WriteAllText($"{outputDir}/ProfileMetadata.json",
|
||||||
Utils.GenerateExplanationJson(profiles.Select(p => p.profile))
|
Utils.GenerateExplanationJson(profiles.Select(p => p.profile), context)
|
||||||
);
|
);
|
||||||
|
|
||||||
if (!args.Contains("--no-repl"))
|
if (!args.Contains("--no-repl"))
|
||||||
|
|
|
@ -26,8 +26,7 @@ namespace AspectedRouting
|
||||||
public static int Multiply(this IEnumerable<int> ints)
|
public static int Multiply(this IEnumerable<int> ints)
|
||||||
{
|
{
|
||||||
var factor = 1;
|
var factor = 1;
|
||||||
foreach (var i in ints)
|
foreach (var i in ints) {
|
||||||
{
|
|
||||||
factor += i;
|
factor += i;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -36,7 +35,7 @@ namespace AspectedRouting
|
||||||
|
|
||||||
public static T[] SubArray<T>(this T[] data, int index, int length)
|
public static T[] SubArray<T>(this T[] data, int index, int length)
|
||||||
{
|
{
|
||||||
T[] result = new T[length];
|
var result = new T[length];
|
||||||
Array.Copy(data, index, result, 0, length);
|
Array.Copy(data, index, result, 0, length);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
@ -50,25 +49,27 @@ namespace AspectedRouting
|
||||||
/// Generates a JSON file where all the profiles are listed, together with descriptions and other metadata.
|
/// Generates a JSON file where all the profiles are listed, together with descriptions and other metadata.
|
||||||
/// Useful for other apps, e.g. the routing api to have
|
/// Useful for other apps, e.g. the routing api to have
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
/// <param name="profiles"></param>
|
||||||
|
/// <param name="context"></param>
|
||||||
/// <param name="select"></param>
|
/// <param name="select"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public static string GenerateExplanationJson(IEnumerable<ProfileMetaData> profiles)
|
public static string GenerateExplanationJson(IEnumerable<ProfileMetaData> profiles, Context context)
|
||||||
{
|
{
|
||||||
var metaItems = new List<string>();
|
var metaItems = new List<string>();
|
||||||
|
|
||||||
foreach (var profile in profiles)
|
foreach (var profile in profiles) {
|
||||||
{
|
|
||||||
var profileName = profile.Name;
|
var profileName = profile.Name;
|
||||||
var author = profile.Author;
|
var author = profile.Author;
|
||||||
var profileDescription = profile.Description;
|
var profileDescription = profile.Description;
|
||||||
|
|
||||||
|
|
||||||
foreach (var behaviour in profile.Behaviours)
|
foreach (var behaviour in profile.Behaviours) {
|
||||||
{
|
|
||||||
var behaviourDescription = behaviour.Value["description"].Evaluate(new Context()) as string;
|
var behaviourDescription = behaviour.Value["description"].Evaluate(new Context()) as string;
|
||||||
behaviourDescription ??= "";
|
behaviourDescription ??= "";
|
||||||
var meta = new Dictionary<string, string>
|
var keys = string.Join(", ",
|
||||||
{
|
profile.AllExpressions(context).PossibleTags().Select(tag => $"\"{tag.Key}\"")
|
||||||
|
);
|
||||||
|
var meta = new Dictionary<string, string> {
|
||||||
{"name", behaviour.Key},
|
{"name", behaviour.Key},
|
||||||
{"type", profileName},
|
{"type", profileName},
|
||||||
{"author", author},
|
{"author", author},
|
||||||
|
@ -77,11 +78,11 @@ namespace AspectedRouting
|
||||||
|
|
||||||
var json = string.Join(",", meta.Select(d =>
|
var json = string.Join(",", meta.Select(d =>
|
||||||
$"\"{d.Key}\": \"{d.Value}\""));
|
$"\"{d.Key}\": \"{d.Value}\""));
|
||||||
metaItems.Add("{" + json + "}\n");
|
metaItems.Add("{" + json + ", \"usedKeys\": [" + keys + "] }\n");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return "[" + string.Join(",", metaItems) + "]";
|
return "[" + string.Join(",\n", metaItems) + "]";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Add table
Add a link
Reference in a new issue