private List<MethodSpec> buildFunctionDefinitions( String className, TypeSpec.Builder classBuilder, List<AbiDefinition> functionDefinitions) throws ClassNotFoundException { List<MethodSpec> methodSpecs = new ArrayList<>(); for (AbiDefinition functionDefinition : functionDefinitions) { if (functionDefinition.getType().equals("function")) { MethodSpec ms = buildFunction(functionDefinition); methodSpecs.add(ms); } else if (functionDefinition.getType().equals("event")) { methodSpecs.addAll(buildEventFunctions(functionDefinition, classBuilder)); } } return methodSpecs; }
Iterable<FieldSpec> buildFuncNameConstants(List<AbiDefinition> functionDefinitions) { List<FieldSpec> fields = new ArrayList<>(); Set<String> fieldNames = new HashSet<>(); fieldNames.add(Contract.FUNC_DEPLOY); for (AbiDefinition functionDefinition : functionDefinitions) { if (functionDefinition.getType().equals("function")) { String funcName = functionDefinition.getName(); if (!fieldNames.contains(funcName)) { FieldSpec field = FieldSpec.builder(String.class, funcNameToConst(funcName), Modifier.PUBLIC, Modifier.STATIC, Modifier.FINAL) .initializer("$S", funcName) .build(); fields.add(field); fieldNames.add(funcName); } } } return fields; }
@Override public int hashCode() { int result = (isConstant() ? 1 : 0); result = 31 * result + (getInputs() != null ? getInputs().hashCode() : 0); result = 31 * result + (getName() != null ? getName().hashCode() : 0); result = 31 * result + (getOutputs() != null ? getOutputs().hashCode() : 0); result = 31 * result + (getType() != null ? getType().hashCode() : 0); result = 31 * result + (isPayable() ? 1 : 0); result = 31 * result + (getStateMutability() != null ? getStateMutability().hashCode() : 0); return result; }
List<MethodSpec> methodSpecs = new ArrayList<>(); for (AbiDefinition functionDefinition : functionDefinitions) { if (functionDefinition.getType().equals("constructor")) { constructor = true; methodSpecs.add(buildDeploy(
@Test public void testParseConvertLib() throws Exception { Contract mc = parseContractJson(contractBaseDir, "MetaCoin", "ConvertLib"); assertEquals("Unexpected contract name", "ConvertLib", mc.getContractName()); assertEquals("Unexpected number of functions", 1, mc.abi.size()); AbiDefinition abi = mc.abi.get(0); assertEquals("Unexpected function name", "convert", abi.getName()); assertTrue("Expected function to be 'constant'", abi.isConstant()); assertFalse("Expected function to not be 'payable'", abi.isPayable()); assertEquals("Expected abi to represent a function", "function", abi.getType()); assertEquals("Expected the 'pure' for the state mutability setting", "pure", abi.getStateMutability()); } }
private List<MethodSpec> buildFunctionDefinitions( String className, TypeSpec.Builder classBuilder, List<AbiDefinition> functionDefinitions) throws ClassNotFoundException { List<MethodSpec> methodSpecs = new ArrayList<>(); for (AbiDefinition functionDefinition : functionDefinitions) { if (functionDefinition.getType().equals("function")) { MethodSpec ms = buildFunction(functionDefinition); methodSpecs.add(ms); } else if (functionDefinition.getType().equals("event")) { methodSpecs.addAll(buildEventFunctions(functionDefinition, classBuilder)); } } return methodSpecs; }
Iterable<FieldSpec> buildFuncNameConstants(List<AbiDefinition> functionDefinitions) { List<FieldSpec> fields = new ArrayList<>(); Set<String> fieldNames = new HashSet<>(); fieldNames.add(Contract.FUNC_DEPLOY); for (AbiDefinition functionDefinition : functionDefinitions) { if (functionDefinition.getType().equals("function")) { String funcName = functionDefinition.getName(); if (!fieldNames.contains(funcName)) { FieldSpec field = FieldSpec.builder(String.class, funcNameToConst(funcName), Modifier.PUBLIC, Modifier.STATIC, Modifier.FINAL) .initializer("$S", funcName) .build(); fields.add(field); fieldNames.add(funcName); } } } return fields; }
List<MethodSpec> methodSpecs = new ArrayList<>(); for (AbiDefinition functionDefinition : functionDefinitions) { if (functionDefinition.getType().equals("constructor")) { constructor = true; methodSpecs.add(buildDeploy(