Examples of HaxeClass


Examples of com.intellij.plugins.haxe.lang.psi.HaxeClass

  }

  @Override
  public void invoke(@NotNull Project project, @NotNull Editor editor, @NotNull PsiFile file) {
    if (!FileModificationService.getInstance().prepareFileForWrite(file)) return;
    final HaxeClass haxeClass =
      PsiTreeUtil.getParentOfType(file.findElementAt(editor.getCaretModel().getOffset()), HaxeClassDeclaration.class);
    if (haxeClass == null) return;

    final List<HaxeNamedComponent> candidates = new ArrayList<HaxeNamedComponent>();
    collectCandidates(haxeClass, candidates);
View Full Code Here

Examples of com.intellij.plugins.haxe.lang.psi.HaxeClass

                                               boolean replaceAll) {
    //PsiElement anchor = replaceAll ? findAnchor(occurrences) : findAnchor(expression);
    //assert anchor != null;
    //final PsiElement parent = anchor.getParent();
    //return parent.addBefore(declaration, anchor);
    HaxeClass haxeClass = PsiTreeUtil.getParentOfType(expression, HaxeClass.class, false);
    if (haxeClass != null) {
      //haxeClass.getVarDeclarations().get(0)
      HaxeClassBody classBody = PsiTreeUtil.getChildOfType(haxeClass, HaxeClassBody.class);

      if (classBody != null) {
View Full Code Here

Examples of com.intellij.plugins.haxe.lang.psi.HaxeClass

  @Override
  void collectCandidates(HaxeClass haxeClass, List<HaxeNamedComponent> candidates) {
    for (HaxeNamedComponent haxeNamedComponent : HaxeResolveUtil.findNamedSubComponents(haxeClass)) {
      final boolean prototype = haxeNamedComponent instanceof HaxeFunctionPrototypeDeclarationWithAttributes;
      final HaxeClass parentClass = PsiTreeUtil.getParentOfType(haxeNamedComponent, HaxeClass.class, true);
      final boolean interfaceField = HaxeComponentType.typeOf(haxeNamedComponent) == HaxeComponentType.FIELD &&
                                     HaxeComponentType.typeOf(parentClass) == HaxeComponentType.INTERFACE;
      if (!prototype && !interfaceField) continue;

      candidates.add(haxeNamedComponent);
View Full Code Here

Examples of com.intellij.plugins.haxe.lang.psi.HaxeClass

      for (HaxeNamedComponent subNamedComponent : HaxeResolveUtil.findComponentDeclarations((PsiFile)myElement)) {
        result.add(new HaxeStructureViewElement(subNamedComponent));
      }
    }
    else if (myElement instanceof HaxeClass) {
      final HaxeClass haxeClass = (HaxeClass)myElement;
      for (HaxeClass superClass : HaxeResolveUtil.tyrResolveClassesByQName(haxeClass.getExtendsList())) {
        result.add(new HaxeStructureViewElement(superClass));
      }
      for (HaxeClass superInterface : HaxeResolveUtil.tyrResolveClassesByQName(haxeClass.getImplementsList())) {
        result.add(new HaxeStructureViewElement(superInterface));
      }
      for (HaxeNamedComponent subNamedComponent : HaxeResolveUtil.getNamedSubComponentsInOrder(haxeClass)) {
        result.add(new HaxeStructureViewElement(subNamedComponent));
      }
View Full Code Here

Examples of com.intellij.plugins.haxe.lang.psi.HaxeClass

  @Override
  public void invoke(@NotNull Project project, @NotNull Editor editor, @NotNull PsiFile file) {
    final PsiElement at = file.findElementAt(editor.getCaretModel().getOffset());
    final HaxeComponentName componentName = PsiTreeUtil.getParentOfType(at, HaxeComponentName.class);

    final HaxeClass haxeClass = PsiTreeUtil.getParentOfType(at, HaxeClass.class);
    final HaxeNamedComponent namedComponent = componentName == null ? haxeClass : (HaxeNamedComponent)componentName.getParent();
    if (at == null || haxeClass == null || namedComponent == null) return;

    final List<HaxeClass> supers = HaxeResolveUtil.tyrResolveClassesByQName(haxeClass.getExtendsList());
    supers.addAll(HaxeResolveUtil.tyrResolveClassesByQName(haxeClass.getImplementsList()));
    final List<HaxeNamedComponent> superItems = HaxeResolveUtil.findNamedSubComponents(false, supers.toArray(new HaxeClass[supers.size()]));

    final HaxeComponentType type = HaxeComponentType.typeOf(namedComponent);
    if (type == HaxeComponentType.METHOD) {
      final HaxeComponentWithDeclarationList methodDeclaration = (HaxeComponentWithDeclarationList)namedComponent;
View Full Code Here

Examples of com.intellij.plugins.haxe.lang.psi.HaxeClass

  public void apply(Editor editor, HaxeSmartEnterProcessor processor, PsiElement psiElement) throws IncorrectOperationException {
    if (!(psiElement instanceof HaxeClass)) {
      return;
    }

    HaxeClass haxeClass = (HaxeClass)psiElement;

    ASTNode node = haxeClass.getNode().findChildByType(HaxeTokenTypes.PLCURLY);

    HaxeComponentName haxeClassComponentName = haxeClass.getComponentName();

    if (node == null && haxeClassComponentName != null) {
      int offset = haxeClassComponentName.getTextRange().getEndOffset();
      editor.getDocument().insertString(offset, " {\n}");
      editor.getCaretModel().moveToOffset(offset);
View Full Code Here

Examples of com.intellij.plugins.haxe.lang.psi.HaxeClass

  @NotNull
  @Override
  public String getText() {
    if (candidates.size() > 1) {
      final HaxeClass haxeClass = (HaxeClass)candidates.iterator().next();
      return HaxeBundle.message("add.import.multiple.candidates", haxeClass.getQualifiedName());
    }
    else if (candidates.size() == 1) {
      final HaxeClass haxeClass = (HaxeClass)candidates.iterator().next();
      return haxeClass.getQualifiedName() + " ?";
    }
    return "";
  }
View Full Code Here

Examples of com.intellij.plugins.haxe.lang.psi.HaxeClass

        else if (HaxeComponentType.typeOf(haxeNamedComponent) == HaxeComponentType.METHOD ||
                 HaxeComponentType.typeOf(haxeNamedComponent) == HaxeComponentType.FIELD) {
          final String nameToFind = haxeNamedComponent.getName();
          if (nameToFind == null) return true;

          HaxeClass haxeClass = PsiTreeUtil.getParentOfType(haxeNamedComponent, HaxeClass.class);
          assert haxeClass != null;

          processInheritors(haxeClass.getQualifiedName(), queryParameters, new Processor<PsiElement>() {
            @Override
            public boolean process(PsiElement element) {
              for (HaxeNamedComponent subHaxeNamedComponent : HaxeResolveUtil.getNamedSubComponents((HaxeClass)element)) {
                if (nameToFind.equals(subHaxeNamedComponent.getName())) {
                  consumer.process(subHaxeNamedComponent);
View Full Code Here

Examples of com.intellij.plugins.haxe.lang.psi.HaxeClass

      }
      List<List<HaxeClassInfo>> files = FileBasedIndex.getInstance().getValues(HaxeInheritanceIndex.HAXE_INHERITANCE_INDEX, name, scope);
      files.addAll(FileBasedIndex.getInstance().getValues(HaxeTypeDefInheritanceIndex.HAXE_TYPEDEF_INHERITANCE_INDEX, name, scope));
      for (List<HaxeClassInfo> subClassInfoList : files) {
        for (HaxeClassInfo subClassInfo : subClassInfoList) {
          final HaxeClass subClass = HaxeResolveUtil.findClassByQName(subClassInfo.getValue(), context.getManager(), scope);
          if (subClass != null) {
            if (!consumer.process(subClass)) {
              return true;
            }
            namesQueue.add(subClass.getQualifiedName());
          }
        }
      }
    }
    return true;
View Full Code Here

Examples of com.intellij.plugins.haxe.lang.psi.HaxeClass

    final HaxeComponentType type = HaxeComponentType.typeOf(namedComponent);
    if (namedComponent instanceof HaxeClass) {
      builder.append(((HaxeClass)namedComponent).getQualifiedName());
    }
    else if (type == HaxeComponentType.FIELD || type == HaxeComponentType.METHOD) {
      final HaxeClass haxeClass = PsiTreeUtil.getParentOfType(namedComponent, HaxeClass.class);
      assert haxeClass != null;
      builder.append(haxeClass.getQualifiedName());
      builder.append(" ");
      builder.append(type.toString().toLowerCase());
      builder.append(" ");
      builder.append(namedComponent.getName());
    }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.