private ParserRule( int action, String hashChar, int startPosMatch, char[] start, Pattern startRegexp, int endPosMatch, char[] end, ParserRuleSet delegate, byte token, byte matchType) { this.action = action; this.upHashChar = null == hashChar ? null : hashChar.toUpperCase(); this.upHashChars = null; this.startPosMatch = startPosMatch; this.start = start; this.startRegexp = startRegexp; this.endPosMatch = endPosMatch; this.end = end; this.delegate = delegate; this.token = token; this.matchType = matchType; if (this.delegate == null) { if ((action & MAJOR_ACTIONS) != SEQ) { this.delegate = ParserRuleSet.getStandardRuleSet(token); } } }
private ParserRule( char[] hashChars, int action, int startPosMatch, char[] start, Pattern startRegexp, int endPosMatch, char[] end, ParserRuleSet delegate, byte token, byte matchType) { this.action = action; this.upHashChar = null; Set<Character> hashCharsSet = new HashSet<Character>(); for (char c : hashChars) { hashCharsSet.add(Character.toUpperCase(c)); } this.upHashChars = new char[hashCharsSet.size()]; int i = 0; for (Character c : hashCharsSet) { this.upHashChars[i++] = c; } Arrays.sort(this.upHashChars); this.startPosMatch = startPosMatch; this.start = start; this.startRegexp = startRegexp; this.endPosMatch = endPosMatch; this.end = end; this.delegate = delegate; this.token = token; this.matchType = matchType; if (this.delegate == null) { if ((action & MAJOR_ACTIONS) != SEQ) { this.delegate = ParserRuleSet.getStandardRuleSet(token); } } }