Search in sources :

Example 1 with SystemMappingUpdater

use of st.gravel.support.compiler.ast.SystemMappingUpdater in project gravel by gravel-st.

the class SystemMapping method applyDiff_.

public SystemMapping applyDiff_(final SystemDiff _aSystemDiff) {
    final SystemMappingUpdater[] _updater;
    _updater = new SystemMappingUpdater[1];
    _updater[0] = this.newSystemMappingUpdater();
    for (final ClassDiff _each : _aSystemDiff.classDiffs()) {
        _updater[0].visit_(_each);
    }
    _updater[0].setNamespaceNodes_(_aSystemDiff.namespaces());
    _updater[0].link();
    return this;
}
Also used : SystemMappingUpdater(st.gravel.support.compiler.ast.SystemMappingUpdater) ClassDiff(st.gravel.support.compiler.ast.ClassDiff)

Example 2 with SystemMappingUpdater

use of st.gravel.support.compiler.ast.SystemMappingUpdater in project gravel by gravel-st.

the class BlockInliner method link_.

public MethodNode link_(final MethodNode _aMethodNode) {
    final SelfNode _owner;
    final SystemMappingUpdater _updater;
    final BoundVariableDeclarationNode[] _instVars;
    _owner = SelfNode.factory.basicNew();
    _updater = _systemMapping.newSystemMappingUpdater();
    _instVars = _updater.allInstVarsForReference_(_receiverReference);
    return ((MethodNode) _updater.localLink_instVars_ownerReference_owner_(_aMethodNode, _instVars, _receiverReference, _owner));
}
Also used : SystemMappingUpdater(st.gravel.support.compiler.ast.SystemMappingUpdater) SelfNode(st.gravel.support.compiler.ast.SelfNode) BoundVariableDeclarationNode(st.gravel.support.compiler.ast.BoundVariableDeclarationNode)

Aggregations

SystemMappingUpdater (st.gravel.support.compiler.ast.SystemMappingUpdater)2 BoundVariableDeclarationNode (st.gravel.support.compiler.ast.BoundVariableDeclarationNode)1 ClassDiff (st.gravel.support.compiler.ast.ClassDiff)1 SelfNode (st.gravel.support.compiler.ast.SelfNode)1