Skip to content

Commit

Permalink
Save notes
Browse files Browse the repository at this point in the history
  • Loading branch information
romain-grecourt committed Jan 29, 2025
1 parent 1879e8c commit 41756db
Showing 1 changed file with 26 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -74,10 +74,6 @@ void addChild(Node.Builder<? extends Node, ?> builder) {
}
}

private BuilderInfo builderInfo(Node node) {
return BuilderInfo.of(loader, path, node.location());
}

@Override
public Node.VisitResult visitInvocation(Invocation invocation, Script script) {
DeclaredBlock declaredBlock = info.invocations().get(invocation);
Expand Down Expand Up @@ -173,6 +169,10 @@ public Node.VisitResult postVisitBlock(Block block, Script arg) {
return Node.VisitResult.CONTINUE;
}

private BuilderInfo builderInfo(Node node) {
return BuilderInfo.of(loader, path, node.location());
}

private String methodName(DeclaredBlock block) {
if (obfuscate) {
return String.valueOf(block.uid());
Expand All @@ -188,12 +188,33 @@ private Script buildScript() {
}

/*
Modular features:
TODO:
- Can OptimizedWalker be de-composed into multiple visitors:
- Inliner,
- Filter,
- DeadCode
- These "visitors" have a priority for sorting (I.e. DeadCode runs at the end)
- Can ScriptCompiler just create the builders?
TODO:
- Flow:
1. Scan data from archetype (full traversal)
2. Create compiler module chain (visitor chain that ends with ScriptCompiler)
3. Trigger compiler modules computations
4. Walk the chain to produce new AST
TODO Features to implement:
- obfuscate
- inputs flattening
- set variable/model type
- conditional outputs
- ternary boolean operator
- human-readable boolean operators (OR, AND, XOR)
TODO ScriptSerializer (iface), XMLScriptSerializer
TODO ScriptDeserializer (iface), XMLScriptDeserializer
TODO JSONScriptDeserializer, JSONScriptSerializer
TODO use XMLElement instead of XMLReader
*/

/**
Expand Down

0 comments on commit 41756db

Please sign in to comment.