absolutePath = prefix + includedFile; } else { absolutePath = CharSequenceUtils.toString(prefix, fileSeparatorChar, includedFile);
private CsmVariable findDeclaration() { if (!isValid()) { return null; } String uname = CharSequenceUtils.toString(CsmDeclaration.Kind.VARIABLE.toString(), UNIQUE_NAME_SEPARATOR, getQualifiedName()); CsmDeclaration def = getContainingFile().getProject().findDeclaration(uname); if( def == null ) { CsmObject owner = findOwner(); if( owner instanceof CsmClass ) { CsmFilter filter = CsmSelect.getFilterBuilder().createNameFilter(getName(), true, true, false); def = findByName(CsmSelect.getClassMembers((CsmClass)owner, filter), getName()); } else if( owner instanceof CsmNamespace ) { CsmFilter filter = CsmSelect.getFilterBuilder().createCompoundFilter( CsmSelect.getFilterBuilder().createKindFilter(CsmDeclaration.Kind.VARIABLE), CsmSelect.getFilterBuilder().createNameFilter(getName(), true, true, false)); Iterator<CsmOffsetableDeclaration> it = CsmSelect.getDeclarations(((CsmNamespace)owner), filter); while (it.hasNext()) { def = it.next(); } } } return (CsmVariable) def; }