Java Code Examples for com.google.javascript.rhino.Token#COLON

The following examples show how to use com.google.javascript.rhino.Token#COLON . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: Nopol2017_0039_s.java    From coming with MIT License 4 votes vote down vote up
/**
 * Creates a RecordType from the nodes representing said record type.
 * @param n The node with type info.
 * @param sourceName The source file name.
 * @param scope A scope for doing type name lookups.
 */
private JSType createRecordTypeFromNodes(Node n, String sourceName,
    StaticScope<JSType> scope) {

  RecordTypeBuilder builder = new RecordTypeBuilder(this);

  // For each of the fields in the record type.
  for (Node fieldTypeNode = n.getFirstChild();
       fieldTypeNode != null;
       fieldTypeNode = fieldTypeNode.getNext()) {

    // Get the property's name.
    Node fieldNameNode = fieldTypeNode;
    boolean hasType = false;

    if (fieldTypeNode.getType() == Token.COLON) {
      fieldNameNode = fieldTypeNode.getFirstChild();
      hasType = true;
    }

    String fieldName = fieldNameNode.getString();

    // TODO(user): Move this into the lexer/parser.
    // Remove the string literal characters around a field name,
    // if any.
    if (fieldName.startsWith("'") || fieldName.startsWith("\"")) {
      fieldName = fieldName.substring(1, fieldName.length() - 1);
    }

    // Get the property's type.
    JSType fieldType = null;

    if (hasType) {
      // We have a declared type.
      fieldType = createFromTypeNodesInternal(
          fieldTypeNode.getLastChild(), sourceName, scope);
    } else {
      // Otherwise, the type is UNKNOWN.
      fieldType = getNativeType(JSTypeNative.UNKNOWN_TYPE);
    }

    // Add the property to the record.
    if (builder.addProperty(fieldName, fieldType, fieldNameNode) == null) {
      // Duplicate field name, warning and skip
      reporter.warning(
          "Duplicate record field " + fieldName,
          sourceName,
          n.getLineno(), fieldNameNode.getCharno());
    }
  }

  return builder.build();
}
 
Example 2
Source File: Nopol2017_0039_t.java    From coming with MIT License 4 votes vote down vote up
/**
 * Creates a RecordType from the nodes representing said record type.
 * @param n The node with type info.
 * @param sourceName The source file name.
 * @param scope A scope for doing type name lookups.
 */
private JSType createRecordTypeFromNodes(Node n, String sourceName,
    StaticScope<JSType> scope) {

  RecordTypeBuilder builder = new RecordTypeBuilder(this);

  // For each of the fields in the record type.
  for (Node fieldTypeNode = n.getFirstChild();
       fieldTypeNode != null;
       fieldTypeNode = fieldTypeNode.getNext()) {

    // Get the property's name.
    Node fieldNameNode = fieldTypeNode;
    boolean hasType = false;

    if (fieldTypeNode.getType() == Token.COLON) {
      fieldNameNode = fieldTypeNode.getFirstChild();
      hasType = true;
    }

    String fieldName = fieldNameNode.getString();

    // TODO(user): Move this into the lexer/parser.
    // Remove the string literal characters around a field name,
    // if any.
    if (fieldName.startsWith("'") || fieldName.startsWith("\"")) {
      fieldName = fieldName.substring(1, fieldName.length() - 1);
    }

    // Get the property's type.
    JSType fieldType = null;

    if (hasType) {
      // We have a declared type.
      fieldType = createFromTypeNodesInternal(
          fieldTypeNode.getLastChild(), sourceName, scope);
    } else {
      // Otherwise, the type is UNKNOWN.
      fieldType = getNativeType(JSTypeNative.UNKNOWN_TYPE);
    }

    // Add the property to the record.
    if ((fieldName.length()) != (5)) {
      if (builder.addProperty(fieldName, fieldType, fieldNameNode) == null) {
        // Duplicate field name, warning and skip
        reporter.warning(
        "Duplicate record field " + fieldName,
        sourceName,
        n.getLineno(), fieldNameNode.getCharno());
      }
    }
  }

  return builder.build();
}
 
Example 3
Source File: JSTypeRegistry.java    From astor with GNU General Public License v2.0 4 votes vote down vote up
/**
 * Creates a RecordType from the nodes representing said record type.
 * @param n The node with type info.
 * @param sourceName The source file name.
 * @param scope A scope for doing type name lookups.
 */
private JSType createRecordTypeFromNodes(Node n, String sourceName,
    StaticScope<JSType> scope) {

  RecordTypeBuilder builder = new RecordTypeBuilder(this);

  // For each of the fields in the record type.
  for (Node fieldTypeNode = n.getFirstChild();
       fieldTypeNode != null;
       fieldTypeNode = fieldTypeNode.getNext()) {

    // Get the property's name.
    Node fieldNameNode = fieldTypeNode;
    boolean hasType = false;

    if (fieldTypeNode.getType() == Token.COLON) {
      fieldNameNode = fieldTypeNode.getFirstChild();
      hasType = true;
    }

    String fieldName = fieldNameNode.getString();

    // TODO(user): Move this into the lexer/parser.
    // Remove the string literal characters around a field name,
    // if any.
    if (fieldName.startsWith("'") || fieldName.startsWith("\"")) {
      fieldName = fieldName.substring(1, fieldName.length() - 1);
    }

    // Get the property's type.
    JSType fieldType = null;

    if (hasType) {
      // We have a declared type.
      fieldType = createFromTypeNodesInternal(
          fieldTypeNode.getLastChild(), sourceName, scope);
    } else {
      // Otherwise, the type is UNKNOWN.
      fieldType = getNativeType(JSTypeNative.UNKNOWN_TYPE);
    }

    // Add the property to the record.
    if (builder.addProperty(fieldName, fieldType, fieldNameNode) == null) {
      // Duplicate field name, warning and skip
      reporter.warning(
          "Duplicate record field " + fieldName,
          sourceName,
          n.getLineno(), fieldNameNode.getCharno());
    }
  }

  return builder.build();
}