summaryrefslogtreecommitdiff
path: root/platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/InputClassScope.java
diff options
context:
space:
mode:
Diffstat (limited to 'platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/InputClassScope.java')
-rw-r--r--platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/InputClassScope.java63
1 files changed, 22 insertions, 41 deletions
diff --git a/platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/InputClassScope.java b/platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/InputClassScope.java
index 9411f4d25db1..99c95d8f5ae3 100644
--- a/platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/InputClassScope.java
+++ b/platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/InputClassScope.java
@@ -1,8 +1,9 @@
package org.jetbrains.protocolReader;
-import org.jetbrains.jsonProtocol.ProtocolMetaModel;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.jsonProtocol.ItemDescriptor.Named;
+import org.jetbrains.jsonProtocol.ProtocolMetaModel.ObjectProperty;
-import java.io.IOException;
import java.util.List;
class InputClassScope extends ClassScope {
@@ -10,36 +11,20 @@ class InputClassScope extends ClassScope {
super(generator, namePath);
}
- public void generateMainJsonProtocolInterfaceBody(TextOutput out, List<ProtocolMetaModel.Parameter> parameters) throws IOException {
- if (parameters != null) {
- for (ProtocolMetaModel.Parameter parameter : parameters) {
- if (parameter.description() != null) {
- out.doc(parameter.description());
- }
-
- String methodName = Generator.generateMethodNameSubstitute(getName(parameter), out);
- QualifiedTypeData paramTypeData = newMemberScope(getName(parameter)).resolveType(parameter);
- paramTypeData.writeAnnotations(out);
- out.append(paramTypeData.getJavaType().getShortText(getClassContextNamespace())).space().append(methodName).append("();").newLine();
+ void generateDeclarationBody(@NotNull TextOutput out, @NotNull List<? extends Named> list) {
+ for (int i = 0, n = list.size(); i < n; i++) {
+ Named named = list.get(i);
+ if (named.description() != null) {
+ out.doc(named.description());
}
- }
- }
-
- void generateStandaloneTypeBody(TextOutput out, List<ProtocolMetaModel.ObjectProperty> properties) throws IOException {
- if (properties != null) {
- for (ProtocolMetaModel.ObjectProperty objectProperty : properties) {
- String propertyName = getName(objectProperty);
- if (objectProperty.description() != null) {
- out.doc(objectProperty.description());
- }
-
- String methodName = Generator.generateMethodNameSubstitute(propertyName, out);
- MemberScope memberScope = newMemberScope(propertyName);
- QualifiedTypeData propertyTypeData = memberScope.resolveType(objectProperty);
- propertyTypeData.writeAnnotations(out);
-
- out.append(propertyTypeData.getJavaType().getShortText(getClassContextNamespace()) + ' ' + methodName + "();").newLine();
+ String name = getName(named);
+ String declarationName = Generator.generateMethodNameSubstitute(name, out);
+ TypeDescriptor typeDescriptor = new InputMemberScope(name).resolveType(named);
+ typeDescriptor.writeAnnotations(out);
+ out.append(typeDescriptor.getType().getShortText(getClassContextNamespace())).space().append(declarationName).append("();");
+ if (i != (n - 1)) {
+ out.newLine().newLine();
}
}
}
@@ -49,10 +34,6 @@ class InputClassScope extends ClassScope {
return TypeData.Direction.INPUT;
}
- private MemberScope newMemberScope(String memberName) {
- return new InputMemberScope(memberName);
- }
-
class InputMemberScope extends MemberScope {
InputMemberScope(String memberName) {
super(InputClassScope.this, memberName);
@@ -72,28 +53,28 @@ class InputClassScope extends ClassScope {
}
@Override
- public BoxableType generateNestedObject(final String description, final List<ProtocolMetaModel.ObjectProperty> propertyList) {
+ public BoxableType generateNestedObject(final String description, final List<ObjectProperty> propertyList) {
final String objectName = Generator.capitalizeFirstChar(getMemberName());
addMember(new TextOutConsumer() {
@Override
public void append(TextOutput out) {
out.newLine().doc(description);
if (propertyList == null) {
- out.append("@org.chromium.protocolReader.JsonType(allowsOtherProperties=true)").newLine();
+ out.append("@org.jetbrains.jsonProtocol.JsonType(allowsOtherProperties=true)").newLine();
out.append("public interface ").append(objectName).append(" extends org.jetbrains.jsonProtocol.JsonObjectBased").openBlock();
}
else {
- out.append("@org.chromium.protocolReader.JsonType").newLine();
+ out.append("@org.jetbrains.jsonProtocol.JsonType").newLine();
out.append("public interface ").append(objectName).openBlock();
- for (ProtocolMetaModel.ObjectProperty property : propertyList) {
+ for (ObjectProperty property : propertyList) {
out.doc(property.description());
String methodName = Generator.generateMethodNameSubstitute(getName(property), out);
- MemberScope memberScope = newMemberScope(getName(property));
- QualifiedTypeData propertyTypeData = memberScope.resolveType(property);
+ MemberScope memberScope = new InputMemberScope(getName(property));
+ TypeDescriptor propertyTypeData = memberScope.resolveType(property);
propertyTypeData.writeAnnotations(out);
- out.append(propertyTypeData.getJavaType().getShortText(getClassContextNamespace()) + ' ' + methodName + "();").newLine();
+ out.append(propertyTypeData.getType().getShortText(getClassContextNamespace()) + ' ' + methodName + "();").newLine();
}
}
out.closeBlock();