示例#1
0
 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);
 }