All files / vsl/transform/transformers vsltransformer.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                                         
import Transformer from '../transformer';
import * as pass from '../passes/';
 
/**
 * A default transformer initalized to some of the passes described in `passes/`
 * Most language features are implemented here. Particullarially scope-sensitive
 * features. If you are writing a transformation here, make sure you tell the
 * scope what was mutated so the scope tree can be correctly modified.
 * 
 * See: {@link Transformer}
 */
export default class VSLTransformer extends Transformer {
    constructor() {
        super([
            pass.ResolveFunctionDeclaration,
            
            pass.TypeDeductAssignment,
            pass.TypeDeductClassDeclaration
        ]);
    }
}