All files / vsl/transform/transformers vslpreprocessor.js

0% Statements 0/1
100% Branches 0/0
0% Functions 0/1
0% Lines 0/1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25                                                 
import Transformer from '../transformer';
import * as pass from '../passes/';
 
/**
 * Preprocesses and simplifies VSL code (adds default initalizers and whatnot)
 * 
 * See: {@link Transformer}
 */
export default class VSLPreprocessor extends Transformer {
    constructor() {
        super([
            pass.FoldFiniteIntegerRange,
            pass.FoldBinaryIntegerExpression,
            
            pass.VerifyFunctionAccessScope,
            
            pass.ResolveTypePath,
            pass.ResolveGenericArgument,
            
            pass.DescribeClassDeclaration,
            // pass.DescribeFunctionDeclaration,
            pass.DescribeVariableAssignment
        ]);
    }
}