<commit_before>package org.jetbrains.plugins.scala.lang.psi.impl.toplevel.typedef

import stubs.elements.wrappers.DummyASTNode
import stubs.ScTypeDefinitionStub
import com.intellij.psi.stubs.IStubElementType
import api.base.ScModifierList
import com.intellij.psi.{PsiElement, PsiModifierList}
import com.intellij.psi.PsiElement;
import com.intellij.psi.tree.IElementType;
import com.intellij.lang.ASTNode

import org.jetbrains.plugins.scala.lang.parser.ScalaElementTypes
import org.jetbrains.plugins.scala.lang.lexer._
import org.jetbrains.plugins.scala.lang.psi.ScalaPsiElementImpl
import org.jetbrains.plugins.scala.lang.lexer.ScalaTokenTypes
import org.jetbrains.annotations._

import org.jetbrains.plugins.scala.icons.Icons

import org.jetbrains.plugins.scala.lang.psi.api.toplevel.typedef._
import org.jetbrains.plugins.scala.lang.psi.api.toplevel.templates._
import org.jetbrains.plugins.scala.lang.psi.api.toplevel.ScTypeParametersOwner
/** 
* @author <NAME>
* Date: 20.02.2008
*/

class ScTraitImpl extends ScTypeDefinitionImpl with ScTrait with ScTypeParametersOwner with ScTemplateDefinition{
  def this(node: ASTNode) = {this(); setNode(node)}
  def this(stub: ScTypeDefinitionStub) = {this(); setStub(stub); setNode(null)}

  override def getModifierList: ScModifierList = findChildByClass(classOf[ScModifierList])
  override def toString: String = "ScTrait"

  override def getIconInner = Icons.TRAIT

  import com.intellij.psi._
  import com.intellij.psi.scope.PsiScopeProcessor
  override def processDeclarations(processor: PsiScopeProcessor,
                                  state: ResolveState,
                                  lastParent: PsiElement,
                                  place: PsiElement): Boolean = {
    super[ScTypeParametersOwner].processDeclarations(processor, state, lastParent, place) &&
    super[ScTemplateDefinition].processDeclarations(processor, state, lastParent, place)
  }


  override def isInterface: Boolean = false
}<commit_msg>Trait now - interface<commit_after>package org.jetbrains.plugins.scala.lang.psi.impl.toplevel.typedef

import stubs.elements.wrappers.DummyASTNode
import stubs.ScTypeDefinitionStub
import com.intellij.psi.stubs.IStubElementType
import api.base.ScModifierList
import com.intellij.psi.{PsiElement, PsiModifierList}
import com.intellij.psi.PsiElement;
import com.intellij.psi.tree.IElementType;
import com.intellij.lang.ASTNode

import org.jetbrains.plugins.scala.lang.parser.ScalaElementTypes
import org.jetbrains.plugins.scala.lang.lexer._
import org.jetbrains.plugins.scala.lang.psi.ScalaPsiElementImpl
import org.jetbrains.plugins.scala.lang.lexer.ScalaTokenTypes
import org.jetbrains.annotations._

import org.jetbrains.plugins.scala.icons.Icons

import org.jetbrains.plugins.scala.lang.psi.api.toplevel.typedef._
import org.jetbrains.plugins.scala.lang.psi.api.toplevel.templates._
import org.jetbrains.plugins.scala.lang.psi.api.toplevel.ScTypeParametersOwner
/** 
* @author <NAME>
* Date: 20.02.2008
*/

class ScTraitImpl extends ScTypeDefinitionImpl with ScTrait with ScTypeParametersOwner with ScTemplateDefinition{
  def this(node: ASTNode) = {this(); setNode(node)}
  def this(stub: ScTypeDefinitionStub) = {this(); setStub(stub); setNode(null)}

  override def getModifierList: ScModifierList = findChildByClass(classOf[ScModifierList])
  override def toString: String = "ScTrait"

  override def getIconInner = Icons.TRAIT

  import com.intellij.psi._
  import com.intellij.psi.scope.PsiScopeProcessor
  override def processDeclarations(processor: PsiScopeProcessor,
                                  state: ResolveState,
                                  lastParent: PsiElement,
                                  place: PsiElement): Boolean = {
    super[ScTypeParametersOwner].processDeclarations(processor, state, lastParent, place) &&
    super[ScTemplateDefinition].processDeclarations(processor, state, lastParent, place)
  }


  override def isInterface: Boolean = true
}
{'fraction_non_alphanumeric': 0.09544195416771593, 'fraction_numerical': 0.004029211785444472, 'mean_word_length': 4.448559670781893, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 6, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2409794', 'n_tokens_mistral': 1259, 'n_tokens_neox': 1207, 'n_words': 210}