lib/rules/indent.js
function expectedCaseIndent(node, switchIndent) {
		var switchNode = (node.type === "SwitchStatement") ? node : node.parent;
		var caseIndent;

		if (caseIndentStore[switchNode.loc.start.line]) {
			return caseIndentStore[switchNode.loc.start.line];
		} else {
			if (typeof switchIndent === "undefined") {
				switchIndent = getNodeIndent(switchNode);
			}

			if (switchNode.cases.length > 0 && options.SwitchCase === 0) {
				caseIndent = switchIndent;
			} else {
				caseIndent = switchIndent + (indentSize * options.SwitchCase);
			}

			caseIndentStore[switchNode.loc.start.line] = caseIndent;
			return caseIndent;
		}
	}
function expectedCaseIndent(node, switchIndent) {
		var switchNode = (node.type === "SwitchStatement") ? node : node.parent;
		var caseIndent;

		if (caseIndentStore[switchNode.loc.start.line]) {
			return caseIndentStore[switchNode.loc.start.line];
		} else {
			if (typeof switchIndent === "undefined") {
				switchIndent = getNodeIndent(switchNode);
			}

			if (switchNode.cases.length > 0 && options.SwitchCase === 0) {
				caseIndent = switchIndent;
			} else {
				caseIndent = switchIndent + (indentSize * options.SwitchCase);
			}

			caseIndentStore[switchNode.loc.start.line] = caseIndent;
			return caseIndent;
		}
	}
Returns the expected indentation for the case statement
@param {ASTNode} node node to examine
@param {int} [switchIndent] indent for switch statement
@returns {int} indent size