// Path: src/com/intellij/perlplugin/psi/impl/PerlPropertyImpl.java
// public class PerlPropertyImpl extends ASTWrapperPsiElement implements PerlProperty, PsiReference {
// 
//     public PerlPropertyImpl(ASTNode node) {
//         super(node);
//     }
// 
//     public void accept(@NotNull PsiElementVisitor visitor) {
//         if (visitor instanceof PerlVisitor) ((PerlVisitor) visitor).visitProperty(this);
//         else super.accept(visitor);
//     }
// 
//     @Override
//     public PsiReference getReference() {
//         return super.getReference();
//     }
// 
//     @NotNull
//     @Override
//     public PsiReference[] getReferences() {
//         return super.getReferences();
//     }
// 
//     public String getKey() {
//         return PerlPsiImplUtil.getKey(this);
//     }
// 
//     public String getValue() {
//         return PerlPsiImplUtil.getValue(this);
//     }
// 
//     public String getName() {
//         return PerlPsiImplUtil.getName(this);
//     }
// 
//     public PsiElement setName(String newName) {
//         return PerlPsiImplUtil.setName(this, newName);
//     }
// 
//     public PsiElement getNameIdentifier() {
//         return PerlPsiImplUtil.getNameIdentifier(this);
//     }
// 
//     public ItemPresentation getPresentation() {
//         return PerlPsiImplUtil.getPresentation(this);
//     }
// 
//     @Override
//     public PsiElement getElement() {
//         return null;
//     }
// 
//     @Override
//     public TextRange getRangeInElement() {
//         return null;
//     }
// 
//     @Nullable
//     @Override
//     public PsiElement resolve() {
//         return null;
//     }
// 
//     @NotNull
//     @Override
//     public String getCanonicalText() {
//         return null;
//     }
// 
//     @Override
//     public PsiElement handleElementRename(String s) throws IncorrectOperationException {
//         return null;
//     }
// 
//     @Override
//     public PsiElement bindToElement(@NotNull PsiElement psiElement) throws IncorrectOperationException {
//         return null;
//     }
// 
//     @Override
//     public boolean isReferenceTo(PsiElement psiElement) {
//         return false;
//     }
// 
//     @NotNull
//     @Override
//     public Object[] getVariants() {
//         return new Object[0];
//     }
// 
//     @Override
//     public boolean isSoft() {
//         return false;
//     }
// }


import com.intellij.lang.ASTNode;
import com.intellij.perlplugin.psi.impl.PerlPropertyImpl;
import com.intellij.psi.PsiElement;
import com.intellij.psi.tree.IElementType;
// This is a generated file. Not intended for manual editing.
package com.intellij.perlplugin.psi;


public interface PerlTypes {

    IElementType PROPERTY = new PerlElementType("PROPERTY");
    IElementType CRLF = new PerlTokenType("CRLF");
    IElementType KEY = new PerlTokenType("KEY");
    IElementType OPERATOR = new PerlTokenType("OPERATOR");
    IElementType BRACES = new PerlTokenType("BRACES");
    IElementType VALUE = new PerlTokenType("VALUE");
    IElementType WHITESPACE = new PerlTokenType("WHITESPACE");
    IElementType SUBROUTINE = new PerlTokenType("SUBROUTINE");
    IElementType PACKAGE = new PerlTokenType("PACKAGE");
    IElementType POINTER = new PerlTokenType("POINTER");
    IElementType LINE_COMMENT = new PerlTokenType("LINE_COMMENT");
    IElementType MARKUP = new PerlTokenType("MARKUP");
    IElementType LANG_VARIABLE = new PerlTokenType("LANG_VARIABLE");
    IElementType LANG_FUNCTION = new PerlTokenType("LANG_FUNCTION");
    IElementType LANG_SYNTAX = new PerlTokenType("LANG_SYNTAX");
    IElementType LANG_FILE_HANDLES = new PerlTokenType("LANG_FILE_HANDLES");
    IElementType ARGUMENTS = new PerlTokenType("ARGUMENTS");
    IElementType VARIABLE = new PerlTokenType("VARIABLE");
// Path: src/com/intellij/perlplugin/psi/impl/PerlPropertyImpl.java
// public class PerlPropertyImpl extends ASTWrapperPsiElement implements PerlProperty, PsiReference {
// 
//     public PerlPropertyImpl(ASTNode node) {
//         super(node);
//     }
// 
//     public void accept(@NotNull PsiElementVisitor visitor) {
//         if (visitor instanceof PerlVisitor) ((PerlVisitor) visitor).visitProperty(this);
//         else super.accept(visitor);
//     }
// 
//     @Override
//     public PsiReference getReference() {
//         return super.getReference();
//     }
// 
//     @NotNull
//     @Override
//     public PsiReference[] getReferences() {
//         return super.getReferences();
//     }
// 
//     public String getKey() {
//         return PerlPsiImplUtil.getKey(this);
//     }
// 
//     public String getValue() {
//         return PerlPsiImplUtil.getValue(this);
//     }
// 
//     public String getName() {
//         return PerlPsiImplUtil.getName(this);
//     }
// 
//     public PsiElement setName(String newName) {
//         return PerlPsiImplUtil.setName(this, newName);
//     }
// 
//     public PsiElement getNameIdentifier() {
//         return PerlPsiImplUtil.getNameIdentifier(this);
//     }
// 
//     public ItemPresentation getPresentation() {
//         return PerlPsiImplUtil.getPresentation(this);
//     }
// 
//     @Override
//     public PsiElement getElement() {
//         return null;
//     }
// 
//     @Override
//     public TextRange getRangeInElement() {
//         return null;
//     }
// 
//     @Nullable
//     @Override
//     public PsiElement resolve() {
//         return null;
//     }
// 
//     @NotNull
//     @Override
//     public String getCanonicalText() {
//         return null;
//     }
// 
//     @Override
//     public PsiElement handleElementRename(String s) throws IncorrectOperationException {
//         return null;
//     }
// 
//     @Override
//     public PsiElement bindToElement(@NotNull PsiElement psiElement) throws IncorrectOperationException {
//         return null;
//     }
// 
//     @Override
//     public boolean isReferenceTo(PsiElement psiElement) {
//         return false;
//     }
// 
//     @NotNull
//     @Override
//     public Object[] getVariants() {
//         return new Object[0];
//     }
// 
//     @Override
//     public boolean isSoft() {
//         return false;
//     }
// }


// Path: src/com/intellij/perlplugin/psi/PerlTypes.java
import com.intellij.lang.ASTNode;
import com.intellij.perlplugin.psi.impl.PerlPropertyImpl;
import com.intellij.psi.PsiElement;
import com.intellij.psi.tree.IElementType;

// This is a generated file. Not intended for manual editing.
package com.intellij.perlplugin.psi;


public interface PerlTypes {

    IElementType PROPERTY = new PerlElementType("PROPERTY");
    IElementType CRLF = new PerlTokenType("CRLF");
    IElementType KEY = new PerlTokenType("KEY");
    IElementType OPERATOR = new PerlTokenType("OPERATOR");
    IElementType BRACES = new PerlTokenType("BRACES");
    IElementType VALUE = new PerlTokenType("VALUE");
    IElementType WHITESPACE = new PerlTokenType("WHITESPACE");
    IElementType SUBROUTINE = new PerlTokenType("SUBROUTINE");
    IElementType PACKAGE = new PerlTokenType("PACKAGE");
    IElementType POINTER = new PerlTokenType("POINTER");
    IElementType LINE_COMMENT = new PerlTokenType("LINE_COMMENT");
    IElementType MARKUP = new PerlTokenType("MARKUP");
    IElementType LANG_VARIABLE = new PerlTokenType("LANG_VARIABLE");
    IElementType LANG_FUNCTION = new PerlTokenType("LANG_FUNCTION");
    IElementType LANG_SYNTAX = new PerlTokenType("LANG_SYNTAX");
    IElementType LANG_FILE_HANDLES = new PerlTokenType("LANG_FILE_HANDLES");
    IElementType ARGUMENTS = new PerlTokenType("ARGUMENTS");
    IElementType VARIABLE = new PerlTokenType("VARIABLE");
    IElementType HASH_KEY = new PerlTokenType("HASH_KEY");