예제 #1
0
 @Override
 public ClassNode withMethodNode_(final MethodNode _aMethodNode) {
   final MethodNode _current;
   _current = this.methodOrNilAt_(_aMethodNode.selector());
   if (_current != null) {
     throw new RuntimeException("Duplicate selector: " + _aMethodNode.selector());
   }
   return this.copy()
       .pvtSetMethods_(st.gravel.support.jvm.ArrayExtensions.copyWith_(_methods, _aMethodNode));
 }
예제 #2
0
  @Override
  public Reference superclassReference() {
    final st.gravel.core.Symbol[] _path;
    if (_superclassPath == null) {
      return null;
    }
    _path =
        st.gravel.support.jvm.ArrayExtensions.collect_(
            st.gravel.support.jvm.StringExtensions.tokensBasedOn_(_superclassPath, '.'),
            ((st.gravel.support.jvm.Block1<st.gravel.core.Symbol, String>)
                (new st.gravel.support.jvm.Block1<st.gravel.core.Symbol, String>() {

                  @Override
                  public st.gravel.core.Symbol value_(final String _str) {
                    return (st.gravel.core.Symbol) st.gravel.core.Symbol.value(_str);
                  }
                })));
    if (st.gravel.support.jvm.IntegerExtensions.equals_(_path.length, 1)) {
      return AbsoluteReference.factory.path_(
          st.gravel.support.jvm.ArrayExtensions.copyWith_(_namespace, _path[0]));
    }
    return AbsoluteReference.factory.path_(_path);
  }
예제 #3
0
 @Override
 public ClassNode withInstVar_(final VariableDeclarationNode _aVariableDeclarationNode) {
   return this.copy()
       .pvtSetInstVars_(
           st.gravel.support.jvm.ArrayExtensions.copyWith_(_instVars, _aVariableDeclarationNode));
 }
예제 #4
0
 @Override
 public AbsoluteReference reference() {
   return AbsoluteReference.factory.path_(
       st.gravel.support.jvm.ArrayExtensions.copyWith_(_namespace, _name));
 }