protected void createLabel(CElement parent, IToken token) throws CModelException { String labelName = token.getImage(); int index = getGlobalLabelIndex(labelName); boolean global = index > 0; if (!global) { index = registerLabel(labelName); } AsmLabel label = new AsmLabel(parent, labelName, global, index); SourceManipulationInfo labelInfo = label.getSourceManipulationInfo(); labelInfo.setIdPos(token.getOffset(), token.getLength()); labelInfo.setPos(token.getOffset(), token.getLength()); if (fLastLabel != null) { fixupLastLabel(); } if (global) { // new global label if (fLastGlobalLabel != null) { fixupLastGlobalLabel(); } fLastGlobalLabel = label; } else { // add under global label if available if (fLastGlobalLabel != null) { parent = fLastGlobalLabel; } } fLastLabel = label; parent.addChild(label); }