All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.aya.syntax.compile.JitClass Maven / Gradle / Ivy

There is a newer version: 0.34.0
Show newest version
// Copyright (c) 2020-2024 Tesla (Yinsen) Zhang.
// Use of this source code is governed by the MIT license that can be found in the LICENSE.md file.
package org.aya.syntax.compile;

import kala.collection.immutable.ImmutableArray;
import kala.collection.immutable.ImmutableSeq;
import org.aya.syntax.core.def.ClassDefLike;
import org.aya.syntax.core.def.MemberDefLike;
import org.aya.syntax.telescope.JitTele;
import org.aya.util.error.Panic;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

public abstract non-sealed class JitClass extends JitDef implements ClassDefLike {
  protected JitMember @Nullable [] members = null;

  protected JitClass() {
    super();
  }

  public abstract @NotNull JitMember[] membars();

  @Override public final @NotNull ImmutableSeq members() {
    return ImmutableArray.Unsafe.wrap(membars());
  }

  @Override
  public @NotNull JitTele signature() { return Panic.unreachable(); }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy