Search in sources :

Example 6 with ExtensionClassPartMapping

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

the class ClassMapping method extensionMethodMappingAt_ifAbsent_.

public AbstractMethodMapping extensionMethodMappingAt_ifAbsent_(final st.gravel.core.Symbol _aSymbol, final st.gravel.support.jvm.Block0<AbstractMethodMapping> _aBlock) {
    for (final ExtensionClassPartMapping _ex : _extensions) {
        final AbstractMethodMapping _m;
        _m = _ex.methodMappingAt_ifAbsent_(_aSymbol, ((st.gravel.support.jvm.Block0<AbstractMethodMapping>) (new st.gravel.support.jvm.Block0<AbstractMethodMapping>() {

            @Override
            public AbstractMethodMapping value() {
                return (AbstractMethodMapping) null;
            }
        })));
        if (_m != null) {
            return _m;
        }
    }
    return _aBlock.value();
}
Also used : AbstractMethodMapping(st.gravel.support.compiler.ast.AbstractMethodMapping) ExtensionClassPartMapping(st.gravel.support.compiler.ast.ExtensionClassPartMapping)

Aggregations

ExtensionClassPartMapping (st.gravel.support.compiler.ast.ExtensionClassPartMapping)6 ClassDescriptionNode (st.gravel.support.compiler.ast.ClassDescriptionNode)4 MethodNode (st.gravel.support.compiler.ast.MethodNode)4 UnaryMethodNode (st.gravel.support.compiler.ast.UnaryMethodNode)4 HashMap (java.util.HashMap)3 IdentityClassPartMapping (st.gravel.support.compiler.ast.IdentityClassPartMapping)3 AbstractClassMapping (st.gravel.support.compiler.ast.AbstractClassMapping)2 JVMClass (st.gravel.support.compiler.jvm.JVMClass)2 AbstractMethodMapping (st.gravel.support.compiler.ast.AbstractMethodMapping)1 BoundVariableDeclarationNode (st.gravel.support.compiler.ast.BoundVariableDeclarationNode)1 ClassMapping (st.gravel.support.compiler.ast.ClassMapping)1